Robert,

I think it behaves as documented. The prefix option specified where to install, not where to build, so the build happens in the root folder. You can pass --build-dir to b2 to change that. 

Also, you seem  to be building all of Boost, so yes, it tries to build Python.


On Sun, Oct 23, 2016, 22:56 Robert Ramey <ramey@rrsd.com> wrote:

I can test the serialization library in the mac terminal and things work
great. I can test using whichever one of several compilers, I can build
my library status table, etc. and everything is OK.

But for the last 18 months, I have errors in the official boost test
matrix on the develop branch on the linux platforms.  This was pretty
frustrating as I always considered the underlying OS of the mac and
linux very similar. After experimenting trying to isolate the issue I\
concluded that I have no choice but to install a similar platform in my
office. So I installed parallels on my mac with ubuntu 14.04.  This went
pretty smoothly.  It's very convenient that from within the ubuntu os I
can access my original mac OS file system with my master copy of Boost
source on it.  So I should have the capability of running b2 test
procedure on exactly the same file versions.

So all I have to is to build B2 and a couple of other utilities on the
ubuntu file system - straight forward? - not so much.  First of all I
don't want to polute my file tree on the Mac with files which contain
ubuntu executables and libraries.  Of course I forget how to do this so
I look at the documentation on bootstrap.sh
http://www.boost.org/doc/libs/1_62_0/more/getting_started/unix-variants.html.
  It states in part:

$ cd path/to/boost_1_62_0
$ ./bootstrap.sh --help

which rewards me with:

parallels@ubuntu:~/Desktop/Parallels Shared
Folders/Home/WorkingProjects/modular-boost$ ./bootstrap.sh -help
`./bootstrap.sh' prepares Boost for building on a few kinds of systems.

Usage: ./bootstrap.sh [OPTION]...

Defaults for the options are specified in brackets.

Configuration:
   -h, --help                display this help and exit
   --with-bjam=BJAM          use existing Boost.Jam executable (bjam)
                             [automatically built]
   --with-toolset=TOOLSET    use specific Boost.Build toolset
                             [automatically detected]
   --show-libraries          show the set of libraries that require build
                             and installation steps (i.e., those libraries
                             that can be used with --with-libraries or
                             --without-libraries), then exit
   --with-libraries=list     build only a particular set of libraries,
                             describing using either a comma-separated
list of
                             library names or "all"
                             [all]
   --without-libraries=list  build all libraries except the ones listed []
   --with-icu                enable Unicode/ICU support in Regex
                             [automatically detected]
   --without-icu             disable Unicode/ICU support in Regex
   --with-icu=DIR            specify the root of the ICU library
installation
                             and enable Unicode/ICU support in Regex
                             [automatically detected]
   --with-python=PYTHON      specify the Python executable [python]
   --with-python-root=DIR    specify the root of the Python installation
                             [automatically detected]
   --with-python-version=X.Y specify the Python version as X.Y
                             [automatically detected]

Installation directories:
   --prefix=PREFIX           install Boost into the given PREFIX
                             [/usr/local]
   --exec-prefix=EPREFIX     install Boost binaries into the given EPREFIX
                             [PREFIX]

More precise control over installation directories:
   --libdir=DIR              install libraries here [EPREFIX/lib]
   --includedir=DIR          install headers here [PREFIX/include]

parallels@ubuntu:~/Desktop/Parallels Shared
Folders/Home/WorkingProjects/modular-boost$

Which looks quite wrong to me.  I expect bootstrap.sh to build some
boost tools not include things like --show-libraries , without-icu etc.
I'm now totally confused as to what bootstrap.sh is supposed to do.

Of course I'm not going to let a minor think like total confusion
prevent me from taking action ( this is america after all).  So
following the documentation I let loose with:

parallels@ubuntu:~/Desktop/Parallels Shared
Folders/Home/WorkingProjects/modular-boost$ pwd
/home/parallels/Desktop/Parallels Shared
Folders/Home/WorkingProjects/modular-boost
parallels@ubuntu:~/Desktop/Parallels Shared
Folders/Home/WorkingProjects/modular-boost$ ./bootstrap.sh
--prefix=/home/parallels/boost
Building Boost.Build engine with toolset gcc...
tools/build/src/engine/bin.linuxx86_64/b2
Detecting Python version... 2.7
Detecting Python root... /usr
Unicode/ICU support for Boost.Regex?... not found.
Backing up existing Boost.Build configuration in project-config.jam.3
Generating Boost.Build configuration in project-config.jam...

Bootstrapping is done. To build, run:

     ./b2

To adjust configuration, edit 'project-config.jam'.
Further information:

    - Command line help:
      ./b2 --help

    - Getting started guide:
      http://www.boost.org/more/getting_started/unix-variants.html

    - Boost.Build documentation:
      http://www.boost.org/build/doc/html/index.html

parallels@ubuntu:~/Desktop/Parallels Shared
Folders/Home/WorkingProjects/modular-boost$ ls -l b2
-rwxrwxr-x 1 parallels parallels 271448 Oct 23 12:50 b2
parallels@ubuntu:~/Desktop/Parallels Shared
Folders/Home/WorkingProjects/modular-boost$

Which displays a number of messages whch  seem totally out of place -
python? who ordered that?, etc.  Worst of all, it seems to ignore the
"prefix" switch and builds b2 right in the boost root.  Not where I
meant to put it and not where the documentation nor the help information
says it will go.

So now I'm going to have to dive into a place where I didn't want to go
- reviewing the bootstrap.sh script in detail.  It shouldn't be this
way. At a very miniumum, the Getting Started documentation,
booststrap.sh help and execution are out of sync.  I user less
persistent user shouldn't have to deal with this.

Robert Ramey


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build

--
Vladimir Prus
http://vladimirprus.com