Boost logo

Boost Users :

Subject: [Boost-users] Build errors with boost 1.42.0 under MinGW
From: Michael Chisholm (chisholm_at_[hidden])
Date: 2010-04-27 14:03:42


I am having problems building boost 1.42.0 using MinGW. The bootstrap.sh script
only works if I specify 'mingw' as the toolset. The resulting bjam tool doesn't
work though. It doesn't seem to support mingw as a toolset, but I am unable to
force it to use something else.

I am using WinXP SP3, MinGW GCC 3.4.5.

Just running ./bootstrap.sh yields:

$ ./bootstrap.sh
Building Boost.Jam with toolset gcc...
Failed to build Boost.Jam
Consult 'bootstrap.log' for more details

The log contents are at the bottom of this email. If I instead specify mingw as
the toolset, it works:

$ ./bootstrap.sh --with-toolset=mingw
Building Boost.Jam with toolset mingw... tools/jam/src/bin.ntx86/bjam
Unicode/ICU support for Boost.Regex?... not found.
Backing up existing Boost.Build configuration in project-config.jam.3
Generating Boost.Build configuration in project-config.jam...

Bootstrapping is done. To build, run:

     ./bjam

etc...

Now if I run ./bjam.exe, I get the following error:

$ ./bjam.exe
mingw.jam: No such file or directory
c:/Programming/C/boost_1_42_0/tools/build/v2/build\toolset.jam:38: in toolset.using
rule mingw.init unknown in module toolset.
c:/Programming/C/boost_1_42_0/tools/build/v2/build\project.jam:884: in using
project-config.jam:12: in modules.load
c:/Programming/C/boost_1_42_0/tools/build/v2\build-system.jam:241: in load-config
c:/Programming/C/boost_1_42_0/tools/build/v2\build-system.jam:407: in
load-configuration-files
c:/Programming/C/boost_1_42_0/tools/build/v2\build-system.jam:538: in load
c:\Programming\C\boost_1_42_0\tools\build\v2/kernel\modules.jam:283: in import
c:\Programming\C\boost_1_42_0\tools\build\v2\kernel\bootstrap.jam:142: in
boost-build
c:\Programming\C\boost_1_42_0\boost-build.jam:17: in module scope

If I try to specify gcc as the toolset via:

$ ./bjam.exe toolset=gcc

I get the exact same error. It's still trying to find 'mingw.jam'.

The "Getting Started" documentation, as far as providing troubleshooting help,
seems to assume the bjam command will work, if provided the proper toolset. So
I'm stuck now. Has anyone out there got the latest boost libs built under MinGW?

Andy

Failed bootstrap.log contents:

###
### Using 'gcc' toolset.
###
rm -rf bootstrap
mkdir bootstrap
gcc -o bootstrap/jam0 command.c compile.c debug.c expand.c glob.c hash.c
hdrmacro.c headers.c jam.c jambase.c jamgram.c lists.c make.c make1.c newstr.c
option.c output.c parse.c pathunix.c pathvms.c regexp.c rules.c scan.c search.c
subst.c timestamp.c variable.c modules.c strings.c filesys.c builtins.c pwd.c
class.c native.c w32_getreg.c modules/set.c modules/path.c modules/regex.c
modules/property-set.c modules/sequence.c modules/order.c execunix.c fileunix.c
execunix.c:17:26: sys/resource.h: No such file or directory
execunix.c:18:23: sys/times.h: No such file or directory
execunix.c:19:22: sys/wait.h: No such file or directory
execunix.c: In function `exec_cmd':
execunix.c:193: error: `F_SETFL' undeclared (first use in this function)
execunix.c:193: error: (Each undeclared identifier is reported only once
execunix.c:193: error: for each function it appears in.)
execunix.c:193: error: `O_NONBLOCK' undeclared (first use in this function)
execunix.c:212: error: storage size of 'buf' isn't known
execunix.c:216: error: `_SC_CLK_TCK' undeclared (first use in this function)
execunix.c:243: error: storage size of 'r_limit' isn't known
execunix.c:246: error: `RLIMIT_CPU' undeclared (first use in this function)
execunix.c:249: warning: passing arg 2 of `execvp' from incompatible pointer type
execunix.c: At top level:
execunix.c:385: error: syntax error before "fd_set"
execunix.c: In function `populate_file_descriptors':
execunix.c:388: error: storage size of 'buf' isn't known
execunix.c:393: error: `fds' undeclared (first use in this function)
execunix.c:418: error: `SIGKILL' undeclared (first use in this function)
execunix.c:423: error: `fmax' undeclared (first use in this function)
execunix.c: In function `exec_wait':
execunix.c:441: error: `fd_set' undeclared (first use in this function)
execunix.c:441: error: syntax error before "fds"
execunix.c:442: error: storage size of 'new_time' isn't known
execunix.c:453: error: `fds' undeclared (first use in this function)
execunix.c:459: error: invalid use of undefined type `struct timeval'
execunix.c:460: error: invalid use of undefined type `struct timeval'
execunix.c:519: error: invalid use of undefined type `struct tms'
execunix.c:520: error: invalid use of undefined type `struct tms'
execunix.c:524: error: `old_time' has an incomplete type
execunix.c: At top level:
execunix.c:69: error: storage size of `tv' isn't known
execunix.c:73: error: storage size of `old_time' isn't known
fileunix.c:97:17: ar.h: No such file or directory
fileunix.c: In function `file_archscan':
fileunix.c:273: error: storage size of 'ar_hdr' isn't known
fileunix.c:282: error: `SARMAG' undeclared (first use in this function)
fileunix.c:282: error: (Each undeclared identifier is reported only once
fileunix.c:282: error: for each function it appears in.)
fileunix.c:283: error: `ARMAG' undeclared (first use in this function)
fileunix.c:294: error: invalid application of `sizeof' to incomplete type `ar_hdr'
fileunix.c:294: error: invalid application of `sizeof' to incomplete type `ar_hdr'
fileunix.c:295: error: `ARFMAG' undeclared (first use in this function)
fileunix.c:326: error: invalid application of `sizeof' to incomplete type `ar_hdr'
fileunix.c:356: error: invalid application of `sizeof' to incomplete type `ar_hdr'


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