Boost logo

Boost Users :

Subject: [Boost-users] FW: boost [regex] library icu building problems
From: Alex Perry (alex.perry_at_[hidden])
Date: 2009-03-28 14:25:57


Hi – I hope this is the appropriate list for posting this message – if not my apologies and could someone please redirect me.

I seem to have a problem building the boost.regex library with icu support on windows with the msvc toolset (MS Visual Studio 2005 professional).

Boost version is 1.35.0 (icu 3.8.1)

I have built this using bjam with a command like:-

bjam -sHAVE_ICU=1 --toolset=msvc stage

This all seems to work perfectly well and the library boost_regex-vc80-mt-1_35.lib and .dll are created which work (very well) and give me the required unicode regex support.

Unfortunately we have a memory leak in our application which I can’t catch using valgrind on our linux version so am suspecting a problem with windows specific code. I was trying to recompile our application so that it used the debug version of the crt so that I could put in some memory tracking calls to find out what was wrong.

However I have hit a snag with the boost library trying to do this.

Compiling our application with _DEBUG, BOOST_REGEX_DYN_LINK defined and /MDd (debug crt ) boost swaps to using the boost_regex-vc80-mt-gd-1_35.lib library.

I seem to have some difficulty building this version of the library with the optional icu support included.

I did :-

Bjam –sHAVE_ICU=1 –toolset=msvc –build-type=complete stage

But get an error in this case (I don’t for –build-type=minimal). The full output from bjam is below – I’m not quite sure what this error is meaning and what it is complaining about – do I need to configure something in common properties here? - if someone with more experience of bjam than me could point me towards the problem I would be very grateful.

The icuroot is pointing to where a copy of icu is living (d:/dependencies/icu/3.8.1/icu on this machine) and I have built a debug version of icu just in case this is what was wanted (using the provided allinone.sln shipped with the icu source) but doesn’t appear to make any difference.

Thanks in advance for your time

Alex Perry

Output from bjam:-

bjam -sHAVE_ICU=1 --toolset=msvc --build-type=complete stage

warning: Graph library does not contain optional GraphML reader.
note: to enable GraphML support, set EXPAT_INCLUDE and EXPAT_LIBPATH to the
note: directories containing the Expat headers and libraries, respectively.
warning: skipping optional Message Passing Interface (MPI) library.
note: to enable MPI support, add "using mpi ;" to user-config.jam.
note: to suppress this message, pass "--without-mpi" to bjam.
note: otherwise, you can safely ignore this message.
Skipping build of: ./stage <build>no in common properties
Skipping build of: ./stage <build>no in common properties
Skipping build of: ./stage <build>no in common properties
Skipping build of: ./stage <build>no in common properties
Skipping build of: libs/regex/build/icucore <build>no in common properties
Skipping build of: libs/regex/build/icuin <build>no in common properties
Skipping build of: libs/regex/build/icudata <build>no in common properties
D:/dependencies/Boost/boost_1_35_0/tools/build/v2/kernel\class.jam:93: in new
*** argument error
* rule object(searched-lib-target)@4237.__init__ ( name : project : shared ? : search * : action )
* called with: ( icudata icui18n icuuc : object(project-target)@209 : true : /D:/dependencies/ICU/3.8.1/icu/lib : object(null-ac
tion)@4236 : : : : )
* extra argument icui18n
D:/dependencies/Boost/boost_1_35_0/tools/build/v2/tools\builtin.jam:349:see definition of rule '__init__' being called
D:/dependencies/Boost/boost_1_35_0/tools/build/v2/tools\builtin.jam:592: in object(searched-lib-generator)@6.run
D:/dependencies/Boost/boost_1_35_0/tools/build/v2/build\generators.jam:859: in try-one-generator-really
D:/dependencies/Boost/boost_1_35_0/tools/build/v2/build\generators.jam:920: in try-one-generator
D:/dependencies/Boost/boost_1_35_0/tools/build/v2/build\generators.jam:1131: in construct-really
D:/dependencies/Boost/boost_1_35_0/tools/build/v2/build\generators.jam:1204: in generators.construct
D:/dependencies/Boost/boost_1_35_0/tools/build/v2/tools\builtin.jam:496: in object(lib-generator)@5.run
D:/dependencies/Boost/boost_1_35_0/tools/build/v2/build\generators.jam:859: in try-one-generator-really
D:/dependencies/Boost/boost_1_35_0/tools/build/v2/build\generators.jam:920: in try-one-generator
D:/dependencies/Boost/boost_1_35_0/tools/build/v2/build\generators.jam:1131: in construct-really
D:/dependencies/Boost/boost_1_35_0/tools/build/v2/build\generators.jam:1204: in generators.construct
D:/dependencies/Boost/boost_1_35_0/tools/build/v2/build\targets.jam:1368: in construct
D:/dependencies/Boost/boost_1_35_0/tools/build/v2/build\targets.jam:1206: in object(typed-target)@221.generate
D:/dependencies/Boost/boost_1_35_0/tools/build/v2/build\targets.jam:742: in generate-really
D:/dependencies/Boost/boost_1_35_0/tools/build/v2/build\targets.jam:715: in object(main-target)@818.generate
D:/dependencies/Boost/boost_1_35_0/tools/build/v2/build\targets.jam:254: in object(project-target)@209.generate
D:/dependencies/Boost/boost_1_35_0/tools/build/v2/build\targets.jam:858: in targets.generate-from-reference
D:/dependencies/Boost/boost_1_35_0/tools/build/v2/build\targets.jam:1129: in generate-dependencies
D:/dependencies/Boost/boost_1_35_0/tools/build/v2/build\targets.jam:1179: in object(install-target-class)@97.generate
D:/dependencies/Boost/boost_1_35_0/tools/build/v2/build\targets.jam:742: in generate-really
D:/dependencies/Boost/boost_1_35_0/tools/build/v2/build\targets.jam:715: in object(main-target)@365.generate
D:/dependencies/Boost/boost_1_35_0/tools/build/v2/build\targets.jam:858: in targets.generate-from-reference
D:/dependencies/Boost/boost_1_35_0/tools/build/v2/build\targets.jam:1129: in generate-dependencies
D:/dependencies/Boost/boost_1_35_0/tools/build/v2/build\targets.jam:1179: in object(alias-target-class)@103.generate
D:/dependencies/Boost/boost_1_35_0/tools/build/v2/build\targets.jam:742: in generate-really
D:/dependencies/Boost/boost_1_35_0/tools/build/v2/build\targets.jam:715: in object(main-target)@369.generate
D:/dependencies/Boost/boost_1_35_0/tools/build/v2\build-system.jam:658: in load
D:\dependencies\Boost\boost_1_35_0\tools\build\v2/kernel\modules.jam:267: in import
D:\dependencies\Boost\boost_1_35_0\tools\build\v2/kernel/bootstrap.jam:132: in boost-build
D:\dependencies\Boost\boost_1_35_0\boost-build.jam:11: in module scope

  



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net