Boost logo

Boost-Build :

Subject: Re: [Boost-build] Errors when compiling Boost on Windows with MinGW
From: Paul (paulsteyn1_at_[hidden])
Date: 2012-03-18 12:46:02


Hi All,

Sorry for the delay in this, but I finally had some time this weekend
to work on this again.

On Thu, 1 Mar 2012 16:28:43 +0100
Lars Viklund <zao_at_[hidden]> wrote:

> Whatever library files you have on your filesystem succeeded building.
Where are those library files supposed to be? The doc at
http://www.boost.org/doc/libs/1_49_0/more/getting_started/windows.html
first talks of using the command line "--build-type=complete stage",
which will cause the binaries to be put in the "stage\lib" folder, but
later talks of them being in the "lib" folder off the boost root. I
don't have a "lib" folder off the boost root, only a "libs" folder,
which is different. I do have a "lib" folder in the "stage" folder, and
this is where all the built libraries seem to be, but as I understand it
"stage" is for something else? Not too sure about this. The document
doesn't say why I would use the "stage" option, or suggest that I might
not want to use it. Can someone explain this?

Also, at first no libraries were in there. They only started appearing
when I built targets individually, so initially nothing succeeded
building.

> The ones that didn't won't exist. To find out what library caused what
> error, you've got to skim the log to see what files/targets it botches
> out on.
Sorry, that's part of the problem, I'm not sure what targets the log is
complaining about. I'm just not sure what part of the log file to look
at, it's not very obvious or intuitive.
Also, as nothing built, basically everything had issues. The best I
could find in the log was something about the exception library having
duplicate naming.

On Thu, 01 Mar 2012 07:55:07 -0800
Steven Watanabe <watanabesj_at_[hidden]> wrote:

> This problem has been reported before. IIRC,
> if you build the exception library
> in a separate invocation of b2 it should
> work. (--without-exception and --with-exception)
Well, I tried building both with and without exception. With exception
worked, that is to say library files were put under stage\lib. Without
exception didn't work, and gave me a whole bunch of new errors in the
log.
I've attached the log files from building both with and without
exception, as well as from a normal build call that doesn't specify
anything for exception. Both the normal and without-exception builds
have without-mpi and without-python specified.

Building only the exception library gave me a list of targets in the
log file, so I tried building each target in turn, using the
"--with-target" command line option. I've attached those log files in a
zip as well, and here are the build results:
chrono: yes (also put libboost-system files in there)
date-time: yes
filesystem: yes
graph: yes (also put libboost-regex files in there)
graph_parallel: no
iostreams: yes
locale: yes
math: yes
mpi: no
program_options: yes
python: no (it says something about no python configured,
                     despite having both python 2.7 and 3.2 installed.
                     Nothing was mentioned in the getting started doc
                     about having to configure this separately)
random: yes
regex: no (probably because already built)
serialization: yes (also wserialization)
signals: yes
system: no (probably because already built)
test: yes (prg_exec_monitor, test_exec_monitor,
                      unit_test_framework)
thread: yes
timer: yes
wave: yes

These were built in this order. Note that exception was the first one
built.
yes means library files were put in stage\lib
no means nothing was put there.

So as far as I can see, only mpi, python and graph_parallel didn't
build. I don't think I need those for my purposes, so I'm going to go
ahead with compiling the application I'm trying to build, and hope I
don't get any further problems with boost.

However, it seems clear that the getting started document needs some
serious attention. Also, given the errors I'm seeing, I don't think the
problem is something specific to my computer, although I don't see how
this can be widespread without more people complaining the build is
broken, so I'm not quite sure what is going on, but the problem seems
to be either with the bjam build system or with the 1.49.0 boost
release package, as for one reason or another it doesn't build as it
should after building bjam, although it does build individually. This
makes the windows release broken, and someone should look into it. If
it's not broken generally, and only in some specific cases, then I
still think that the specifics need to be determined and some fix
released. Maybe it's an edge case where only certain machine
configurations break bjam, but at least that should be known, if not
fixed.

Thanks again for everybody's help with this. I hope I've provided
enough information for someone to investigate further. If there is any
more information you need, let me know, I'll be happy to provide it if
I can.

Paul







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