
I grabbed the ICU bin for VS2010. I extracted the content into d:\icu so that d:\icu\include has the various includes. I set up the PATH variable to include d:\icu\bin... I copied boost and lib from the review into boost_1_46_1 where the root of boost source is. The docs seem to imply that I can get a build without ICU if I'm using Windows but this doesn't seem to be the case. I tried --without-icu and I got an error about using --with and --without for the same lib. Here's my attempt to build (with ICU installed): D:\boost_1_46_1\boost_1_46_1>bjam --build-dir=.\build toolset=msvc-10 --with-loc ale --prefix=d:\boost_msvc_1461 --layout=system -sICU_PATH=d:\icu stage Performing configuration checks - iconv (libc) : no - iconv (separate) : no - icu : no D:/boost_1_46_1/boost_1_46_1/tools/build/v2/build\virtual-target.jam:1079: in vi rtual-target.register-actual-name from module virtual-target error: Duplicate name of actual target: <pstage\lib>libboost_locale.lib error: previous virtual target { common%common.copy-libboost_locale.lib.STATIC_L IB { msvc%msvc.archive-libboost_locale.lib.STATIC_LIB { msvc%msvc.compile.c++-en coding\codepage.obj.OBJ { encoding/codepage.cpp.CPP } } { msvc%msvc.compile.c++- shared\date_time.obj.OBJ { shared/date_time.cpp.CPP } } { msvc%msvc.compile.c++- shared\format.obj.OBJ { shared/format.cpp.CPP } } { msvc%msvc.compile.c++-shared \formatting.obj.OBJ { shared/formatting.cpp.CPP } } { msvc%msvc.compile.c++-shar ed\generator.obj.OBJ { shared/generator.cpp.CPP } } { msvc%msvc.compile.c++-shar ed\ids.obj.OBJ { shared/ids.cpp.CPP } } { msvc%msvc.compile.c++-shared\localizat ion_backend.obj.OBJ { shared/localization_backend.cpp.CPP } } { msvc%msvc.compil e.c++-shared\message.obj.OBJ { shared/message.cpp.CPP } } { msvc%msvc.compile.c+ +-shared\mo_lambda.obj.OBJ { shared/mo_lambda.cpp.CPP } } { msvc%msvc.compile.c+ +-util\codecvt_converter.obj.OBJ { util/codecvt_converter.cpp.CPP } } { msvc%msv c.compile.c++-util\default_locale.obj.OBJ { util/default_locale.cpp.CPP } } { ms vc%msvc.compile.c++-util\info.obj.OBJ { util/info.cpp.CPP } } { msvc%msvc.compil e.c++-util\locale_data.obj.OBJ { util/locale_data.cpp.CPP } } { msvc%msvc.compil e.c++-std\codecvt.obj.OBJ { std/codecvt.cpp.CPP } } { msvc%msvc.compile.c++-std\ collate.obj.OBJ { std/collate.cpp.CPP } } { msvc%msvc.compile.c++-std\converter. obj.OBJ { std/converter.cpp.CPP } } { msvc%msvc.compile.c++-std\numeric.obj.OBJ { std/numeric.cpp.CPP } } { msvc%msvc.compile.c++-std\std_backend.obj.OBJ { std/ std_backend.cpp.CPP } } { msvc%msvc.compile.c++-util\gregorian.obj.OBJ { util/gr egorian.cpp.CPP } } { msvc%msvc.compile.c++-win32\collate.obj.OBJ { win32/collat e.cpp.CPP } } { msvc%msvc.compile.c++-win32\converter.obj.OBJ { win32/converter. cpp.CPP } } { msvc%msvc.compile.c++-win32\lcid.obj.OBJ { win32/lcid.cpp.CPP } } { msvc%msvc.compile.c++-win32\numeric.obj.OBJ { win32/numeric.cpp.CPP } } { msvc %msvc.compile.c++-win32\win_backend.obj.OBJ { win32/win_backend.cpp.CPP } } } } error: created from ./stage-proper error: another virtual target { common%common.copy-libboost_locale.lib.STATIC_LI B { msvc%msvc.archive-libboost_locale.lib.STATIC_LIB { msvc%msvc.compile.c++-enc oding\codepage.obj.OBJ { encoding/codepage.cpp.CPP } } { msvc%msvc.compile.c++-s hared\date_time.obj.OBJ { shared/date_time.cpp.CPP } } { msvc%msvc.compile.c++-s hared\format.obj.OBJ { shared/format.cpp.CPP } } { msvc%msvc.compile.c++-shared\ formatting.obj.OBJ { shared/formatting.cpp.CPP } } { msvc%msvc.compile.c++-share d\generator.obj.OBJ { shared/generator.cpp.CPP } } { msvc%msvc.compile.c++-share d\ids.obj.OBJ { shared/ids.cpp.CPP } } { msvc%msvc.compile.c++-shared\localizati on_backend.obj.OBJ { shared/localization_backend.cpp.CPP } } { msvc%msvc.compile .c++-shared\message.obj.OBJ { shared/message.cpp.CPP } } { msvc%msvc.compile.c++ -shared\mo_lambda.obj.OBJ { shared/mo_lambda.cpp.CPP } } { msvc%msvc.compile.c++ -util\codecvt_converter.obj.OBJ { util/codecvt_converter.cpp.CPP } } { msvc%msvc .compile.c++-util\default_locale.obj.OBJ { util/default_locale.cpp.CPP } } { msv c%msvc.compile.c++-util\info.obj.OBJ { util/info.cpp.CPP } } { msvc%msvc.compile .c++-util\locale_data.obj.OBJ { util/locale_data.cpp.CPP } } { msvc%msvc.compile .c++-std\codecvt.obj.OBJ { std/codecvt.cpp.CPP } } { msvc%msvc.compile.c++-std\c ollate.obj.OBJ { std/collate.cpp.CPP } } { msvc%msvc.compile.c++-std\converter.o bj.OBJ { std/converter.cpp.CPP } } { msvc%msvc.compile.c++-std\numeric.obj.OBJ { std/numeric.cpp.CPP } } { msvc%msvc.compile.c++-std\std_backend.obj.OBJ { std/s td_backend.cpp.CPP } } { msvc%msvc.compile.c++-util\gregorian.obj.OBJ { util/gre gorian.cpp.CPP } } { msvc%msvc.compile.c++-win32\collate.obj.OBJ { win32/collate .cpp.CPP } } { msvc%msvc.compile.c++-win32\converter.obj.OBJ { win32/converter.c pp.CPP } } { msvc%msvc.compile.c++-win32\lcid.obj.OBJ { win32/lcid.cpp.CPP } } { msvc%msvc.compile.c++-win32\numeric.obj.OBJ { win32/numeric.cpp.CPP } } { msvc% msvc.compile.c++-win32\win_backend.obj.OBJ { win32/win_backend.cpp.CPP } } } } error: created from ./stage-proper error: added properties: <debug-symbols>on <inlining>off <optimization>off <runt ime-debugging>on <variant>debug error: removed properties: <debug-symbols>off <define>NDEBUG <inlining>full <opt imization>speed <runtime-debugging>off <variant>release D:/boost_1_46_1/boost_1_46_1/tools/build/v2/build\virtual-target.jam:490: in act ualize-no-scanner from module object(file-target)@962 D:/boost_1_46_1/boost_1_46_1/tools/build/v2/build\virtual-target.jam:135: in obj ect(file-target)@962.actualize from module object(file-target)@962 D:/boost_1_46_1/boost_1_46_1/tools/build/v2\build-system.jam:748: in load from m odule build-system D:\boost_1_46_1\boost_1_46_1\tools\build\v2/kernel\modules.jam:283: in import fr om module modules D:\boost_1_46_1\boost_1_46_1\tools\build\v2\kernel\bootstrap.jam:142: in boost-b uild from module D:\boost_1_46_1\boost_1_46_1\boost-build.jam:17: in module scope from module D:\boost_1_46_1\boost_1_46_1> Any ideas?

----- Original Message ----
From: Noah Roberts <roberts.noah@gmail.com> To: boost@lists.boost.org Sent: Thu, April 14, 2011 11:48:35 PM Subject: [boost] [locale] trouble building
I grabbed the ICU bin for VS2010. I extracted the content into d:\icu so that d:\icu\include has the various includes.
I'd suggest you to build it from the provided solutions both debug and release versions - makes it all much easier especially for multi-variant builds. AFAIK provided ICU libraries are release only. So build it with provided solutions it shouldn't take too long.
I set up the PATH variable to include d:\icu\bin...
I copied boost and lib from the review into boost_1_46_1 where the root of boost source is.
The docs seem to imply that I can get a build without ICU if I'm using Windows but this doesn't seem to be the case. I tried --without-icu and I got an error about using --with and --without for the same lib.
First of all if ICU is not found it would be build automatically without it. You can also use explicitly boost.locale.icu=off in command line.
Here's my attempt to build (with ICU installed):
D:\boost_1_46_1\boost_1_46_1>bjam --build-dir=.\build toolset=msvc-10 --with-loc ale --prefix=d:\boost_msvc_1461 --layout=system -sICU_PATH=d:\icu stage Performing configuration checks
I'm not sure that layout=system is actually should be used on windows as you require mangled names for different binary incompatible versions like import lib, static library debug and release. AFAIK layout=system is used on Posix platforms where no need to "over-mangle" the library names as there is no binary incompatibilities between debug and release versions. Artyom

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 AMDG On 04/14/2011 02:03 PM, Artyom wrote:
Here's my attempt to build (with ICU installed):
D:\boost_1_46_1\boost_1_46_1>bjam --build-dir=.\build toolset=msvc-10 --with-loc ale --prefix=d:\boost_msvc_1461 --layout=system -sICU_PATH=d:\icu stage Performing configuration checks
I'm not sure that layout=system is actually should be used on windows as you require mangled names for different binary incompatible versions like import lib, static library debug and release.
It should not. If you do use --layout=system, you need to pick a single build variant. (--build-type=minimal should work.) This is the cause of the reported error.
AFAIK layout=system is used on Posix platforms where no need to "over-mangle" the library names as there is no binary incompatibilities between debug and release versions.
In Christ, Steven Watanabe -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJNp2sYAAoJEDTBQuhymLHSf5sH/RvDbvgjwmP7qMlEguN6IH02 Ts1RNiXPFLPY7h8Tv2j+iSI8eVrJC6s8MijPdvHCgk6XLQKd3YSKEwbFsxJ3hz31 I0UvIm60/UAS1Hv3YR0UItmssr2oxhlLMJbel+W/i9WV3Xcbh8TrKlm+j8HL0J7x P+Ito0jzh2QnVyJMY6SMmsCTKflMn2IHypAPlrc7goJlWxoQsauqFV+NtRQEyJZ3 qkJGorGxnrsU7BHN0x92OIlFwq0ZSWNLoe8Nrc93e64PKWMriV3ktjkcpR/4Hxpq M9BucJzncWdlA9P+80V8LxZkd82Yje8WfFl5OtmbV6174lSFyeHnGGk2xNa8vlA= =Gl+4 -----END PGP SIGNATURE-----

On 4/14/2011 2:46 PM, Steven Watanabe wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
AMDG
On 04/14/2011 02:03 PM, Artyom wrote:
Here's my attempt to build (with ICU installed):
D:\boost_1_46_1\boost_1_46_1>bjam --build-dir=.\build toolset=msvc-10 --with-loc ale --prefix=d:\boost_msvc_1461 --layout=system -sICU_PATH=d:\icu stage Performing configuration checks
I'm not sure that layout=system is actually should be used on windows as you require mangled names for different binary incompatible versions like import lib, static library debug and release.
It should not. If you do use --layout=system, you need to pick a single build variant. (--build-type=minimal should work.) This is the cause of the reported error.
Yup. Thanks. It's compiling stuff now.
participants (3)
-
Artyom
-
Noah Roberts
-
Steven Watanabe