Boost logo

Boost Users :

Subject: [Boost-users] Trouble building boost-1.48.0 with mingw 4.5.2
From: Jose Carlos Rodríguez Rodríguez (jcarlos.ciber_at_[hidden])
Date: 2011-11-21 12:03:40


Hi! My first e-mail to the list. :) I am Spanish. Sorry for my English, :/

Boost is a blessing. I have not words.

I like to build the library in Windows 7 (VC2010, MingW with gcc-4.5.2) and
Linux (Ubuntu 11.10 with gcc-4.6.1).
No problem with VC2010. No problem with Ubuntu 11.10 with gcc-4.6.1.
However i am unable with MinGW gcc-4.5.2.

My steps (works with boost-1.47.0 perfectly(?))):

1. Open mSYS

2. ./bootstrap.sh --with-toolset=mingw

3. Open project-config.bjam and modify...

# Compiler configuration. This definition will be used unless
# you already have defined some toolsets in your user-config.jam
# file.
- if ! mingw in [ feature.values <toolset> ]
- {
- using mingw ;
- }

- project : default-build <toolset>mingw ;
+ project : default-build <toolset>gcc ;

3. mkdir stage

4. bjam -a --build-dir="./stage/" --build-type=complete toolset=gcc stage

I get:

    - has_icu builds : no
warning: Graph library does not contain MPI-based parallel components.
note: to enable them, add "using mpi ;" to your user-config.jam
    - iconv (libc) : no
    - iconv (separate) : yes
    - icu : no
    - icu (lib64) : no
    - g++ -shared-* supported : yes
    - ../config//has_gcc_visibility builds : no
    - ../config//has_long_double_support builds : yes
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.
warning: No python installation configured and autoconfiguration
note: failed. See http://www.boost.org/libs/python/doc/building.html
note: for configuration instructions or pass --without-python to
note: suppress this message and silently skip all Boost.Python targets
V:/OFI-SJLJ-GCC452-32b/MinGW/msys/1.0/home/IUCTC/boost_1_48_0/tools/build/v2/build\virtual-target.jam:1079:
in virtual-target.register-actual-name from module virtual-target
error: Duplicate name of actual target:
<pstage\lib>libboost_exception-mgw45-mt-1_48.a
error: previous virtual target {
common%common.copy-libboost_exception-mgw45-mt-1_48.a.STATIC_LIB {
gcc%gcc.archive-libboost_exception-mgw45-mt-1_48.a.STATIC_LIB {
gcc%gcc.compile.c++-clone_current_exception_non_intrusive.o.OBJ {
clone_current_exception_non_intrusive.cpp.CPP } } } }
error: created from ./stage-proper
error: another virtual target {
common%common.copy-libboost_exception-mgw45-mt-1_48.a.STATIC_LIB {
gcc%gcc.archive-libboost_exception-mgw45-mt-1_48.a.STATIC_LIB {
gcc%gcc.compile.c++-clone_current_exception_non_intrusive.o.OBJ {
clone_current_exception_non_intrusive.cpp.CPP } } } }
error: created from ./stage-proper
error: added properties: <linkflags>-shared-libgcc
<linkflags>-shared-libstdc++
error: removed properties: none
V:/OFI-SJLJ-GCC452-32b/MinGW/msys/1.0/home/IUCTC/boost_1_48_0/tools/build/v2/build\virtual-target.jam:490:
in actualize-no-scanner from module object(file-target)@4649
V:/OFI-SJLJ-GCC452-32b/MinGW/msys/1.0/home/IUCTC/boost_1_48_0/tools/build/v2/build\virtual-target.jam:135:
in object(file-target)@4649.actualize from module object(file-target)@4649
V:/OFI-SJLJ-GCC452-32b/MinGW/msys/1.0/home/IUCTC/boost_1_48_0/tools/build/v2\build-system.jam:749:
in load from module build-system
V:\OFI-SJLJ-GCC452-32b\MinGW\msys\1.0\home\IUCTC\boost_1_48_0\tools\build\v2/kernel\modules.jam:283:
in import from module modules
V:\OFI-SJLJ-GCC452-32b\MinGW\msys\1.0\home\IUCTC\boost_1_48_0\tools\build\v2\kernel\bootstrap.jam:142:
in boost-build from module
V:\OFI-SJLJ-GCC452-32b\MinGW\msys\1.0\home\IUCTC\boost_1_48_0\boost-build.jam:17:
in module scope from module

However, with flag "minimal"

4. bjam -a --build-dir="./stage/" --build-type=minimal toolset=gcc stage

Performing configuration checks

    - has_icu builds : no
warning: Graph library does not contain MPI-based parallel components.
note: to enable them, add "using mpi ;" to your user-config.jam
    - iconv (libc) : no
    - iconv (separate) : yes
    - icu : no
    - icu (lib64) : no
    - ../config//has_gcc_visibility builds : no
    - ../config//has_long_double_support builds : yes
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.
warning: No python installation configured and autoconfiguration
note: failed. See http://www.boost.org/libs/python/doc/building.html
note: for configuration instructions or pass --without-python to
note: suppress this message and silently skip all Boost.Python targets

Component configuration:

    - chrono : building
    - date_time : building
    - exception : building
    - filesystem : building
    - graph : building
    - graph_parallel : building
    - iostreams : building
    - locale : building
    - math : building
    - mpi : building
    - program_options : building
    - python : building
    - random : building
    - regex : building
    - serialization : building
    - signals : building
    - system : building
    - test : building
    - thread : building
    - timer : building
    - wave : building

...patience...
...patience...
...patience...
...patience...
...found 6852 targets...
...updating 913 targets...
common.mkdir stage\lib
common.mkdir
stage\boost\bin.v2\libs\regex\build\gcc-mingw-4.5.2\debug\link-static
common.mkdir
stage\boost\bin.v2\libs\regex\build\gcc-mingw-4.5.2\debug\link-static\threading-multi
gcc.compile.c++
stage\boost\bin.v2\libs\regex\build\gcc-mingw-4.5.2\debug\link-static\threading-multi\c_regex_traits.o
gcc.compile.c++
stage\boost\bin.v2\libs\regex\build\gcc-mingw-4.5.2\debug\link-static\threading-multi\cpp_regex_traits.o
gcc.compile.c++
stage\boost\bin.v2\libs\regex\build\gcc-mingw-4.5.2\debug\link-static\threading-multi\cregex.o
gcc.compile.c++
stage\boost\bin.v2\libs\regex\build\gcc-mingw-4.5.2\debug\link-static\threading-multi\fileiter.o
gcc.compile.c++
stage\boost\bin.v2\libs\regex\build\gcc-mingw-4.5.2\debug\link-static\threading-multi\icu.o
gcc.compile.c++
stage\boost\bin.v2\libs\regex\build\gcc-mingw-4.5.2\debug\link-static\threading-multi\instances.o
gcc.compile.c++
stage\boost\bin.v2\libs\regex\build\gcc-mingw-4.5.2\debug\link-static\threading-multi\posix_api.o

...
...
...
works!

But...I need a full building. :(

Help!

Thank you in advance. :)

JC



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