Boost logo

Boost-Build :

From: Boris Gubenko (Boris.Gubenko_at_[hidden])
Date: 2007-10-26 16:37:32


Ruediger Berlich wrote:
> from what I can see build.sh first creates a "jam0" which in turn manages
> compilation the actual bjam executable. I can see that
> the -fno-strict-aliasing is added in the compilation of jam0 if I update
> build.sh the way you suggest. The flag does not appear in the console
> messages during the compilation of the bjam executable:

You are right. I think the flag should be in boost/tools/jam/src/build.jam
which is a jamfile jam0 is using for building bjam. I hope I'll be able to
verify it later today.

Sorry for the confusion,
  Boris

----- Original Message -----
From: "Ruediger Berlich" <ruediger.berlich_at_[hidden]>
To: <boost-build_at_[hidden]>
Sent: Friday, October 26, 2007 3:25 PM
Subject: Re: [Boost-build] Compiling 1.34.1 on OpenSUSE 10.3

> Hi,
>
> from what I can see build.sh first creates a "jam0" which in turn manages
> compilation the actual bjam executable. I can see that
> the -fno-strict-aliasing is added in the compilation of jam0 if I update
> build.sh the way you suggest. The flag does not appear in the console
> messages during the compilation of the bjam executable:
>
> gcc -fno-strict-aliasing -o bootstrap/jam0 command.c compile.c debug.c
> expand.c glob.c hash.c hdrmacro.c headers.c jam.c jambase.c jamgram.c
> lists.c make.c make1.c newstr.c option.c output.c parse.c pathunix.c
> pathvms.c regexp.c rules.c scan.c search.c subst.c timestamp.c variable.c
> modules.c strings.c filesys.c builtins.c pwd.c class.c native.c
> w32_getreg.c modules/set.c modules/path.c modules/regex.c
> modules/property-set.c modules/sequence.c modules/order.c execunix.c
> fileunix.c
> ./bootstrap/jam0 -f build.jam --toolset=gcc --toolset-root= clean
> ...found 1 target...
> ...updating 1 target...
> [DELETE] clean
> ...updated 1 target...
> ./bootstrap/jam0 -f build.jam --toolset=gcc --toolset-root=
> ...found 47 targets...
> ...updating 1 target...
> [COMPILE] bin.linuxx86/bjam
> ...updated 1 target...
>
> And, as mentioned in another mail, if I call this new bjam executable, it
> segfaults. jam0 runs fine, though. So up to now the only option seems to be
> "./build.sh gcc --debug".
>
> Where would I have to add the -fno-strict-aliasing flag so that it is used
> by jam0 for the compilation of bjam ?
>
> Thanks and Best Regards,
> Ruediger
>
>
>
>
>
> Boris Gubenko wrote:
>> Ruediger Berlich wrote:
>>> I am particularly unsure whether the compiler bug you mention also
>>> applies to the configuration of the actual library files (rather than
>>> only bjam).
>>
>> Only bjam.
>>
>>> If so: where would I have to add the compiler flag ?
>>
>> I'd have added it to boost/tools/jam/src/build.sh :
>>
>> gcc)
>> BOOST_JAM_CC="gcc -fno-strict-aliasing"
>> ;;
>>
>> HTH,
>> Boris
>>
>> ----- Original Message -----
>> From: "Ruediger Berlich" <ruediger.berlich_at_[hidden]>
>> To: <boost-build_at_[hidden]>
>> Sent: Thursday, October 25, 2007 2:23 PM
>> Subject: Re: [Boost-build] Compiling 1.34.1 on OpenSUSE 10.3
>>
>>
>>> Hi there,
>>>
>>> thanks for the hints. Here is how I got the library to compile on
>>> OpenSUSE 10.3 . Note that I did not have time to check whether everything
>>> works yet.
>>>
>>> - made sure the python-devel package was installed (has the Python.h file
>>> and is *not* installed by default!)
>>> - Ran configure
>>> - Went to the boost_1_34_1/tools/jam/src directory
>>> - Ran "./build.sh gcc --debug"
>>> - From the top directory
>>> ran "./tools/jam/src/bin.linuxx86.debug/bjam
>>> --user-config=user-config.jam"
>>>
>>> Probably the "configure" call was'nt even necessary in this case ?
>>>
>>> I am particularly unsure whether the compiler bug you mention also
>>> applies to the configuration of the actual library files (rather than
>>> only bjam).
>>>
>>> If so: where would I have to add the compiler flag ? BTW, I believe the
>>> flag
>>> is not called --fno-strict-alias , but --fno-strict-aliasing
>>>
>>> Thanks and best Regards,
>>> Ruediger
>>>
>>>
>>>
>>> Rene Rivera wrote:
>>>> Vladimir Prus wrote:
>>>>> On Wednesday 24 October 2007 18:27:30 Ruediger Berlich wrote:
>>>>>> OpenSUSE 10.3 is still delivered with Boost 1.33.1 . Hence I've
>>>>>> downloaded Boost 1.34.1 and tried to compile it. I ran the configure
>>>>>> script and then make. The resulting bjam immediately dies with an
>>>>>> error:
>>>>>>
>>>>>> ./tools/jam/src/bin.linuxx86/bjam --user-config=user-config.jam
>>>>>> /bin/sh: line 1: 2090
>>>>>> Speicherzugriffsfehler ./tools/jam/src/bin.linuxx86/bjam
>>>>>> --user-config=user-config.jam
>>>>>>
>>>>>> "Speicherzugriffsfehler" means "memory access violation".
>>>>>>
>>>>>> This is on a Pentium-D dual-core system (4GB main memory) running with
>>>>>> a 32-bit Linux kernel 2.6.22, g++ 4.2.1 .
>>>>>
>>>>> Rene,
>>>>> does this sound like that alias analysis issue with g++ 4.2?
>>>>
>>>> Yep, it's the aliasing problem with gcc-4.2
>>>>
>>>>> Have we figured the
>>>>> exact cause of this crash,
>>>>
>>>> Nope, other than it's a compiler bug.
>>>>
>>>>> and any approach for working it around?
>>>>
>>>> The only work around I know of is to compile a debug version, or with
>>>> --fno-strict-alias, IIRC.
>>>>
>>>
>>>
>>> _______________________________________________
>>> Unsubscribe & other changes:
>>> http://lists.boost.org/mailman/listinfo.cgi/boost-build
>>>
>>
>> _______________________________________________
>> Unsubscribe & other changes:
>> http://lists.boost.org/mailman/listinfo.cgi/boost-build
>
>
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost-build
>


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