Boost logo

Boost Users :

Subject: [Boost-users] Building modular-boost on windows with masm32?
From: Alle Meije Wink (a.m.wink_at_[hidden])
Date: 2014-07-01 03:29:58


Dear all,

I have tried to build modular-boost on windows (win7 64bit) using the mingw
toolset.

The steps that I followed (after some trial & error) are:

1. clone boost-modular from into
    %home%\usr\local\boost

2. in that boost directory; type
    bootstrap mingw

===========output===============
Building Boost.Build engine

Bootstrapping is done. To build, run:

    .\b2

To adjust configuration, edit 'project-config.jam'.
Further information:

    - Command line help:
    .\b2 --help

    - Getting started guide:
    http://boost.org/more/getting_started/windows.html

    - Boost.Build documentation:
    http://www.boost.org/boost-build2/doc/html/index.html
================================

3. after apparently successful bootstrap, type
    b2 -a -d+2 -q --prefix=c:\users\amwink\usr\local --build-type=complete
--build-dir=build toolset=gcc link=shared runtime-link=shared

The output is below. So the commands cl.exe and ml.exe, which are not in
mingw but can be used from the masm32 package are found, but their output
is not recognised (as I understand)

Is that correct? Would there be a way around this other than installing
VC++?

Many thanks
Alle Meije

===========output===============
Building the Boost C++ Libraries.

Performing configuration checks

    - symlinks supported : yes (cached)
    - 32-bit : yes (cached)
    - arm : no (cached)
    - mips1 : no (cached)
    - power : no (cached)
    - sparc : no (cached)
    - x86 : yes (cached)
    - has_icu builds : no (cached)
warning: Graph library does not contain MPI-based parallel components.
note: to enable them, add "using mpi ;" to your user-config.jam
    - zlib : no (cached)
    - iconv (libc) : no (cached)
    - iconv (separate) : yes (cached)
    - icu : no (cached)
    - icu (lib64) : no (cached)
    - g++ -shared-* supported : no (cached)
    - message-compiler : no (cached)
    - compiler-supports-ssse3 : yes (cached)
    - compiler-supports-avx2 : yes (cached)
    - gcc visibility : yes (cached)
    - long double support : yes (cached)
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
    - zlib : no (cached)
    - zlib : no (cached)
warning: Skipping Boost.Locale library with threading=single.
warning: Skipping Boost.Thread library with threading=single.
warning: Skipping Boost.Wave library with threading=single.
    - zlib : no (cached)

Component configuration:

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

gcc.compile.c++
build\boost\bin.v2\libs\atomic\build\gcc-mingw-4.8.1\release\threading-multi\lockpool.o

    "g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall
-mthreads -DBOOST_ALL_NO_LIB=1 -DBOOST_ATOMIC_DYN_LINK=1
-DBOOST_ATOMIC_SOURCE -DBOOST_USE_WINDOWS_H -DNDEBUG -D_WIN32_WINNT=0x0500
-I"." -c -o
"build\boost\bin.v2\libs\atomic\build\gcc-mingw-4.8.1\release\threading-multi\lockpool.o"
"libs\atomic\src\lockpool.cpp"

gcc.link.dll
build\boost\bin.v2\libs\atomic\build\gcc-mingw-4.8.1\release\threading-multi\libboost_atomic-mgw48-mt-1_56.dll.a

    "g++"
"-Wl,--out-implib,build\boost\bin.v2\libs\atomic\build\gcc-mingw-4.8.1\release\threading-multi\libboost_atomic-mgw48-mt-1_56.dll.a"
-o
"build\boost\bin.v2\libs\atomic\build\gcc-mingw-4.8.1\release\threading-multi\libboost_atomic-mgw48-mt-1_56.dll"
-shared -Wl,--start-group
"build\boost\bin.v2\libs\atomic\build\gcc-mingw-4.8.1\release\threading-multi\lockpool.o"
-Wl,-Bstatic -Wl,-Bdynamic -Wl,--end-group -mthreads -lkernel32

common.copy stage\lib\libboost_atomic-mgw48-mt-1_56.dll.a

    copy /b
"build\boost\bin.v2\libs\atomic\build\gcc-mingw-4.8.1\release\threading-multi\libboost_atomic-mgw48-mt-1_56.dll.a"
+ this-file-does-not-exist-A698EE7806899E69
"stage\lib\libboost_atomic-mgw48-mt-1_56.dll.a"

build\boost\bin.v2\libs\atomic\build\gcc-mingw-4.8.1\release\threading-multi\libboost_atomic-mgw48-mt-1_56.dll.a
        1 file(s) copied.
common.copy stage\lib\libboost_atomic-mgw48-mt-1_56.dll

    copy /b
"build\boost\bin.v2\libs\atomic\build\gcc-mingw-4.8.1\release\threading-multi\libboost_atomic-mgw48-mt-1_56.dll"
+ this-file-does-not-exist-A698EE7806899E69
"stage\lib\libboost_atomic-mgw48-mt-1_56.dll"

build\boost\bin.v2\libs\atomic\build\gcc-mingw-4.8.1\release\threading-multi\libboost_atomic-mgw48-mt-1_56.dll
        1 file(s) copied.
gcc.compile.c++
build\boost\bin.v2\libs\system\build\gcc-mingw-4.8.1\release\threading-multi\error_code.o

    "g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall
-pedantic -mthreads -DBOOST_ALL_NO_LIB=1 -DBOOST_SYSTEM_DYN_LINK=1
-DNDEBUG -I"." -c -o
"build\boost\bin.v2\libs\system\build\gcc-mingw-4.8.1\release\threading-multi\error_code.o"
"libs\system\src\error_code.cpp"

gcc.link.dll
build\boost\bin.v2\libs\system\build\gcc-mingw-4.8.1\release\threading-multi\libboost_system-mgw48-mt-1_56.dll.a

    "g++"
"-Wl,--out-implib,build\boost\bin.v2\libs\system\build\gcc-mingw-4.8.1\release\threading-multi\libboost_system-mgw48-mt-1_56.dll.a"
-o
"build\boost\bin.v2\libs\system\build\gcc-mingw-4.8.1\release\threading-multi\libboost_system-mgw48-mt-1_56.dll"
-shared -Wl,--start-group
"build\boost\bin.v2\libs\system\build\gcc-mingw-4.8.1\release\threading-multi\error_code.o"
-Wl,-Bstatic -Wl,-Bdynamic -Wl,--end-group -mthreads

common.copy stage\lib\libboost_system-mgw48-mt-1_56.dll.a

    copy /b
"build\boost\bin.v2\libs\system\build\gcc-mingw-4.8.1\release\threading-multi\libboost_system-mgw48-mt-1_56.dll.a"
+ this-file-does-not-exist-A698EE7806899E69
"stage\lib\libboost_system-mgw48-mt-1_56.dll.a"

build\boost\bin.v2\libs\system\build\gcc-mingw-4.8.1\release\threading-multi\libboost_system-mgw48-mt-1_56.dll.a
        1 file(s) copied.
common.copy stage\lib\libboost_system-mgw48-mt-1_56.dll

    copy /b
"build\boost\bin.v2\libs\system\build\gcc-mingw-4.8.1\release\threading-multi\libboost_system-mgw48-mt-1_56.dll"
+ this-file-does-not-exist-A698EE7806899E69
"stage\lib\libboost_system-mgw48-mt-1_56.dll"

build\boost\bin.v2\libs\system\build\gcc-mingw-4.8.1\release\threading-multi\libboost_system-mgw48-mt-1_56.dll
        1 file(s) copied.
gcc.compile.c++
build\boost\bin.v2\libs\chrono\build\gcc-mingw-4.8.1\release\threading-multi\chrono.o

    "g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall
-pedantic -mthreads -Wextra -Wno-long-long -Wno-variadic-macros -pedantic
-DBOOST_ALL_DYN_LINK=1 -DBOOST_ALL_NO_LIB=1 -DBOOST_SYSTEM_DYN_LINK=1
-DBOOST_SYSTEM_NO_DEPRE
CATED -DNDEBUG -I"." -c -o
"build\boost\bin.v2\libs\chrono\build\gcc-mingw-4.8.1\release\threading-multi\chrono.o"
"lib
s\chrono\src\chrono.cpp"

gcc.compile.c++
build\boost\bin.v2\libs\chrono\build\gcc-mingw-4.8.1\release\threading-multi\thread_clock.o

    "g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall
-pedantic -mthreads -Wextra -Wno-long-long -Wno
-variadic-macros -pedantic -DBOOST_ALL_DYN_LINK=1 -DBOOST_ALL_NO_LIB=1
-DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_SYSTEM_NO_DEPRECATED -DNDEBUG -I"." -c
-o
"build\boost\bin.v2\libs\chrono\build\gcc-mingw-4.8.1\release\threading-multi\thread_clock.o
" "libs\chrono\src\thread_clock.cpp"

gcc.compile.c++
build\boost\bin.v2\libs\chrono\build\gcc-mingw-4.8.1\release\threading-multi\process_cpu_clocks.o

    "g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall
-pedantic -mthreads -Wextra -Wno-long-long -Wno-variadic-macros -pedantic
-DBOOST_ALL_DYN_LINK=1 -DBOOST_ALL_NO_LIB=1 -DBOOST_SYSTEM_DYN_LINK=1
-DBOOST_SYSTEM_NO_DEPRE
CATED -DNDEBUG -I"." -c -o
"build\boost\bin.v2\libs\chrono\build\gcc-mingw-4.8.1\release\threading-multi\process_cpu_clocks.o"
"libs\chrono\src\process_cpu_clocks.cpp"

gcc.link.dll
build\boost\bin.v2\libs\chrono\build\gcc-mingw-4.8.1\release\threading-multi\libboost_chrono-mgw48-mt-1_56.dll.a

    "g++"
"-Wl,--out-implib,build\boost\bin.v2\libs\chrono\build\gcc-mingw-4.8.1\release\threading-multi\libboost_chrono-mgw48-mt-1_56.dll.a"
-o
"build\boost\bin.v2\libs\chrono\build\gcc-mingw-4.8.1\release\threading-multi\libboost_chrono-mgw48-mt-1_56.dll"
-shared -Wl,--start-group
"build\boost\bin.v2\libs\chrono\build\gcc-mingw-4.8.1\release\threading-m
ulti\chrono.o"
"build\boost\bin.v2\libs\chrono\build\gcc-mingw-4.8.1\release\threading-multi\thread_clock.o"
"build\boost\bin.v2\libs\chrono\build\gcc-mingw-4.8.1\release\threading-multi\process_cpu_clocks.o"
"build\boost\bin.v2\libs\system\build\gcc-mingw-4.8.1\release\threading-multi\libboost_system-mgw48-mt-1_56.dll.a"
-Wl,-Bstatic -Wl,-Bdynamic -Wl,--end-group -mthreads

common.copy stage\lib\libboost_chrono-mgw48-mt-1_56.dll.a

    copy /b
"build\boost\bin.v2\libs\chrono\build\gcc-mingw-4.8.1\release\threading-multi\libboost_chrono-mgw48-mt-1_56.dll.a"
+ this-file-does-not-exist-A698EE7806899E69
"stage\lib\libboost_chrono-mgw48-mt-1_56.dll.a"

build\boost\bin.v2\libs\chrono\build\gcc-mingw-4.8.1\release\threading-multi\libboost_chrono-mgw48-mt-1_56.dll.a
        1 file(s) copied.
common.copy stage\lib\libboost_chrono-mgw48-mt-1_56.dll

    copy /b
"build\boost\bin.v2\libs\chrono\build\gcc-mingw-4.8.1\release\threading-multi\libboost_chrono-mgw48-mt-1_56.dll"
+ this-file-does-not-exist-A698EE7806899E69
"stage\lib\libboost_chrono-mgw48-mt-1_56.dll"

build\boost\bin.v2\libs\chrono\build\gcc-mingw-4.8.1\release\threading-multi\libboost_chrono-mgw48-mt-1_56.dll
        1 file(s) copied.
gcc.compile.c
build\boost\bin.v2\libs\container\build\gcc-mingw-4.8.1\release\threading-multi\alloc_lib.o

    "g++" -x c -O3 -finline-functions -Wno-inline -Wall -mthreads
-DBOOST_ALL_NO_LIB=1 -DBOOST_CONTAINER_DYN_LINK=1 -DN
DEBUG -I"." -c -o
"build\boost\bin.v2\libs\container\build\gcc-mingw-4.8.1\release\threading-multi\alloc_lib.o"
"libs\container\src\alloc_lib.c"

gcc.link.dll
build\boost\bin.v2\libs\container\build\gcc-mingw-4.8.1\release\threading-multi\libboost_container-mgw48-mt-1_56.dll.a

    "g++"
"-Wl,--out-implib,build\boost\bin.v2\libs\container\build\gcc-mingw-4.8.1\release\threading-multi\libboost_container-mgw48-mt-1_56.dll.a"
-o
"build\boost\bin.v2\libs\container\build\gcc-mingw-4.8.1\release\threading-multi\libboost_container-mgw48-mt-1_56.dll"
-shared -Wl,--start-group
"build\boost\bin.v2\libs\container\build\gcc-mingw-4.8.1\release\threading-multi\alloc_lib.o"
-Wl,-Bstatic -Wl,-Bdynamic -Wl,--end-group -mthreads

common.copy stage\lib\libboost_container-mgw48-mt-1_56.dll.a

    copy /b
"build\boost\bin.v2\libs\container\build\gcc-mingw-4.8.1\release\threading-multi\libboost_container-mgw48-mt-1_56.dll.a"
+ this-file-does-not-exist-A698EE7806899E69
"stage\lib\libboost_container-mgw48-mt-1_56.dll.a"

build\boost\bin.v2\libs\container\build\gcc-mingw-4.8.1\release\threading-multi\libboost_container-mgw48-mt-1_56.dll.a
        1 file(s) copied.
common.copy stage\lib\libboost_container-mgw48-mt-1_56.dll

    copy /b
"build\boost\bin.v2\libs\container\build\gcc-mingw-4.8.1\release\threading-multi\libboost_container-mgw48-mt-1_56.dll"
+ this-file-does-not-exist-A698EE7806899E69
"stage\lib\libboost_container-mgw48-mt-1_56.dll"

build\boost\bin.v2\libs\container\build\gcc-mingw-4.8.1\release\threading-multi\libboost_container-mgw48-mt-1_56.dll
        1 file(s) copied.
Jamfile<C:\Users\amwink\usr\local\boost\libs\context\build>.masm
build\boost\bin.v2\libs\context\build\gcc-mingw-4.8.1\release\address-model-32\architecture-x86\threading-multi\asm\make_i386_ms_pe_masm.o

    ml /c
/Fo"build\boost\bin.v2\libs\context\build\gcc-mingw-4.8.1\release\address-model-32\architecture-x86\threading-multi\asm\make_i386_ms_pe_masm.o"
"libs\context\src\asm\make_i386_ms_pe_masm.asm"

Microsoft (R) Macro Assembler Version 6.14.8444
Copyright (C) Microsoft Corp 1981-1997. All rights reserved.

 Assembling: libs\context\src\asm\make_i386_ms_pe_masm.asm
Jamfile<C:\Users\amwink\usr\local\boost\libs\context\build>.masm
build\boost\bin.v2\libs\context\build\gcc-mingw-4.8.1\release\address-model-32\architecture-x86\threading-multi\asm\jump_i386_ms_pe_masm.o

    ml /c
/Fo"build\boost\bin.v2\libs\context\build\gcc-mingw-4.8.1\release\address-model-32\architecture-x86\threading-multi\asm\jump_i386_ms_pe_masm.o"
"libs\context\src\asm\jump_i386_ms_pe_masm.asm"

Microsoft (R) Macro Assembler Version 6.14.8444
Copyright (C) Microsoft Corp 1981-1997. All rights reserved.

 Assembling: libs\context\src\asm\jump_i386_ms_pe_masm.asm
gcc.compile.c++
build\boost\bin.v2\libs\context\build\gcc-mingw-4.8.1\release\threading-multi\dummy.o

    "g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall
-mthreads -DBOOST_ALL_NO_LIB=1 -DBOOST_CONTEXT_DYN_LINK=1
-DBOOST_CONTEXT_SOURCE -DNDEBUG -I"." -c -o
"build\boost\bin.v2\libs\context\build\gcc-mingw-4.8.1\release\
threading-multi\dummy.o" "libs\context\src\dummy.cpp"

gcc.link.dll
build\boost\bin.v2\libs\context\build\gcc-mingw-4.8.1\release\threading-multi\libboost_context-mgw48-mt-1_56.dll.a

    "g++"
"-Wl,--out-implib,build\boost\bin.v2\libs\context\build\gcc-mingw-4.8.1\release\threading-multi\libboost_context-mgw48-mt-1_56.dll.a"
-o
"build\boost\bin.v2\libs\context\build\gcc-mingw-4.8.1\release\threading-multi\libboost_context-mgw48-mt-1_56.dll"
-shared -Wl,--start-group
"build\boost\bin.v2\libs\context\build\gcc-mingw-4.8.1\release\address-model-32\architecture-x86\threading-multi\asm\make_i386_ms_pe_masm.o"
"build\boost\bin.v2\libs\context\build\gcc-mingw-4.8.1\release\address-model-32\architecture-x86\threading-multi\asm\jump_i386_ms_pe_masm.o"
"build\boost\bin.v2\libs\co
ntext\build\gcc-mingw-4.8.1\release\threading-multi\dummy.o" -Wl,-Bstatic
-Wl,-Bdynamic -Wl,--end-group -mthreads

build\boost\bin.v2\libs\context\build\gcc-mingw-4.8.1\release\address-model-32\architecture-x86\threading-multi\asm\make_i386_ms_pe_masm.o:
file not recognized: File format not recognized

collect2.exe: error: ld returned 1 exit status
...skipped <pstage\lib>libboost_context-mgw48-mt-1_56.dll.a for lack of
<pbuild\boost\bin.v2\libs\context\build\gcc-ming
w-4.8.1\release\threading-multi>libboost_context-mgw48-mt-1_56.dll.a...
...failed updating 1 target...
================================



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