Boost logo

Boost-Build :

Subject: Re: [Boost-build] Building boost-1.36 on freebsd-6.1-amd64
From: Alexander Sack (pisymbol_at_[hidden])
Date: 2008-10-22 12:10:20


On Tue, Oct 21, 2008 at 6:41 PM, Alexander Sack <pisymbol_at_[hidden]> wrote:
> On Tue, Oct 21, 2008 at 2:33 PM, Alexander Sack <pisymbol_at_[hidden]> wrote:
>> On Tue, Oct 21, 2008 at 1:53 PM, Alexander Sack <pisymbol_at_[hidden]> wrote:
>>> I'm having an issue which I'm not sure is that serious. When I
>>> execute the build (after some patching), I notice a couple of tests
>>> fail with:
>>>
>>> gcc.compile.c++
>>> bin.v2/libs/test/build/gcc-3.4.4/release/threading-multi/execution_monitor.o
>>>
>>> "g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline
>>> -Wall -fPIC -pthread -DBOOST_ALL_NO_LIB=1 -DBOOST_TEST_DYN_LINK=1
>>> -DNDEBUG -I"." -c -o
>>> "bin.v2/libs/test/build/gcc-3.4.4/release/threading-multi/execution_monitor.o"
>>> "libs/test/src/execution_monitor.cpp"
>>>
>>> In file included from libs/test/src/execution_monitor.cpp:16:
>>> ./boost/test/impl/execution_monitor.ipp: In member function `void
>>> boost::detail::system_signal_exception::report() const':
>>> ./boost/test/impl/execution_monitor.ipp:281: error: `ILL_ILLOPC'
>>> undeclared (first use this function)
>>> ./boost/test/impl/execution_monitor.ipp:281: error: (Each undeclared
>>> identifier is reported only once for each function it appears in.)
>>> ./boost/test/impl/execution_monitor.ipp:286: error: `ILL_ILLOPN'
>>> undeclared (first use this function)
>>> ./boost/test/impl/execution_monitor.ipp:291: error: `ILL_ILLADR'
>>> undeclared (first use this function)
>>> ./boost/test/impl/execution_monitor.ipp:296: error: `ILL_ILLTRP'
>>> undeclared (first use this function)
>>> ./boost/test/impl/execution_monitor.ipp:301: error: `ILL_PRVOPC'
>>> undeclared (first use this function)
>>> ./boost/test/impl/execution_monitor.ipp:306: error: `ILL_PRVREG'
>>> undeclared (first use this function)
>>> ./boost/test/impl/execution_monitor.ipp:311: error: `ILL_COPROC'
>>> undeclared (first use this function)
>>> ./boost/test/impl/execution_monitor.ipp:316: error: `ILL_BADSTK'
>>> undeclared (first use this function)
>>> ./boost/test/impl/execution_monitor.ipp:371: error: `SEGV_MAPERR'
>>> undeclared (first use this function)
>>> ./boost/test/impl/execution_monitor.ipp:376: error: `SEGV_ACCERR'
>>> undeclared (first use this function)
>>> ./boost/test/impl/execution_monitor.ipp:386: error: `BUS_ADRALN'
>>> undeclared (first use this function)
>>> ./boost/test/impl/execution_monitor.ipp:391: error: `BUS_ADRERR'
>>> undeclared (first use this function)
>>> ./boost/test/impl/execution_monitor.ipp:396: error: `BUS_OBJERR'
>>> undeclared (first use this function)
>>> ./boost/test/impl/execution_monitor.ipp:406: error: `CLD_EXITED'
>>> undeclared (first use this function)
>>> ./boost/test/impl/execution_monitor.ipp:411: error: `CLD_KILLED'
>>> undeclared (first use this function)
>>> ./boost/test/impl/execution_monitor.ipp:416: error: `CLD_DUMPED'
>>> undeclared (first use this function)
>>> ./boost/test/impl/execution_monitor.ipp:421: error: `CLD_TRAPPED'
>>> undeclared (first use this function)
>>> ./boost/test/impl/execution_monitor.ipp:426: error: `CLD_STOPPED'
>>> undeclared (first use this function)
>>> ./boost/test/impl/execution_monitor.ipp:431: error: `CLD_CONTINUED'
>>> undeclared (first use this function)
>>> ./boost/test/impl/execution_monitor.ipp:441: error: `SIGPOLL'
>>> undeclared (first use this function)
>>> ./boost/test/impl/execution_monitor.ipp:443: error: `POLL_IN'
>>> undeclared (first use this function)
>>> ./boost/test/impl/execution_monitor.ipp:448: error: `POLL_OUT'
>>> undeclared (first use this function)
>>> ./boost/test/impl/execution_monitor.ipp:453: error: `POLL_MSG'
>>> undeclared (first use this function)
>>> ./boost/test/impl/execution_monitor.ipp:458: error: `POLL_ERR'
>>> undeclared (first use this function)
>>> ./boost/test/impl/execution_monitor.ipp:463: error: `POLL_PRI'
>>> undeclared (first use this function)
>>> ./boost/test/impl/execution_monitor.ipp:468: error: `POLL_HUP'
>>> undeclared (first use this function)
>>> ./boost/test/impl/execution_monitor.ipp: In constructor
>>> `boost::detail::signal_handler::signal_handler(bool, int, bool,
>>> char*)':
>>> ./boost/test/impl/execution_monitor.ipp:626: error: `SIGPOLL'
>>> undeclared (first use this function)
>>>
>>> It seems my signal.h doesn't define all of these. Is this a known
>>> issue? Is there a workaround? The rest of the library I believe I
>>> have gotten to build without issue (a couple of targets fail but the
>>> build says that is expected)
>>>
>>> I also get at the end of my build:
>>>
>>> ...failed updating 8 targets...
>>> Not all Boost libraries built properly.
>>>
>>> How can I tell what 8 targets this was?
>>>
>>
>> On a side note, it seems looking at kernel source, that FreeBSD 6
>> trap.c does not support these optional codes (SIGPOLL I can make SIGIO
>> effectively) but the rest are all optional. FreeBSD 7 added I believe
>> most of them (but does not use all of them).
>>
>> What is the execution_monitor.ipp and how important is it in the
>> overall Boost build? Is it possible to get a clean build on FreeBSD
>> 6?
>
> Alright more reading, looks like I don't have to worry about this.
> However, I want to say that the Execution Monitor is not that portable
> across FreeBSD platforms and needs a lot of ifdef'ing to get it to go.
>
> I also ran across the Config library failing with a test with
>
> /libexec/ld-elf.so.1: /usr/lib32/libc.so.6: unsupported file layout
>
> Does anyone know why this is?

I do! Its because the test sets the LD_LIBRARY_PATH to
/usr/lib:/usr/lib32:/usr/lib64 which on FreeBSD 64-bit will barf. You
can't put /usr/lib32 on the PATH when building 64-bit binaries. Work
around for now is to move /usr/lib32 out of the way (rename it to
lib32.old etc.).

Is this a known issue? I'm answering my own email for other poor
souls who are trying to port Boost to *BSD platforms. Yes I know
there is a port (its 1.34 and I want 1.36 features). I'm really
surprised the Boost team hasn't fixed some of these issues already as
part of the build (it seems FreeBSD was left out of testing!).

I'm rerunning the build hoping to get a full 1.36 implementation on my
amd64 FreeBSD 6.x machine.

-aps


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