Boost logo

Boost Users :

Subject: Re: [Boost-users] [boost-newbie] g++ Version 3 (MinGW) and compiling boost
From: Jürgen Hunold (juergen.hunold_at_[hidden])
Date: 2011-09-24 05:34:30


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: <pstage\lib>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_at_[hidden]        | 
                                | Geschäftsführer:
Sitz des Unternehmens: Hannover | Univ.-Prof. Dr.-Ing. Thomas Siefer               
Amtsgericht Hannover, HRB 56965 | PD Dr.-Ing. Alfons Radtke  

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