
Hi, I recently installed boost v1.42, everything seemed fine, but now I'm trying to use the regex-library -- and cannot compile/link my code anymore. gcc tells me that upon linking it cannot find 'libicudata.so.38', 'libicui18n.so.38', and 'libicuuc.so.38' and complaints about a number of undefined references. Indeed I have icu40 not 38 installed on my system. Just providing symbolic links with the appropriate names does not help. I then tried updating my boost build with bjam. But bjam also complaints (with ./bjam --with-regex toolset=gcc -sHAVE_ICU=1 -sICU_PATH=/usr/lib): warning! ICU configuration failed Couldn't find utypes.h in /usr/lib/include/unicode warning: Building Boost.Regex with the optional Unicode/ICU support disabled. There are no further warnings, yet linking still results in undefined references. 'utypes.h' is nowhere on my system and apparently does not come with the icu-dev package. I am running the current Ubuntu (9.10), all updates installed. boost ist compiled on my system, no package involved. And I'm using gcc 4.4 - if that matters. Now, could this be a versions issue? Any hint on where to look further? Any ideas? TIA Christian

AMDG Christian Meesters wrote:
I recently installed boost v1.42, everything seemed fine, but now I'm trying to use the regex-library -- and cannot compile/link my code anymore.
gcc tells me that upon linking it cannot find 'libicudata.so.38', 'libicui18n.so.38', and 'libicuuc.so.38' and complaints about a number of undefined references. Indeed I have icu40 not 38 installed on my system. Just providing symbolic links with the appropriate names does not help.
What is the linker command line?
I then tried updating my boost build with bjam. But bjam also complaints (with ./bjam --with-regex toolset=gcc -sHAVE_ICU=1 -sICU_PATH=/usr/lib):
warning! ICU configuration failed Couldn't find utypes.h in /usr/lib/include/unicode warning: Building Boost.Regex with the optional Unicode/ICU support disabled.
There are no further warnings, yet linking still results in undefined references.
I assume that the undefined references are to ICU functions? They shouldn't be coming from Boost.Regex, since if you're missing utypes.h, I would expect your code to not compile if it tried to use ICU.
'utypes.h' is nowhere on my system and apparently does not come with the icu-dev package.
This header is needed for Boost.Regex to use ICU. Do you have other ICU headers?
I am running the current Ubuntu (9.10), all updates installed. boost ist compiled on my system, no package involved. And I'm using gcc 4.4 - if that matters.
Now, could this be a versions issue? Any hint on where to look further? Any ideas?
In Christ, Steven Watanabe

What is the linker command line? g++ -o progname -fopenmp trunk/src/x.o trunk/src/y.o trunk/src/z.o
trunk/src/progname.o -lboost_program_options -lboost_regex But that's apparently not the problem (see below).
I assume that the undefined references are to ICU functions? They shouldn't be coming from Boost.Regex, since if you're missing utypes.h, I would expect your code to not compile if it tried to use ICU.
Meanwhile I got bjam to do the right thing. I misunderstood the docs in this point: A simple "./bjam --with-regex toolset=gcc install" is completely sufficient. Now the linking does not yield any warnings / errors and the program is running again. Anyway, thanks for the pointers! Cheers Christian
participants (2)
-
Christian Meesters
-
Steven Watanabe