Subject: [Boost-build] Boost build improvements
From: Wesley Johnson (johnson2412_at_[hidden])
Date: 2010-05-24 23:32:34
I am on this mailing list because I had problems building Boost, and I still
do not have a working Boost after 6 months of poking at it.
I am working on a free-software release of my own, spending my time on that,
so I do not have time to dive into Boost problems now.
I have a Linux system, and I did not expect to have that much trouble with
I wanted a tool to use on my project, it required Boost, Boost required Lua,
etc... I now have all these libraries installed, extraneous to all my other
work, and Boost is still not working, usable, or trustworthy.
Why, has to do with what you have been discussing about the next release of
There is no sense of control over what is happening with the build.
Boost-build does all these things, and if it is getting something wrong or
if the library is just busted, I cannot tell. I have no idea of how to get
some control over Boost, especially how to correct system dependent things.
The fact that experienced Boost users can relish the fact that they are
among the few that know how to make Boost-build do something, is like
watching some skateboarder jump on stairway railings. I do not have any
wish to join in, I have already seen enough accidents to know better.
Boost needs to put the system dependent controls somewhere where the new
user can find them, and point a big glaring red arrow at them.
The new user is the one who has to alter them to get this huge thing to
There has to be some instructions as to which files to touch, which not to
touch, and where the likely problems exist.
Make and Makefile have dealt with this problem. They may have other
problems, but at least you know where to go and start hacking at it.
There needs to be some independence of the parts, especially in the Boost
libraries. I had to download the entire Boost, just to get the few
libraries that the tool needed, because it was so difficult to deal with a
detached library with no method to compile it without the entire Boost-build
system. I says that you can get individual libraries, but does not support
making them work that way (not that I could find).
I would rather see separate files for each system, than one file trying to
deal with all systems.
It is easier to find the one file for Linux, put the other away somewhere
else, and try to beat on the errors and bugs with only a few files to
Trying to find errors among 20 files is not reasonable, and among 200 files
There has to be one tool that boots the rest of the tools.
Every compiler system invented has had to deal with this problem. They
usually try to get the compiler working well enough that it can compile
itself. There is phase1 compiler that is just good enough to compile the
phase2 compiler. The phase1 compiler is simple enough that is can be
compiled on a wide variety of systems, and may be written in multiple
languages. The user picks the phase1 compiler that they can build most
The boot system has to have support for whatever the user may have.
Just look at all the ways Linux can be installed. Install using root
floppies, install using windows, install using existing Linux, install with
install using bootable CDROM.
Trying to make Boost-build be installed from ONLY ONE kind of installation
will cause as much trouble as the current situation.
It needs a Makefile, an installation script, a windows scripts, etc..., all
of which can succeed on a new system without any other Boost components, and
preferably without Lua or any of those other strange libraries.
You are trying to rely upon other "system-independent" tools to make it easy
for you. That makes it difficult for me. Now I have to install all these
other "system-independent" libraries, each which has its own problems, and
for which I have no other use. Lua is intersting, but I have no use for
another scripting language. Please do not try to sell it to me, as far as
this discussion goes, it is just another requirement that complicates the
Making Boost-build dependent on having boost libraries, -- cannot be
good -- ...
Wesley D. Johnson
Project'Resin -- Wesley Johnson
Research, Systems and Development
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