Heterogeneous gerrit_mac considered harmful

Stephan Bergmann sbergman at redhat.com
Sat Dec 7 10:37:03 UTC 2019


After 
<https://gerrit.libreoffice.org/plugins/gitiles/core/+/7e403195e574be5174815a51cf5c42f06f76a87a%5E!> 
"Introduce o3tl::optional as an alias for std::optional", including 
<o3tl/optional.hxx> rather than <boost/optional.hpp> still carries a 
dependency on boost_headers.  The reason is that for macOS builds with 
Xcode < 10, o3tl::optional is still an alias for boost::optional.

<https://gerrit.libreoffice.org/plugins/gitiles/core/+/a8cd98c437f2c3b5c4f7c139aa7223c5cfb74d1a%5E!> 
"use o3tl::optional instead of pointer" added such an include of 
<o3tl/optional.hxx> to include/vcl/bitmapex.hxx, which caused many 
CppunitTests to (indirectly) grow a dependency on boost_headers.  The 
commit failed to add those dependencies but unfortunately got a 
Verified+1 from Jenkins, which happened to do the gerrit_mac build on 
tb84 (<https://ci.libreoffice.org/job/gerrit_mac/48364/>).  The log of 
that build doesn't reveal the version of Xcode used, but some random 
other gerrit_mac build on tb84 that happened to run configure shows: 
"checking whether Xcode is new enough... yes (11.2.1)" 
(<https://ci.libreoffice.org/job/gerrit_mac/48644/consoleFull>).

Only some unrelated Gerrit changes that happened to do their gerrit_mac 
builds on other machines failed, see e.g. 
<https://ci.libreoffice.org/job/gerrit_mac/48648/> on tb57, where: 
"checking whether Xcode is new enough... yes (9.3.1)".

It would IMO be ideal if all gerrit_mac machines used the same baseline 
setup.  Lacking that, please be careful when adding new includes of 
<o3tl/optional.hxx>, especially in widely used include files.

(The missing dependencies mentioned above have meanwhile been fixed with 
<https://gerrit.libreoffice.org/plugins/gitiles/core/+/97b3e455802cfc08568ec5e8379c509efe3e47b1%5E!> 
"Fix some new dependencies on boost_headers" and 
<https://gerrit.libreoffice.org/plugins/gitiles/core/+/83375454ca1151fabf797f0c47cc8d10156ebc98%5E!> 
"Fix more new dependencies on boost_headers".)



More information about the LibreOffice mailing list