Boost logo

Boost-Build :

Subject: [Boost-build] [newbee] building Boost + ICU ...
From: Robert Hartmann (Robert_Hartmann_at_[hidden])
Date: 2014-04-30 14:10:15


Hi,
 there I tried to build Boost with ICU-support under Windows from source.

My Question is, why does the build-sep find ICU header files to compile
the
file "has_icu_test.o" but the linker step failes with "undefined reference
to `u_charFromName_52'"

MinGW GCC/G++ is installed under C:\MinGW.
With this compiler suite I build ICU (version 52.1) from source and
installed it into the directory C:\MinGW-build.

my call to build Boost was (all in one line)

b2 -d+2 -a -j7 -sICU_PATH=C:\MinGW-build -sICU_LINK="
-LC:/MinGW-build/lib"
--without-mpi --without-context --without-coroutine --reconfigure
--debug-configuration --debug-building
--prefix=C:\MinGW-build-tmp\MinGW-build
--stagedir=C:\MinGW-build-tmp\boost-tmp\stage
--build-dir=C:\MinGW-build-tmp\boost-tmp --build-type=complete
include=C:\MinGW-build\include;C:\MinGW\include address-model=32
toolset=gcc
stage

excerpt from the log:

common.mkdir
C:\MinGW-build-tmp\boost-tmp\boost\bin.v2\libs\regex\build\gcc-mingw-
4.7.2\debug\address-model-32

        if not exist
"C:\MinGW-build-tmp\boost-tmp\boost\bin.v2\libs\regex\build\gcc-mingw-
4.7.2\debug\address-model-32\\"
mkdir
"C:\MinGW-build-tmp\boost-tmp\boost\bin.v2\libs\regex\build\gcc-mingw-
4.7.2\debug\address-model-32"

gcc.compile.c++
C:\MinGW-build-tmp\boost-tmp\boost\bin.v2\libs\regex\build\gcc-mingw-
4.7.2\debug\address-model-32\has_icu_test.o

    "g++" -ftemplate-depth-128 -O0 -fno-inline -Wall -pedantic -g -m32
-DBOOST_ALL_NO_LIB=1 -DBOOST_HAS_ICU=1 -I"." -I"C:\MinGW-build\include"
-I"C:\MinGW-build\include;C:\MinGW\include" -c -o
"C:\MinGW-build-tmp\boost-tmp\boost\bin.v2\libs\regex\build\gcc-mingw-
4.7.2\debug\address-model-32\has_icu_test.o"
"libs\regex\build\has_icu_test.cpp"

libs\regex\build\has_icu_test.cpp: In Funktion »int main()«:
libs\regex\build\has_icu_test.cpp:24:12: Warnung: Variable »c« wird nicht
verwendet [-Wunused-variable]
gcc.link
C:\MinGW-build-tmp\boost-tmp\boost\bin.v2\libs\regex\build\gcc-mingw-
4.7.2\debug\address-model-32\has_icu.exe

    "g++" -Wl,-R -Wl,"C:\MinGW-build\bin" -o
"C:\MinGW-build-tmp\boost-tmp\boost\bin.v2\libs\regex\build\gcc-mingw-
4.7.2\debug\address-model-32\has_icu.exe"
-Wl,--start-group
"C:\MinGW-build-tmp\boost-tmp\boost\bin.v2\libs\regex\build\gcc-mingw-
4.7.2\debug\address-model-32\has_icu_test.o"
 -Wl,-Bstatic -Wl,-Bdynamic -Wl,--end-group -g -m32 -LC:/MinGW-build/lib

C:\MinGW-build-tmp\boost-tmp\boost\bin.v2\libs\regex\build\gcc-mingw-
4.7.2\debug\address-model-32\has_icu_test.o:
In function `main':
C:\MinGW-build-tmp\boost_1_55_0/libs/regex/build/has_icu_test.cpp:24:
undefined reference to `u_charFromName_52'
collect2.exe: Fehler: ld gab 1 als Ende-Status zurück
...failed updating 1 target...
Performing configuration checks

    - has_icu builds : no

Best regards,
Robert


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk