Opened 12 years ago

Closed 12 years ago

Last modified 11 years ago

#4884 closed Bugs (worksforme)

boost 1.45.0 build error with vc++ express 2010

Reported by: Marco Pappalepore <crillion@…> Owned by:
Milestone: To Be Determined Component: Building Boost
Version: Boost 1.45.0 Severity: Problem
Keywords: configure.jam argument error rule UPDATE_NOW Cc:

Description

Hi,

my name is Marco Pappalepore, in case of need write me at crillion tiscali it.

I'm trying to build boost version 1.45.0 on my system:

windows vista (business version and ultimate version) sp2 microsoft visual c++ express 2010 boost 1.45.0 bjam 3.1.18

Like usual, to build boost I follow these steps: 1) I extract boost in a version-named folder (.../boost/boost_1_45_0) 2) I create an empty folder for the build (.../boost/boost_1_45_0_build) 3) I copy bjam.exe in the source folder (.../boost/boost_1_45_0) 4) I open a Visual Studio Command Prompt(2010) (command prompt with environment variables for visual studio) 5) I launch this command(which used to work with the latest versions of the library, including 1.44.0):

bjam --prefix="..\boost_1_45_0_build" install

6) I get an error (while usually the build process started and was successful with earlier versions of the library). The message is this:

warning: No toolsets are configured. warning: Configuring default toolset "msvc". warning: If the default is wrong, your build may not work correctly. warning: Use the "toolset=xxxxx" option to override our guess. warning: For more configuration options, please consult warning: http://boost.org/boost-build2/doc/html/bbv2/advanced/configuration.html Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\configure.jam:145: in builds-raw * argument error

  • rule UPDATE_NOW ( targets * : log ? : ignore-minus-n ? )
  • called with: ( <pbin.v2\libs\regex\build\msvc-10.0\debug>has_icu.exe <pbin.v2\libs\regex\build\msvc-10.0\debug>has_icu.pdb : : ignore-minus-n : ignore-minus-q )
  • extra argument ignore-minus-q

(builtin):see definition of rule 'UPDATE_NOW' being called Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\configure.jam:179: in configure.builds Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\configure.jam:216: in object(check-target-builds-worker)@443.check Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/kernel\modules.jam:103: in modules.call-in Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/util\indirect.jam:96: in indirect.call Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:1012: in targets.evaluate-requirements Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:1393: in basic-target.compute-usage-requirements Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\alias.jam:47: in compute-usage-requirements Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:1319: in object(alias-target-class)@447.generate Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:732: in generate-really Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:704: in object(main-target)@886.generate Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:848: in targets.generate-from-reference Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:1217: in generate-dependencies Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:1268: in object(typed-target)@450.generate Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:732: in generate-really Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:704: in object(main-target)@887.generate Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:848: in targets.generate-from-reference Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:1217: in generate-dependencies Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:1266: in object(typed-target)@152.generate Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:732: in generate-really Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:704: in object(main-target)@868.generate Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:258: in object(project-target)@134.generate Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:848: in targets.generate-from-reference Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:1217: in generate-dependencies Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:1268: in object(install-target-class)@50.generate Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:732: in generate-really Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:704: in object(main-target)@701.generate Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:848: in targets.generate-from-reference Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:1217: in generate-dependencies Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:1268: in object(alias-target-class)@44.generate Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:732: in generate-really Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:704: in object(main-target)@700.generate Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:848: in targets.generate-from-reference Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:1217: in generate-dependencies Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:1268: in object(alias-target-class)@43.generate Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:732: in generate-really Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:704: in object(main-target)@699.generate Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:848: in targets.generate-from-reference Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:1217: in generate-dependencies Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:1268: in object(alias-target-class)@60.generate Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:732: in generate-really Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:704: in object(main-target)@705.generate Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:848: in targets.generate-from-reference Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:1217: in generate-dependencies Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:1268: in alias-target-class.generate Jamroot:648: in build-multiple Jamroot:612: in object(top-level-target)@68.generate Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:732: in generate-really Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2/build\targets.jam:704: in object(main-target)@709.generate Z:/data/users/marco_pappalepore/data/projects/external/boost/boost_1_45_0/tools/build/v2\build-system.jam:735: in load Z:\data\users\marco_pappalepore\data\projects\external\boost\boost_1_45_0\tools\build\v2/kernel\modules.jam:283: in import Z:\data\users\marco_pappalepore\data\projects\external\boost\boost_1_45_0\tools\build\v2\kernel\bootstrap.jam:142: in boost-build Z:\data\users\marco_pappalepore\data\projects\external\boost\boost_1_45_0\boost-build.jam:17: in module scope

so, is this a problem with the build system ? or should I use a different set of commands/operations ?

many thanks,

Marco

Change History (12)

comment:1 by Marco Pappalepore <crillion@…>, 12 years ago

Component: NoneBuilding Boost
Keywords: configure.jam argument error rule UPDATE_NOW added

comment:2 by nop@…, 12 years ago

A quick work around:

Remove the offending argument to UPDATE_NOW in tools\build\v2\build\configure.jam on line 145. That is: just remove ": ignore-minus-q" so the line becomes "$(.log-fd) : ignore-minus-n ]", and all works well.

comment:3 by viboes, 12 years ago

Have you tried to rebuild bjam (the version for 1.45 is 3.1.19 (on root run ./bootstrap.sh)?

in reply to:  3 comment:4 by hellhound_01@…, 12 years ago

Replying to viboes:

Have you tried to rebuild bjam (the version for 1.45 is 3.1.19 (on root run ./bootstrap.sh)?

If i try to run boostrap.sh (Using MinGW GCC 4.5.0) bootstraping fails with following failrure:

### ### 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 md5.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 builtins.c:32:23: fatal error: sys/wait.h: No such file or directory compilation terminated. execunix.c:17:26: fatal error: sys/resource.h: No such file or directory compilation terminated. fileunix.c:97:17: fatal error: ar.h: No such file or directory compilation terminated.

comment:5 by viboes, 12 years ago

You should use boostrap.bat on mingw.

in reply to:  5 ; comment:6 by hellhound_01@…, 12 years ago

Replying to viboes:

You should use boostrap.bat on mingw.

This is confusing. I'm using the MSYS unix shell, why in hell i should use a batch file? Btw the batch program is working, after some path definitions (i.e. GCC), which are normally not requried if you use MSYS in handshake with MinGW ...

comment:7 by René Rivera, 12 years ago

Resolution: worksforme
Status: newclosed

You need to use the latest version of bjam. On Windows by running booststrap.bat, i.e. following the getting started instructions.

in reply to:  2 comment:8 by dumitru.frunza@…, 12 years ago

Replying to nop@…:

A quick work around:

Remove the offending argument to UPDATE_NOW in tools\build\v2\build\configure.jam on line 145. That is: just remove ": ignore-minus-q" so the line becomes "$(.log-fd) : ignore-minus-n ]", and all works well.

That does the trick.

Running bootstrap.bat is a no-go - my MSYS shell spits tons of errors about not understanding the commands within.

bootstrap.sh doesn't do better - it fails with ar.h: No such file or directory compilation terminated

So the "solution" would be to bypass bootstrap.* completely, go with

bjam toolset=gcc

(build bjam separately, no issues here), until you hit the error above, and use the quick-fix suggested by nop@.

Works like a charm.

in reply to:  6 comment:9 by anonymous, 12 years ago

Replying to hellhound_01@…:

Replying to viboes:

You should use boostrap.bat on mingw.

This is confusing. I'm using the MSYS unix shell, why in hell i should use a batch file? Btw the batch program is working, after some path definitions (i.e. GCC), which are normally not requried if you use MSYS in handshake with MinGW ...

The boost build doesn't support the MSYS shell, you need to use cmd.exe instead for the purpose of compiling.

comment:10 by Jim Bell <jim@…>, 12 years ago

MinGW:

cd BOOST_ROOT/tools/build/v2/engine/src
./build.sh mingw

It builds BOOST_ROOT/tools/build/v2/engine/src/bin.ntx86/bjam.exe. That's the one to use.

comment:11 by anonymous, 12 years ago

bjam sucks...

comment:12 by anonymous, 11 years ago

Thanks for the hints. I got all boost v1.46.1 libraries compiled on mingw doing this:

cd BOOST_ROOT/tools/build/v2/engine/src
./build.sh mingw
cd BOOST_ROOT
tools/build/v2/engine/src/bin.ntx86/bjam.exe toolset=gcc
Note: See TracTickets for help on using tickets.