[boost-newbie] g++ Version 3 (MinGW) and compiling boost
Hi there,
does anyone could say me how can I
compile Boost.Filesystem with MinGW:
Is something wrong with my b2-call see below,
or is my project-config.jam buggy?
=========================
import option ;
using gcc ;
using python
: 2.7 # version
: E:/Programme/Python27 # cmd-or-prefix
: E:/Programme/Python27/include # includes
: E:/Programme/Python27/libs # libraries
;
using mpi : :
<find-static-library>mpi
<library-path>"E:/Programme/MPICH2/lib"
<include>"E:/Programme/MPICH2/include"
:
"\"E:\\Programme\\MPICH2\\bin\\mpiexec\""
;
option.set keep-going : false ;
==========================
g++ (GCC) 3.4.2 (mingw-special)
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
gcc (GCC) 3.4.2 (mingw-special)
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
I got as error message for Boost.Filesystem:
./boost/filesystem/v3/config.hpp:49:5: #error Configuration not
supported: Boost.Filesystem V3 and later requires std::wstring support
That means Boost.Filesystem V2 should work?
Can I compile it without other boost things?
I run
set BUILDPATH=G:/Downloads/Libraries/boost_1_47_0/ownbuild
set INSTALLPATH=G:/Downloads/Libraries/boost_1_47_0/distrib
b2 --prefix=%INSTALLPATH%/libs/boost-1.47.0/distrib ^
--toolset=gcc ^
--build-dir=%BUILDPATH% ^
--layout=versioned ^
--variant=debug,release ^
--runtime-link=static ^
--link=shared,static ^
--threading=multi ^
--without-mpi ^
--without-python stage >build.log 2>&1
And in build.log I found many errors after waiting some Minutes:
...failed updating 26 targets...
...skipped 30 targets...
...updated 842 targets...
If I doesn't use the options --without-mpi --without-python
than about 30 seconds later I got this output in build.log:
======================
G:/Downloads/Libraries/boost_1_47_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:
Hi Robert, On Friday, 23. September 2011 22:08:23 Robert Hartmann wrote:
Hi there, does anyone could say me how can I compile Boost.Filesystem with MinGW:
For start, mingw 3.4.2 is _ancient_. If possible, please get a recent 4.6.x.
Is something wrong with my b2-call see below,
there are some issues.
or is my project-config.jam buggy?
No, looks fine.
gcc (GCC) 3.4.2 (mingw-special) Copyright (C) 2004 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Well, 7 years old.
I got as error message for Boost.Filesystem:
./boost/filesystem/v3/config.hpp:49:5: #error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support
That means Boost.Filesystem V2 should work?
There are issues with mingw 3.4.2 due to the missing std::wstring support. A look at the mailing list archives might help
Can I compile it without other boost things?
Yes, use --with-filesystem and look a the docs for how to select Boost.Filesystem V2
I run set BUILDPATH=G:/Downloads/Libraries/boost_1_47_0/ownbuild set INSTALLPATH=G:/Downloads/Libraries/boost_1_47_0/distrib b2 --prefix=%INSTALLPATH%/libs/boost-1.47.0/distrib ^ --toolset=gcc ^ --build-dir=%BUILDPATH% ^ --layout=versioned ^ --variant=debug,release ^ --runtime-link=static ^ --link=shared,static ^ --threading=multi ^ --without-mpi ^ --without-python stage >build.log 2>&1
half of the options have to much "--" it should be toolset=gcc ^ variant=debug,release ^ runtime-link=static ^ link=shared,static^ threading=multi ^
And in build.log I found many errors after waiting some Minutes:
...failed updating 26 targets... ...skipped 30 targets... ...updated 842 targets...
26 targets looks fine for Boost.FileSystem.
If I doesn't use the options --without-mpi --without-python than about 30 seconds later I got this output in build.log:
======================
G:/Downloads/Libraries/boost_1_47_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:
mpi.pyd
Interesting. Seems that mpi is build in two variants resulting in the same pyd. Splitting up your build is the easiest way around this. But you need Python working with mingw 3.4.2, too.
Please, can any one help me?
Hope this helps. The best is to use a recent gcc. Yours, Jürgen -- Dipl.-Math. Jürgen Hunold | IVE mbH Software-Entwickler | Lützerodestraße 10 Tel: +49 511 897668 33 | 30161 Hannover, Germany Fax: +49 511 897668 29 | http://www.ivembh.de juergen.hunold@ivembh.de | | Geschäftsführer: Sitz des Unternehmens: Hannover | Univ.-Prof. Dr.-Ing. Thomas Siefer Amtsgericht Hannover, HRB 56965 | PD Dr.-Ing. Alfons Radtke
Hi Jürgen, Am 24.09.2011 11:34, schrieb Jürgen Hunold:
Hi Robert,
On Friday, 23. September 2011 22:08:23 Robert Hartmann wrote:
Hi there, does anyone could say me how can I compile Boost.Filesystem with MinGW:
For start, mingw 3.4.2 is _ancient_.
If possible, please get a recent 4.6.x.
I had some difficulties in updating to a more recent MinGW 4.5.x.
Is something wrong with my b2-call see below,
there are some issues.
or is my project-config.jam buggy?
No, looks fine.
thank you for checking this:-) [...]
I got as error message for Boost.Filesystem:
./boost/filesystem/v3/config.hpp:49:5: #error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support
That means Boost.Filesystem V2 should work?
There are issues with mingw 3.4.2 due to the missing std::wstring support. A look at the mailing list archives might help
Can I compile it without other boost things?
Yes, use --with-filesystem and look a the docs for how to select Boost.Filesystem V2
:-) I will try this.
I run set BUILDPATH=G:/Downloads/Libraries/boost_1_47_0/ownbuild set INSTALLPATH=G:/Downloads/Libraries/boost_1_47_0/distrib b2 --prefix=%INSTALLPATH%/libs/boost-1.47.0/distrib ^ --toolset=gcc ^ --build-dir=%BUILDPATH% ^ --layout=versioned ^ --variant=debug,release ^ --runtime-link=static ^ --link=shared,static ^ --threading=multi ^ --without-mpi ^ --without-python stage>build.log 2>&1
half of the options have to much "--"
it should be
toolset=gcc ^ variant=debug,release ^ runtime-link=static ^ link=shared,static^ threading=multi ^
Well, than I had misread/misunderstood some helpfiles and tutorials.
And in build.log I found many errors after waiting some Minutes:
...failed updating 26 targets... ...skipped 30 targets... ...updated 842 targets...
26 targets looks fine for Boost.FileSystem.
You mean that these 26 targets were Boost.FileSystem and all others were ok?
If I doesn't use the options --without-mpi --without-python than about 30 seconds later I got this output in build.log:
======================
G:/Downloads/Libraries/boost_1_47_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:
mpi.pyd Interesting. Seems that mpi is build in two variants resulting in the same pyd. Splitting up your build is the easiest way around this.
But you need Python working with mingw 3.4.2, too.
Good point. I thought I could use some Python (which is not from mingw).
Please, can any one help me?
Hope this helps.
You helped me. Danke sehr :) Best regards, Robert Hartmann
participants (2)
-
Jürgen Hunold
-
Robert Hartmann