|
Boost-Build : |
Subject: Re: [Boost-build] How to specifiy multiple gcc compilers using windows 8.1
From: Paul A. Bristow (pbristow_at_[hidden])
Date: 2015-06-05 05:44:53
> -----Original Message-----
> From: Edward Diener [mailto:eldiener_at_[hidden]]
> Sent: 04 June 2015 15:48
> To: boost-build_at_[hidden]
> Subject: Re: [Boost-build] How to specifiy multiple gcc compilers using windows 8.1
>
> On 6/4/2015 8:20 AM, Paul A. Bristow wrote:
> > I am trying to specify multiple version of GCC compilers in my
> > user-config like this
> >
> > using gcc
> > : # version
> > 4.8.1
> > : # compiler exe location
> > "C:\Program Files\mingw-builds\x64-4.8.1-win32-seh-rev5\mingw64\bin\g++.exe"
> > : # options
> > ;
> >
> >
> > using gcc
> > : # version
> > 4.9.1
> > : # compiler exe location
> > "C:\Program Files\mingw-w64\x86_64-4.9.1-win32-seh-rt_v3-rev1\mingw64\bin\g++.exe"
> > : # options
> > ;
> >
> > trying to follow the examples at
> >
> > http://www.boost.org/build/doc/html/bbv2/overview/configuration.html
> >
> > I've tried using "" around the file specification and using backslash
> >
> > warning: toolset gcc initialization:
> > warning: can not find user-provided command 'C:Program
> > Filesmingw-buildsx64-4.8.1-win32-seh-rev5ming
> > w64bing++.exe'
> > warning: initialized from C:\Users\Paul\user-config.jam:76
> > I:/modular-boost/tools/build/src/tools\gcc.jam:83: in gcc.init from
> > module gcc
> > error: toolset gcc initialization:
> > error: provided command 'C:Program
> > Filesmingw-buildsx64-4.8.1-win32-seh-rev5mingw64bing++.exe' not f ound
> > error: initialized from C:\Users\Paul\user-config.jam:76
> >
> > or forward slash
> >
> > 'C:/Program' is not recognized as an internal or external command,
> > operable program or batch file.
> > 'C:/Program' is not recognized as an internal or external command,
> > operable program or batch file.
> >
> > It would appear that bjam/b2 is not dealing with the space in the
> > filename? (despite the quotes)
> >
> > A 4.8.1 version is found by default.
> >
> > notice: will use 'C:/Program
> > Files/mingw-builds/x64-4.8.1-win32-seh-rev5/mingw64/bin/g++.exe' for
> > gc c, condition <toolset>gcc-4.8.1
> >
> > notice: using gcc libraries :: <toolset>gcc-4.8.1 :: C:/Program
> > Files/mingw-builds/x64-4.8.1-win32-s
> > eh-rev5/mingw64/bin C:/Program
> > Files/mingw-builds/x64-4.8.1-win32-seh-rev5/mingw64/lib C:/Program Fi
> > les/mingw-builds/x64-4.8.1-win32-seh-rev5/mingw64/lib32 C:/Program
> > Files/mingw-builds/x64-4.8.1-win3
> > 2-seh-rev5/mingw64/lib64
> >
> > How can I get all three versions of gcc available?
>
> I always use forward slashes ( '/' ) rather than backslashes ( '\' ) when dealing with Boost
Build.
>
> It's possible backslashes work but maybe you need to have two of them for a single backslash, ala
C++
> string literals, when you put the path in quotes.
Well, despite this,
this appears to make progress
'C:\Program' is not recognized as an internal or external command, operable program or batch file.
it appears to make progress
notice: will use 'C:\Program Files\mingw-w64\x86_64-5.1.0-win32-seh-rt_v4-rev0\mingw64\bin\g++.exe'
for gcc, condition <toolset>gcc-5.1.0
notice: using gcc libraries :: <toolset>gcc-5.1.0 :: C:\Program Files\mingw-w64\x86_64-5.1.0-win32-s
eh-rt_v4-rev0\mingw64/bin C:\Program Files\mingw-w64\x86_64-5.1.0-win32-seh-rt_v4-rev0\mingw64/lib C
:\Program Files\mingw-w64\x86_64-5.1.0-win32-seh-rt_v4-rev0\mingw64/lib32 C:\Program Files\mingw-w64
\x86_64-5.1.0-win32-seh-rt_v4-rev0\mingw64/lib64
Using this with
I:\modular-boost\libs\fixed_point\test>b2 --toolset=gcc-5.1.0
Boost-Build starts unhappily
'C:\Program' is not recognized as an internal or external command,
operable program or batch file.
...
'C:\Program' is not recognized as an internal or external command,
operable program or batch file.
Performing configuration checks
- 32-bit : no
- 64-bit : yes
...
appears to start well
...updating 64 targets...
common.mkdir ..\..\..\bin.v2\libs\test\build\gcc-5.1.0
common.mkdir ..\..\..\bin.v2\libs\test\build\gcc-5.1.0\debug
common.mkdir ..\..\..\bin.v2\libs\test\build\gcc-5.1.0\debug\link-static
gcc.compile.c++ ..\..\..\bin.v2\libs\test\build\gcc-5.1.0\debug\link-static\compiler_log_formatter
gcc.compile.c++ ..\..\..\bin.v2\libs\test\build\gcc-5.1.0\debug\link-static\debug.o
gcc.compile.c++ ..\..\..\bin.v2\libs\test\build\gcc-5.1.0\debug\link-static\decorator.o
gcc.compile.c++ ..\..\..\bin.v2\libs\test\build\gcc-5.1.0\debug\link-static\execution_monitor.o
gcc.compile.c++ ..\..\..\bin.v2\libs\test\build\gcc-5.1.0\debug\link-static\framework.o
but complains
'"C:\Program Files\mingw-w64\x86_64-5.1.0-win32-seh-rt_v4-rev0\mingw64\bin"' is not recognized as an
internal or external command,
operable program or batch file.
But finally fails for reasons unclear.
"C:\Program Files\mingw-w64\x86_64-5.1.0-win32-seh-rt_v4-rev0\mingw64\bin" "..\..\..\bin.v2\libs
\test\build\gcc-5.1.0\debug\link-static\libboost_unit_test_framework-gcc51-d-1_59.a"
...failed gcc.archive ..\..\..\bin.v2\libs\test\build\gcc-5.1.0\debug\link-static\libboost_unit_test
As ever Boost.Build seems to work well on *nix (maybe trying to be too clever for its own good?),
but doesn't like Windows much, and really hates its file system, and can't abide spaces in file
names (a daft idea, like backslashes).
I'll try moving the compiler to a location so that there are no spaces in the filename.
(Since the default location of mingw-builds is into "Windows C:\Program Files, this is a minor
nuisance.)
Thanks anyway.
Paul
--- Paul A. Bristow Prizet Farmhouse Kendal UK LA8 8AB +44 (0) 1539 561830
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