Failing to build dynamic regexp libraries on Mac OS X
Building dynamic regular experssion libraries fails on Mac OS X Tiger , when attempting to link against ICU. I would appreciate any hint on how to fix this. All the ICU libraries are present in /usr/local/lib, so I wonder if I need to add -licudata to the build somehow. (As can be seen from the build log, only -licui18n and -licuuc are added to the command line. (I've tried to edit the boost distribution files that refer to theese flags, to also include -icudata , but the command line passed to the tools don't change, so how do I do it) ./tools/jam/src/bin.macosxppc/bjam -sICU_PATH=/usr/local --user- config=user-config.jam Building Boost.Regex with Unicode/ICU support enabled Using ICU in /usr/local/include ...patience... ...patience... ...found 4691 targets... ...updating 4 targets... darwin.link.dll bin.v2/libs/regex/build/darwin/release/threading- multi/libboost_regex-mt-1_34_1.dylib ld: warning can't open dynamic library: libicudata.36.dylib referenced from: /usr/local/lib/libicui18n.dylib (checking for undefined symbols may be affected) (No such file or directory, errno = 2) ld: Undefined symbols: _icudt36_dat referenced from libicuuc.36 expected to be defined in libicudata.36.dylib /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/libtool: internal link edit command failed g++ -dynamiclib -o "bin.v2/libs/regex/build/darwin/release/ threading-multi/libboost_regex-mt-1_34_1.dylib" "bin.v2/libs/regex/ build/darwin/release/threading-multi/c_regex_traits.o" "bin.v2/libs/ regex/build/darwin/release/threading-multi/cpp_regex_traits.o" "bin.v2/libs/regex/build/darwin/release/threading-multi/cregex.o" "bin.v2/libs/regex/build/darwin/release/threading-multi/fileiter.o" "bin.v2/libs/regex/build/darwin/release/threading-multi/icu.o" "bin.v2/libs/regex/build/darwin/release/threading-multi/instances.o" "bin.v2/libs/regex/build/darwin/release/threading-multi/posix_api.o" "bin.v2/libs/regex/build/darwin/release/threading-multi/regex.o" "bin.v2/libs/regex/build/darwin/release/threading-multi/ regex_debug.o" "bin.v2/libs/regex/build/darwin/release/threading- multi/regex_raw_buffer.o" "bin.v2/libs/regex/build/darwin/release/ threading-multi/regex_traits_defaults.o" "bin.v2/libs/regex/build/ darwin/release/threading-multi/static_mutex.o" "bin.v2/libs/regex/ build/darwin/release/threading-multi/w32_regex_traits.o" "bin.v2/libs/ regex/build/darwin/release/threading-multi/wc_regex_traits.o" "bin.v2/ libs/regex/build/darwin/release/threading-multi/wide_posix_api.o" "bin.v2/libs/regex/build/darwin/release/threading-multi/winstances.o" "bin.v2/libs/regex/build/darwin/release/threading-multi/ usinstances.o" -licui18n -licuuc ...failed darwin.link.dll bin.v2/libs/regex/build/darwin/release/ threading-multi/libboost_regex-mt-1_34_1.dylib... darwin.link.dll bin.v2/libs/regex/build/darwin/debug/libboost_regex- d-1_34_1.dylib ld: warning can't open dynamic library: libicudata.36.dylib referenced from: /usr/local/lib/libicui18n.dylib (checking for undefined symbols may be affected) (No such file or directory, errno = 2) ld: Undefined symbols: _icudt36_dat referenced from libicuuc.36 expected to be defined in libicudata.36.dylib /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/libtool: internal link edit command failed g++ -dynamiclib -o "bin.v2/libs/regex/build/darwin/debug/ libboost_regex-d-1_34_1.dylib" "bin.v2/libs/regex/build/darwin/debug/ c_regex_traits.o" "bin.v2/libs/regex/build/darwin/debug/ cpp_regex_traits.o" "bin.v2/libs/regex/build/darwin/debug/cregex.o" "bin.v2/libs/regex/build/darwin/debug/fileiter.o" "bin.v2/libs/regex/ build/darwin/debug/icu.o" "bin.v2/libs/regex/build/darwin/debug/ instances.o" "bin.v2/libs/regex/build/darwin/debug/posix_api.o" "bin.v2/libs/regex/build/darwin/debug/regex.o" "bin.v2/libs/regex/ build/darwin/debug/regex_debug.o" "bin.v2/libs/regex/build/darwin/ debug/regex_raw_buffer.o" "bin.v2/libs/regex/build/darwin/debug/ regex_traits_defaults.o" "bin.v2/libs/regex/build/darwin/debug/ static_mutex.o" "bin.v2/libs/regex/build/darwin/debug/ w32_regex_traits.o" "bin.v2/libs/regex/build/darwin/debug/ wc_regex_traits.o" "bin.v2/libs/regex/build/darwin/debug/ wide_posix_api.o" "bin.v2/libs/regex/build/darwin/debug/winstances.o" "bin.v2/libs/regex/build/darwin/debug/usinstances.o" -licui18n - licuuc -g ...failed darwin.link.dll bin.v2/libs/regex/build/darwin/debug/ libboost_regex-d-1_34_1.dylib... darwin.link.dll bin.v2/libs/regex/build/darwin/release/ libboost_regex-1_34_1.dylib ld: warning can't open dynamic library: libicudata.36.dylib referenced from: /usr/local/lib/libicui18n.dylib (checking for undefined symbols may be affected) (No such file or directory, errno = 2) ld: Undefined symbols: _icudt36_dat referenced from libicuuc.36 expected to be defined in libicudata.36.dylib /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/libtool: internal link edit command failed g++ -dynamiclib -o "bin.v2/libs/regex/build/darwin/release/ libboost_regex-1_34_1.dylib" "bin.v2/libs/regex/build/darwin/release/ c_regex_traits.o" "bin.v2/libs/regex/build/darwin/release/ cpp_regex_traits.o" "bin.v2/libs/regex/build/darwin/release/cregex.o" "bin.v2/libs/regex/build/darwin/release/fileiter.o" "bin.v2/libs/ regex/build/darwin/release/icu.o" "bin.v2/libs/regex/build/darwin/ release/instances.o" "bin.v2/libs/regex/build/darwin/release/ posix_api.o" "bin.v2/libs/regex/build/darwin/release/regex.o" "bin.v2/ libs/regex/build/darwin/release/regex_debug.o" "bin.v2/libs/regex/ build/darwin/release/regex_raw_buffer.o" "bin.v2/libs/regex/build/ darwin/release/regex_traits_defaults.o" "bin.v2/libs/regex/build/ darwin/release/static_mutex.o" "bin.v2/libs/regex/build/darwin/ release/w32_regex_traits.o" "bin.v2/libs/regex/build/darwin/release/ wc_regex_traits.o" "bin.v2/libs/regex/build/darwin/release/ wide_posix_api.o" "bin.v2/libs/regex/build/darwin/release/ winstances.o" "bin.v2/libs/regex/build/darwin/release/usinstances.o" -licui18n -licuuc ...failed darwin.link.dll bin.v2/libs/regex/build/darwin/release/ libboost_regex-1_34_1.dylib... darwin.link.dll bin.v2/libs/regex/build/darwin/debug/threading-multi/ libboost_regex-mt-d-1_34_1.dylib ld: warning can't open dynamic library: libicudata.36.dylib referenced from: /usr/local/lib/libicui18n.dylib (checking for undefined symbols may be affected) (No such file or directory, errno = 2) ld: Undefined symbols: _icudt36_dat referenced from libicuuc.36 expected to be defined in libicudata.36.dylib /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/libtool: internal link edit command failed g++ -dynamiclib -o "bin.v2/libs/regex/build/darwin/debug/ threading-multi/libboost_regex-mt-d-1_34_1.dylib" "bin.v2/libs/regex/ build/darwin/debug/threading-multi/c_regex_traits.o" "bin.v2/libs/ regex/build/darwin/debug/threading-multi/cpp_regex_traits.o" "bin.v2/ libs/regex/build/darwin/debug/threading-multi/cregex.o" "bin.v2/libs/ regex/build/darwin/debug/threading-multi/fileiter.o" "bin.v2/libs/ regex/build/darwin/debug/threading-multi/icu.o" "bin.v2/libs/regex/ build/darwin/debug/threading-multi/instances.o" "bin.v2/libs/regex/ build/darwin/debug/threading-multi/posix_api.o" "bin.v2/libs/regex/ build/darwin/debug/threading-multi/regex.o" "bin.v2/libs/regex/build/ darwin/debug/threading-multi/regex_debug.o" "bin.v2/libs/regex/build/ darwin/debug/threading-multi/regex_raw_buffer.o" "bin.v2/libs/regex/ build/darwin/debug/threading-multi/regex_traits_defaults.o" "bin.v2/ libs/regex/build/darwin/debug/threading-multi/static_mutex.o" "bin.v2/ libs/regex/build/darwin/debug/threading-multi/w32_regex_traits.o" "bin.v2/libs/regex/build/darwin/debug/threading-multi/ wc_regex_traits.o" "bin.v2/libs/regex/build/darwin/debug/threading- multi/wide_posix_api.o" "bin.v2/libs/regex/build/darwin/debug/ threading-multi/winstances.o" "bin.v2/libs/regex/build/darwin/debug/ threading-multi/usinstances.o" -licui18n -licuuc -g ...failed darwin.link.dll bin.v2/libs/regex/build/darwin/debug/ threading-multi/libboost_regex-mt-d-1_34_1.dylib... ...failed updating 4 targets... Not all Boost libraries built properly. ------------------------------------- This sig is dedicated to the advancement of Nuclear Power Tommy Nordgren tommy.nordgren@comhem.se
Tommy Nordgren wrote:
Building dynamic regular experssion libraries fails on Mac OS X Tiger , when attempting to link against ICU. I would appreciate any hint on how to fix this. All the ICU libraries are present in /usr/local/lib, so I wonder if I need to add -licudata to the build somehow. (As can be seen from the build log, only -licui18n and -licuuc are added to the command line. (I've tried to edit the boost distribution files that refer to theese flags, to also include -icudata , but the command line passed to the tools don't change, so how do I do it)
Try: bjam -sHAVE_ICU=1 linkflags=-licudata Let me know if that fixes things, and then I'll update the build script accordingly. HTH, John.
On 1 sep 2007, at 18.27, John Maddock wrote:
Tommy Nordgren wrote:
Building dynamic regular experssion libraries fails on Mac OS X Tiger , when attempting to link against ICU. I would appreciate any hint on how to fix this. All the ICU libraries are present in /usr/local/lib, so I wonder if I need to add -licudata to the build somehow. (As can be seen from the build log, only -licui18n and -licuuc are added to the command line. (I've tried to edit the boost distribution files that refer to theese flags, to also include -icudata , but the command line passed to the tools don't change, so how do I do it)
Try:
bjam -sHAVE_ICU=1 linkflags=-licudata
Let me know if that fixes things, and then I'll update the build script accordingly.
HTH, John.
Copying bjam to a directory in the PATH, and running the above commandline did not help. Bjam tried to build with toolset gcc instead of toolset darwin. What DID work was modifying -"libs/regex/build/Jamfile.v2", the modified version of which is included with this message, and then rerunning ./configure and make. ----- What is a woman that you forsake her, and the hearth fire and the home acre, to go with the old grey Widow Maker. --Kipling, harp song of the Dane women Tommy Nordgren tommy.nordgren@comhem.se
participants (2)
-
John Maddock
-
Tommy Nordgren