Boost logo

Boost-Build :

Subject: [Boost-build] Unable to build Boost 1.48.0 with MinGW-W64
From: Davidson, Josh (josh.davidson_at_[hidden])
Date: 2011-12-10 02:25:45


I'm running into a build problem with the latest release of Boost (1.48.0) where it complains about duplicate actual and virtual targets. Real quickly, this here is a summary of the build process that I've successfully used on previous releases (most recently 1.47.0):

1. C:\TEMP\boost_1_48_0\tools\build\v2\engine>build.bat mingw --toolset-root=c:\mingw64-i686-20110207
2. C:\TEMP\boost_1_48_0>bootstrap.bat mingw --toolset-root=c:\mingw64-i686-20110207 --with-python-root=C:\Python26
3. Update python.jam (https://svn.boost.org/trac/boost/ticket/3625)
4. bjam.exe --toolset=gcc --build-type=complete --build-dir=C:\TEMP\boost_bld\build --stagedir=C:\TEMP\boost_bld\stage --address-model=64 define=BOOST_USE_WINDOWS_H define=MS_WIN64 threadapi=win32 target-os=windows stage

It doesn't seem to be one particular library that's causing the problems. I'm providing the build output below and you can see it bombs out on test. If I add --without-test to the bjam invocation, a similar problem occurs with the exception library. Oddly, if I simply build either test or exception individually, both build fine.

-----------------------------------------------------------------------------------------------------------
C:\TEMP\boost_1_48_0>bjam.exe --toolset=gcc --build-type=complete --build-dir=C:\TEMP\boost_bld\build --stagedir=C:\TEMP\boost_bld\stage --address-model=64 define=BOOST_USE_WINDOWS_H define=MS_WIN64 threadapi=win32 target-os=windows stage
...found 19 targets...
...updating 10 targets...
common.mkdir C:\TEMP\boost_bld\build
common.mkdir C:\TEMP\boost_bld\build\boost
common.mkdir C:\TEMP\boost_bld\build\boost\bin.v2
common.mkdir C:\TEMP\boost_bld\build\boost\bin.v2\libs
common.mkdir C:\TEMP\boost_bld\build\boost\bin.v2\libs\regex
common.mkdir C:\TEMP\boost_bld\build\boost\bin.v2\libs\regex\build
common.mkdir C:\TEMP\boost_bld\build\boost\bin.v2\libs\regex\build\gcc-mingw-4.5.3
common.mkdir C:\TEMP\boost_bld\build\boost\bin.v2\libs\regex\build\gcc-mingw-4.5.3\debug
gcc.compile.c++ C:\TEMP\boost_bld\build\boost\bin.v2\libs\regex\build\gcc-mingw-4.5.3\debug\has_icu_test.o
     ****** {BD Software Proxy c++ v3.50 for gcc} STL Message Decryption is Off ******
libs\regex\build\has_icu_test.cpp:12:30: fatal error: unicode/uversion.h: No such file or directory
compilation terminated.

    "g++" -ftemplate-depth-128 -O0 -fno-inline -Wall -pedantic -g -DBOOST_ALL_NO_LIB=1 -DBOOST_HAS_ICU=1 -DBOOST_USE_WINDOWS_H -DMS_WIN64 -I"."
-c -o "C:\TEMP\boost_bld\build\boost\bin.v2\libs\regex\build\gcc-mingw-4.5.3\debug\has_icu_test.o" "libs\regex\build\has_icu_test.cpp"

...failed gcc.compile.c++ C:\TEMP\boost_bld\build\boost\bin.v2\libs\regex\build\gcc-mingw-4.5.3\debug\has_icu_test.o...
...skipped <pC:\TEMP\boost_bld\build\boost\bin.v2\libs\regex\build\gcc-mingw-4.5.3\debug>has_icu.exe for lack of <pC:\TEMP\boost_bld\build\boost\bin.v2\libs\regex\build\gcc-mingw-4.5.3\debug>has_icu_test.o...
...failed updating 1 target...
...skipped 1 target...
...updated 8 targets...
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
...found 9 targets...
...updating 6 targets...
common.mkdir C:\TEMP\boost_bld\build\boost\bin.v2\libs\locale
common.mkdir C:\TEMP\boost_bld\build\boost\bin.v2\libs\locale\build
common.mkdir C:\TEMP\boost_bld\build\boost\bin.v2\libs\locale\build\gcc-mingw-4.5.3
common.mkdir C:\TEMP\boost_bld\build\boost\bin.v2\libs\locale\build\gcc-mingw-4.5.3\debug
gcc.compile.c++ C:\TEMP\boost_bld\build\boost\bin.v2\libs\locale\build\gcc-mingw-4.5.3\debug\has_iconv_libc_obj.o
     ****** {BD Software Proxy c++ v3.50 for gcc} STL Message Decryption is Off ******
libs\locale\src\..\build\has_iconv.cpp:8:19: fatal error: iconv.h: No such file or directory
compilation terminated.

    "g++" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -DBOOST_ALL_NO_LIB=1 -DBOOST_USE_WINDOWS_H -DMS_WIN64 -I"." -c -o "C:\TEMP\boost_bld\build\boost\bin.v2\libs\locale\build\gcc-mingw-4.5.3\debug\has_iconv_libc_obj.o" "libs\locale\src\..\build\has_iconv.cpp"

...failed gcc.compile.c++ C:\TEMP\boost_bld\build\boost\bin.v2\libs\locale\build\gcc-mingw-4.5.3\debug\has_iconv_libc_obj.o...
...skipped <pC:\TEMP\boost_bld\build\boost\bin.v2\libs\locale\build\gcc-mingw-4.5.3\debug>has_iconv.exe for lack of <pC:\TEMP\boost_bld\build\boost\bin.v2\libs\locale\build\gcc-mingw-4.5.3\debug>has_iconv_libc_obj.o...
...failed updating 1 target...
...skipped 1 target...
...updated 4 targets...
    - iconv (libc) : no
...found 2 targets...
...updating 2 targets...
gcc.compile.c++ C:\TEMP\boost_bld\build\boost\bin.v2\libs\locale\build\gcc-mingw-4.5.3\debug\has_iconv_libc_ext.o
     ****** {BD Software Proxy c++ v3.50 for gcc} STL Message Decryption is Off ******
libs\locale\src\..\build\has_iconv.cpp:8:19: fatal error: iconv.h: No such file or directory
compilation terminated.

    "g++" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -DBOOST_ALL_NO_LIB=1 -DBOOST_USE_WINDOWS_H -DMS_WIN64 -I"." -c -o "C:\TEMP\boost_bld\build\boost\bin.v2\libs\locale\build\gcc-mingw-4.5.3\debug\has_iconv_libc_ext.o" "libs\locale\src\..\build\has_iconv.cpp"

...failed gcc.compile.c++ C:\TEMP\boost_bld\build\boost\bin.v2\libs\locale\build\gcc-mingw-4.5.3\debug\has_iconv_libc_ext.o...
...skipped <pC:\TEMP\boost_bld\build\boost\bin.v2\libs\locale\build\gcc-mingw-4.5.3\debug>has_external_iconv.exe for lack of <pC:\TEMP\boost_bld\build\boost\bin.v2\libs\locale\build\gcc-mingw-4.5.3\debug>has_iconv_libc_ext.o...
...failed updating 1 target...
...skipped 1 target...
    - iconv (separate) : no
...found 5 targets...
...updating 2 targets...
gcc.compile.c++ C:\TEMP\boost_bld\build\boost\bin.v2\libs\locale\build\gcc-mingw-4.5.3\debug\has_icu_obj.o
     ****** {BD Software Proxy c++ v3.50 for gcc} STL Message Decryption is Off ******
libs\locale\src\..\build\has_icu_test.cpp:12:30: fatal error: unicode/uversion.h: No such file or directory
compilation terminated.

    "g++" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -DBOOST_ALL_NO_LIB=1 -DBOOST_USE_WINDOWS_H -DMS_WIN64 -I"." -c -o "C:\TEMP\boost_bld\build\boost\bin.v2\libs\locale\build\gcc-mingw-4.5.3\debug\has_icu_obj.o" "libs\locale\src\..\build\has_icu_test.cpp"

...failed gcc.compile.c++ C:\TEMP\boost_bld\build\boost\bin.v2\libs\locale\build\gcc-mingw-4.5.3\debug\has_icu_obj.o...
...skipped <pC:\TEMP\boost_bld\build\boost\bin.v2\libs\locale\build\gcc-mingw-4.5.3\debug>has_icu.exe for lack of <pC:\TEMP\boost_bld\build\boost\bin.v2\libs\locale\build\gcc-mingw-4.5.3\debug>has_icu_obj.o...
...failed updating 1 target...
...skipped 1 target...
    - icu : no
...found 2 targets...
...updating 2 targets...
gcc.compile.c++ C:\TEMP\boost_bld\build\boost\bin.v2\libs\locale\build\gcc-mingw-4.5.3\debug\has_icu64_obj.o
     ****** {BD Software Proxy c++ v3.50 for gcc} STL Message Decryption is Off ******
libs\locale\src\..\build\has_icu_test.cpp:12:30: fatal error: unicode/uversion.h: No such file or directory
compilation terminated.

    "g++" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -DBOOST_ALL_NO_LIB=1 -DBOOST_USE_WINDOWS_H -DMS_WIN64 -I"." -c -o "C:\TEMP\boost_bld\build\boost\bin.v2\libs\locale\build\gcc-mingw-4.5.3\debug\has_icu64_obj.o" "libs\locale\src\..\build\has_icu_test.cpp"

...failed gcc.compile.c++ C:\TEMP\boost_bld\build\boost\bin.v2\libs\locale\build\gcc-mingw-4.5.3\debug\has_icu64_obj.o...
...skipped <pC:\TEMP\boost_bld\build\boost\bin.v2\libs\locale\build\gcc-mingw-4.5.3\debug>has_icu64.exe for lack of <pC:\TEMP\boost_bld\build\boost\bin.v2\libs\locale\build\gcc-mingw-4.5.3\debug>has_icu64_obj.o...
...failed updating 1 target...
...skipped 1 target...
    - icu (lib64) : no
...found 4 targets...
...updating 2 targets...
gcc.compile.c++ C:\TEMP\boost_bld\build\boost\bin.v2\libs\locale\build\gcc-mingw-4.5.3\debug\option.o
     ****** {BD Software Proxy c++ v3.50 for gcc} STL Message Decryption is Off ******
g++: unrecognized option '-shared-libstdc++'
gcc.link C:\TEMP\boost_bld\build\boost\bin.v2\libs\locale\build\gcc-mingw-4.5.3\debug\accepts_shared_option.exe
g++: unrecognized option '-shared-libstdc++'
...updated 2 targets...
    - g++ -shared-* supported : yes
...found 7 targets...
...updating 5 targets...
common.mkdir C:\TEMP\boost_bld\build\boost\bin.v2\libs\math
common.mkdir C:\TEMP\boost_bld\build\boost\bin.v2\libs\math\config
common.mkdir C:\TEMP\boost_bld\build\boost\bin.v2\libs\math\config\gcc-mingw-4.5.3
common.mkdir C:\TEMP\boost_bld\build\boost\bin.v2\libs\math\config\gcc-mingw-4.5.3\debug
gcc.compile.c++ C:\TEMP\boost_bld\build\boost\bin.v2\libs\math\config\gcc-mingw-4.5.3\debug\has_gcc_visibility.o
     ****** {BD Software Proxy c++ v3.50 for gcc} STL Message Decryption is Off ******
cc1plus.exe: warnings being treated as errors
libs\math\config\has_gcc_visibility.cpp: In function 'int main()':
libs\math\config\has_gcc_visibility.cpp:13:1: error: visibility attribute not supported in this configuration; ignored

    "g++" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -Werror -fvisibility=hidden -DBOOST_ALL_NO_LIB=1 -DBOOST_USE_WINDOWS_H -DMS_WIN64 -I"." -c -o "C:\TEMP\boost_bld\build\boost\bin.v2\libs\math\config\gcc-mingw-4.5.3\debug\has_gcc_visibility.o" "libs\math\config\has_gcc_visibility.cpp"

...failed gcc.compile.c++ C:\TEMP\boost_bld\build\boost\bin.v2\libs\math\config\gcc-mingw-4.5.3\debug\has_gcc_visibility.o...
...failed updating 1 target...
...updated 4 targets...
    - ../config//has_gcc_visibility builds : no
...found 47 targets...
...updating 1 target...
gcc.compile.c++ C:\TEMP\boost_bld\build\boost\bin.v2\libs\math\config\gcc-mingw-4.5.3\debug\has_long_double_support.o
     ****** {BD Software Proxy c++ v3.50 for gcc} STL Message Decryption is Off ******
...updated 1 target...
    - ../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.
C:/TEMP/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: <pC:\TEMP\boost_bld\stage\lib>libboost_test_exec_monitor-mgw45-d-1_48.a
error: previous virtual target { common%common.copy-libboost_test_exec_monitor-mgw45-d-1_48.a.STATIC_LIB { gcc%gcc.archive-libboost_test_exec_monitor-mgw45-d-1_48.a.STATIC_LIB { gcc%gcc.compile.c++-compiler_log_formatter.o.OBJ { compiler_log_formatter.cpp.CPP } } { gcc%gcc.compile.c++-debug.o.OBJ { debug.cpp.CPP } } { gcc%gcc.compile.c++-execution_monitor.o.OBJ { execution_monitor.cpp.CPP } } { gcc%gcc.compile.c++-framework.o.OBJ { framework.cpp.CPP } } { gcc%gcc.compile.c++-plain_report_formatter.o.OBJ { plain_report_formatter.cpp.CPP } } { gcc%gcc.compile.c++-progress_monitor.o.OBJ { progress_monitor.cpp.CPP } } { gcc%gcc.compile.c++-results_collector.o.OBJ { results_collector.cpp.CPP } } { gcc%gcc.compile.c++-results_reporter.o.OBJ { results_reporter.cpp.CPP } } { gcc%gcc.compile.c++-test_main.o.OBJ { test_main.cpp.CPP } } { gcc%gcc.compile.c++-test_tools.o.OBJ { test_tools.cpp.CPP } } { gcc%gcc.compile.c++-unit_test_log.o.OBJ { unit_test_log.cpp.CPP } } { gcc%gcc.compile.c++-unit_test_main.o.OBJ { unit_test_main.cpp.CPP } } { gcc%gcc.compile.c++-unit_test_monitor.o.OBJ { unit_test_monitor.cpp.CPP } } { gcc%gcc.compile.c++-unit_test_parameters.o.OBJ { unit_test_parameters.cpp.CPP } } { gcc%gcc.compile.c++-unit_test_suite.o.OBJ { unit_test_suite.cpp.CPP } } { gcc%gcc.compile.c++-xml_log_formatter.o.OBJ { xml_log_formatter.cpp.CPP } } { gcc%gcc.compile.c++-xml_report_formatter.o.OBJ { xml_report_formatter.cpp.CPP } } } }
error: created from ./stage-proper
error: another virtual target { common%common.copy-libboost_test_exec_monitor-mgw45-d-1_48.a.STATIC_LIB { gcc%gcc.archive-libboost_test_exec_monitor-mgw45-d-1_48.a.STATIC_LIB { gcc%gcc.compile.c++-compiler_log_formatter.o.OBJ { compiler_log_formatter.cpp.CPP } } { gcc%gcc.compile.c++-debug.o.OBJ { debug.cpp.CPP } } { gcc%gcc.compile.c++-execution_monitor.o.OBJ { execution_monitor.cpp.CPP } } { gcc%gcc.compile.c++-framework.o.OBJ { framework.cpp.CPP } } { gcc%gcc.compile.c++-plain_report_formatter.o.OBJ { plain_report_formatter.cpp.CPP } } { gcc%gcc.compile.c++-progress_monitor.o.OBJ { progress_monitor.cpp.CPP } } { gcc%gcc.compile.c++-results_collector.o.OBJ { results_collector.cpp.CPP } } { gcc%gcc.compile.c++-results_reporter.o.OBJ { results_reporter.cpp.CPP } } { gcc%gcc.compile.c++-test_main.o.OBJ { test_main.cpp.CPP } } { gcc%gcc.compile.c++-test_tools.o.OBJ { test_tools.cpp.CPP } } { gcc%gcc.compile.c++-unit_test_log.o.OBJ { unit_test_log.cpp.CPP } } { gcc%gcc.compile.c++-unit_test_main.o.OBJ { unit_test_main.cpp.CPP } } { gcc%gcc.compile.c++-unit_test_monitor.o.OBJ { unit_test_monitor.cpp.CPP } } { gcc%gcc.compile.c++-unit_test_parameters.o.OBJ { unit_test_parameters.cpp.CPP } } { gcc%gcc.compile.c++-unit_test_suite.o.OBJ { unit_test_suite.cpp.CPP } } { gcc%gcc.compile.c++-xml_log_formatter.o.OBJ { xml_log_formatter.cpp.CPP } } { gcc%gcc.compile.c++-xml_report_formatter.o.OBJ { xml_report_formatter.cpp.CPP } } } }
error: created from ./stage-proper
error: added properties: none
error: removed properties: <linkflags>-shared-libgcc <linkflags>-shared-libstdc++
C:/TEMP/boost_1_48_0/tools/build/v2/build\virtual-target.jam:490: in actualize-no-scanner from module object(file-target)@24792
C:/TEMP/boost_1_48_0/tools/build/v2/build\virtual-target.jam:135: in object(file-target)@24792.actualize from module object(file-target)@24792
C:/TEMP/boost_1_48_0/tools/build/v2\build-system.jam:749: in load from module build-system
C:\TEMP\boost_1_48_0\tools\build\v2/kernel\modules.jam:283: in import from module modules
C:\TEMP\boost_1_48_0\tools\build\v2\kernel\bootstrap.jam:142: in boost-build from module
C:\TEMP\boost_1_48_0\boost-build.jam:17: in module scope from module


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