Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2008-04-20 04:04:47


On Monday 14 April 2008 07:42:05 Lian Cheng wrote:
> Hi, all
>
> I've posted this weird problem in boost.user mailing list, but seems no
> one is interested in it. Also, boost.jam list seems not so helpful. So
> I'm trying my luck here :-)
>
> I'm trying to build boost 1.35 within a RedHat x86-84 box. The gcc
> version information is here:
>
> $ gcc -v
> Reading specs from /usr/lib/gcc/x86_64-redhat-linux/3.4.5/specs
> Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
> --infodir=/usr/share/info --enable-shared --enable-threads=posix
> --disable-checking --with-system-zlib --enable-__cxa_atexit
> --disable-libunwind-exceptions --enable-java-awt=gtk
> --host=x86_64-redhat-linux
> Thread model: posix
> gcc version 3.4.5 20051201 (Red Hat 3.4.5-2)
>
> $gcc --version
> gcc (GCC) 3.4.5 20051201 (Red Hat 3.4.5-2)
> 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.
>
> While building bjam by invoking $BOOST_ROOT/tools/jam/build_dist.sh, I
> got error messages as following:
>
> ./bootstrap/jam0 -f build.jam --toolset=gcc --toolset-root= clean
> ...found 1 target...
> ...updating 1 target...
> ...updated 1 target...
> ./bootstrap/jam0 -f build.jam --toolset=gcc --toolset-root=
> ...found 47 targets...
> ...updating 2 targets...
> [MKDIR] :bin.linuxx86_64 <--- *NOTICE THIS LINE*
> [COMPILE] :bin.linuxx86_64/bjam
> filemac.c:115:5: warning: C++ style comments are not allowed in ISO C90
> filemac.c:115:5: warning: (this will be reported only once per input
> file)
> /tmp/ccjqZ5Qv.o(.text+0x903): In function `var_expand':
> : undefined reference to `path_parse'
> /tmp/ccjqZ5Qv.o(.text+0x9ee): In function `var_expand':
> : undefined reference to `path_build'
> /tmp/ccjqZ5Qv.o(.text+0xa1d): In function `var_expand':
> : undefined reference to `path_parent'
> [...]
>
> You see, the bin directory name is ":bin.linuxx86_64" rather than
> "bin.linuxx86_64". Weird? I've build boost 1.35 successfully under
> cygwin, and the bin directory name is exactly "bin.cygwinx86".
>
> I think it is this wrong directory name that causes following linkage
> errors. Is it a bug or I missed something obvious in the documentation?
>
> Any suggestion is appreciated!

In jam's src directory there's build.jam, that includes the following code:

# Put executables in platform-specific subdirectory.
locate-target = $(LOCATE_TARGET) ;
if $(VMS)
{
    locate-target ?= bin$(.)vms ;
}
...
if $(debug)
{
    locate-target = [ .path $(locate-target)$(.)debug ] ;
}
else
{
    locate-target = [ .path $(locate-target) ] ;
}

Can you add:

        ECHO XXX $(locate-target) ;

after each assignment and see where the wrong name first appears?

- Volodya
 


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