failed build with current mercurial sources
Ben Abbott
bpabbott at mac.com
Sun Mar 9 13:20:16 CDT 2008
On Mar 9, 2008, at 2:06 PM, Marius Schamschula wrote:
>
> On Mar 9, 2008, at 12:31 PM, Jaroslav Hajek wrote:
>
>> On Sun, Mar 9, 2008 at 5:16 PM, Ben Abbott <bpabbott at mac.com> wrote:
>>>
>>> On Mar 9, 2008, at 5:57 AM, Jaroslav Hajek wrote:
>>>
>>>> On Sat, Mar 8, 2008 at 5:18 PM, Ben Abbott <bpabbott at mac.com>
>>>> wrote:
>>>>>
>>>>> On Mar 8, 2008, at 5:08 AM, Jaroslav Hajek wrote:
>>>>>
>>>>>>>
>>>>>>> I have access to an older Fedora 4 system with gcc 4.0.2 -
>>>>>>> I'll try
>>>>>>> to
>>>>>>> compile Octave there and reproduce the segfault.
>>>>>>>
>>>>>> I compiled Octave on a Fedora 4 Linux box with gcc/gfortran
>>>>>> 4.0.2,
>>>>>> but
>>>>>> the relevant qr test passes OK. Unless someone confirms the
>>>>>> problem on
>>>>>> a different platform, I'm inclined to attribute it to a bug in
>>>>>> gfortran 4.0.1.
>>>>>
>>>>> hmmm ... since I'm compiling with gfortran4.2.2, I assume our
>>>>> mean a
>>>>> bug in gcc 4.0.1, or in gfortran 4.2.2?
>>>>>
>>>>
>>>> So you're mixing two different gcc versions? Which libgcc_s does
>>>> libcruft link to, the system version or the 4.2 version?
>>>
>>> Unfortunately, don't know where to begin looking to answer that
>>> question.
>>>
>>> How might I go about determining that?
>>>
>>> Ben
>>>
>>
>> After you compile Octave, use
>>
>> ldd /path/to/octave
>
> The Mac equivalent of ldd is otool -L, i.e. use
>
> otool -L path/to/octave
>
>> one of the many references output should be to
>> libgcc_s.so.1
>>
>> this will probably refer either to /System/Library/.../libgcc_s.so.1
>> or to /sw/gcc42/lib/libgcc_s.so.1.
>> The former case may cause problems, as your gfortran 4.2 expects the
>> 4.2 version of libgcc_s (if there were changes, which I think is
>> likely). libgcc should be backward compatible (so linking with 4.0.x
>> to 4.2.x version should be safe), but obviously forward compatibility
>> is uncertain.
Here's the result
$ otool -L ./octave
./octave:
/sw/lib/octave-3.0.0+/liboctinterp.dylib (compatibility version
0.0.0, current version 0.0.0)
/sw/lib/octave-3.0.0+/liboctave.dylib (compatibility version 0.0.0,
current version 0.0.0)
/sw/lib/octave-3.0.0+/libcruft.dylib (compatibility version 0.0.0,
current version 0.0.0)
/System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
(compatibility version 1.0.0, current version 4.0.0)
/sw/lib/libfftw3.3.dylib (compatibility version 5.0.0, current
version 5.1.0)
/sw/lib/libreadline.5.dylib (compatibility version 5.0.0, current
version 5.0.0)
/sw/lib/ncurses/libncurses.5.dylib (compatibility version 5.0.0,
current version 5.0.0)
/sw/lib/libhdf5.0.dylib (compatibility version 1.0.0, current version
1.0.0)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version
1.2.3)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
version 111.0.0)
/sw/lib/gcc4.2/lib/libgfortran.2.dylib (compatibility version 3.0.0,
current version 3.0.0)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current
version 7.4.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current
version 1.0.0)
Ben
More information about the Bug-octave
mailing list