O2 build failing on Mojave in DDS

Dear experts,

When trying to buid o2 on macOS Mojave using boost from homebrew building DDS fails when creating the worker package, obviously because it doesn’t find libicudata. See log below. ICU was however installed from homebrew as well, only DDS doesn’t seem to find it. Is there some way to overcome this issue?

Thanks in advance!

Cheers

Markus

DEBUG:O2:DDS:run3: [100%] Generate WN binary package
DEBUG:O2:DDS:run3: – Using BOOST Library dir: /usr/local/opt/boost/lib
DEBUG:O2:DDS:run3: – prerequisite dirs: /Users/markusfasel/alice/sw/BUILD/523c3340405bbc478c0ef9de2c9b18065bc32c5e/DDS/dds-user-defaults;/Users/markusfasel/alice/sw/BUILD/523c3340405bbc478c0ef9de2c9b18065bc32c5e/DDS/dds-protocol-lib;/Users/markusfasel/alice/sw/BUILD/523c3340405bbc478c0ef9de2c9b18065bc32c5e/DDS/dds-intercom-lib;/Users/markusfasel/alice/sw/BUILD/523c3340405bbc478c0ef9de2c9b18065bc32c5e/DDS/dds-topology-lib;/Users/markusfasel/alice/sw/BUILD/523c3340405bbc478c0ef9de2c9b18065bc32c5e/DDS/MiscCommon/dds_ncf;/usr/local/opt/boost/lib;
DEBUG:O2:DDS:run3: WN PKG prerequisite=’/usr/local/opt/boost/lib/libboost_atomic-mt.dylib’
DEBUG:O2:DDS:run3: WN PKG prerequisite=’/usr/local/opt/boost/lib/libboost_chrono-mt.dylib’
DEBUG:O2:DDS:run3: WN PKG prerequisite=’/usr/local/opt/boost/lib/libboost_date_time-mt.dylib’
DEBUG:O2:DDS:run3: WN PKG prerequisite=’/usr/local/opt/boost/lib/libboost_filesystem-mt.dylib’
DEBUG:O2:DDS:run3: WN PKG prerequisite=’/usr/local/opt/boost/lib/libboost_log-mt.dylib’
DEBUG:O2:DDS:run3: WN PKG prerequisite=’/usr/local/opt/boost/lib/libboost_log_setup-mt.dylib’
DEBUG:O2:DDS:run3: WN PKG prerequisite=’/usr/local/opt/boost/lib/libboost_program_options-mt.dylib’
DEBUG:O2:DDS:run3: WN PKG prerequisite=’/usr/local/opt/boost/lib/libboost_regex-mt.dylib’
DEBUG:O2:DDS:run3: WN PKG prerequisite=’/usr/local/opt/boost/lib/libboost_signals-mt.dylib’
DEBUG:O2:DDS:run3: WN PKG prerequisite=’/usr/local/opt/boost/lib/libboost_system-mt.dylib’
DEBUG:O2:DDS:run3: WN PKG prerequisite=’/usr/local/opt/boost/lib/libboost_thread-mt.dylib’
DEBUG:O2:DDS:run3: –
DEBUG:O2:DDS:run3: warning: cannot resolve item ‘libicudata.63.1.dylib’
DEBUG:O2:DDS:run3:
DEBUG:O2:DDS:run3: possible problems:
DEBUG:O2:DDS:run3: need more directories?
DEBUG:O2:DDS:run3: need to use InstallRequiredSystemLibraries?
DEBUG:O2:DDS:run3: run in install tree instead of build tree?
DEBUG:O2:DDS:run3:
DEBUG:O2:DDS:run3: WN PKG prerequisite=‘libicudata.63.1.dylib’
DEBUG:O2:DDS:run3: CMake Error at /Users/markusfasel/alice/sw/SOURCES/DDS/2.2/2.2/cmake/modules/DDS_CollectPrerequisites.cmake:33 (file):
DEBUG:O2:DDS:run3: file COPY cannot find
DEBUG:O2:DDS:run3: “/Users/markusfasel/alice/sw/BUILD/523c3340405bbc478c0ef9de2c9b18065bc32c5e/DDS/libicudata.63.1.dylib”.
DEBUG:O2:DDS:run3:
DEBUG:O2:DDS:run3:
DEBUG:O2:DDS:run3: make[3]: *** [CMakeFiles/wn_bin] Error 1
DEBUG:O2:DDS:run3: make[2]: *** [CMakeFiles/wn_bin.dir/all] Error 2
DEBUG:O2:DDS:run3: make[1]: *** [CMakeFiles/wn_bin.dir/rule] Error 2
DEBUG:O2:DDS:run3: make: *** [wn_bin] Error 2
DEBUG:O2:DDS:run3:
ERROR:O2:DDS:run3: Error while executing /Users/markusfasel/alice/sw/SPECS/osx_x86-64/DDS/2.2-1/build.sh on `mfasel-utkbook.dyndns.cern.ch’.
ERROR:O2:DDS:run3: Log can be found in /Users/markusfasel/alice/sw/BUILD/DDS-latest/log.
ERROR:O2:DDS:run3: Please upload it to CERNBox/Dropbox if you intend to request support.
ERROR:O2:DDS:run3: Build directory is /Users/markusfasel/alice/sw/BUILD/DDS-latest/DDS.

Hi Markus,

Was it working before and suddenly not working any more ? or is it a first attempt at building ?
Also, does the file /usr/local/Cellar/icu4c/63.1/lib/libicudata.63.1.dylib exist ?

It seems like DDS was configured and that the setup was changed after. Maybe, deleting /Users/markusfasel/alice/sw/BUILD/523c3340405bbc478c0ef9de2c9b18065bc32c5e/ could help ?

Cheers

Hi Barthelemy,

Well, before it has worked for me but now I am installing it on a fresh Mojave installation and get this problem (so it is the first attempt to build on a fresh machine). The library file is there in the location you mention.

Removing the build and source directory also didn’t help.

Cheers

Markus

Hi,

I have exactly the same problem. I suspect that this is related to a recent update in boost from brew that makes it dependent on icu4c: https://github.com/Homebrew/homebrew-core/pull/35735.
Looking at the boost recipe in alidist, my understanding is that it should be compiled without icu. And comparing with colleagues who did a fresh install before the brew update, it seems it was the case before.

Assuming it is indeed the problem, I am not sure how to fix it. I could try removing boost from brew and take it from alisw, but maybe there is a better solution?

Thanks for your help!
Philippe

It’s indeed an issue triggered by a change in homebrew. Peter had the same problem a couple of days ago. I have a tentative workaround is now at:

but I think a proper fix requires DDS upstream intervention.

Hi,

with the updated build recipe of DDS I still run into troubles building the wn package due to the libicudata issue, also removing the build directory didn’t help.

Cheers

Markus

Should be fixed…

Hi Giulio,

OK, it worked now. Thanks a lot for your help!

Cheers

Markus