On Nov 23, 2009, at 4:39 PM, Martin Costabel wrote:

> Ben Abbott wrote:
>> On Nov 22, 2009, at 10:09 AM, Martin Costabel wrote:
> []
>>> Did the CrashReporter write something in ~/Library/Logs?
>>> 
>> []
>> The file below is from ~/Library/Logs/DiagnosticReports.
> 
> I don't really know what's going on; I can only speculate.
> 
> What looks suspicious to me is the following:
> There are two copies of libstdc++ loaded
> 
> 0x2bf7000 -  0x2c88fe7 +libstdc++.6.dylib /sw/lib/gcc4.4/lib/libstdc++.6.dylib
> 
> 0x98a75000 - 0x98adffe7  libstdc++.6.dylib /usr/lib/libstdc++.6.dylib
> 
> The crash happens inside Apple's libstdc++, and this seems to be pulled in 
> from liboctinterp-3.3.50+.dylib.
> 
> Did you compile parts of that dylib with Fink's c++-4.4 and parts with 
> Apple's c++-4.2? Maybe this leads to the crash.
> 
> -- 
> Martin

I have a rather poor understanding for how libtool works. It does appear that 
either I've linked to gcc 4.4 and gcc 4.2's dylibs, or that the 4.2 version is 
erroneously being loaded at run time.

Using otool to look at the binary ...

$ otool -L src/.libs/octave 
src/.libs/octave:
        /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL 
(compatibility version 1.0.0, current version 1.0.0)
        /sw/lib/gcc4.4/lib/libgfortran.3.dylib (compatibility version 4.0.0, 
current version 4.0.0)
        /sw/lib/octave-3.3.50+/liboctinterp-3.3.50+.dylib (compatibility 
version 0.0.0, current version 0.0.0)
        /sw/lib/octave-3.3.50+/liboctave-3.3.50+.dylib (compatibility version 
0.0.0, current version 0.0.0)
        /sw/lib/octave-3.3.50+/libcruft-3.3.50+.dylib (compatibility version 
0.0.0, current version 0.0.0)
        /sw/lib/libpcre.0.dylib (compatibility version 1.0.0, current version 
1.1.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current 
version 125.0.0)
        /sw/lib/libGraphicsMagick.3.dylib (compatibility version 6.0.0, current 
version 6.0.0)
        /sw/lib/libfftw3.3.dylib (compatibility version 6.0.0, current version 
6.4.0)
        /sw/lib/libfftw3f.3.dylib (compatibility version 6.0.0, current version 
6.4.0)
        /sw/lib/fltk-aqua/lib/libfltk_gl.1.1.dylib (compatibility version 
1.1.0, current version 1.1.4)
        /System/Library/Frameworks/AGL.framework/Versions/A/AGL (compatibility 
version 1.0.0, current version 1.0.0)
        /sw/lib/fltk-aqua/lib/libfltk.1.1.dylib (compatibility version 1.1.0, 
current version 1.1.4)
        /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon 
(compatibility version 2.0.0, current version 152.0.0)
        /sw/lib/freetype219/lib/libfreetype.6.dylib (compatibility version 
10.0.0, current version 10.19.0)
        /sw/lib/libhdf5.0.dylib (compatibility version 1.0.0, current version 
1.0.0)
        /sw/lib/libsz.2.dylib (compatibility version 3.0.0, current version 
3.0.0)
        /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 
1.2.3)
        /usr/X11/lib/libfontconfig.1.dylib (compatibility version 5.0.0, 
current version 5.0.0)
        /usr/X11/lib/libX11.6.dylib (compatibility version 9.0.0, current 
version 9.0.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)
        /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate 
(compatibility version 1.0.0, current version 4.0.0)
        /sw/lib/gcc4.4/lib/libgcc_s.1.dylib (compatibility version 1.0.0, 
current version 1.0.0)

It appears that the proper gcc 4.4 dylibs are listed.

Looking at the interpreter's library ...

$ otool -L src/.libs/liboctinterp.dylib 
src/.libs/liboctinterp.dylib:
        /sw/lib/octave-3.3.50+/liboctinterp-3.3.50+.dylib (compatibility 
version 0.0.0, current version 0.0.0)
        /sw/lib/octave-3.3.50+/liboctave-3.3.50+.dylib (compatibility version 
0.0.0, current version 0.0.0)
        /sw/lib/octave-3.3.50+/libcruft-3.3.50+.dylib (compatibility version 
0.0.0, current version 0.0.0)
        /sw/lib/libpcre.0.dylib (compatibility version 1.0.0, current version 
1.1.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current 
version 125.0.0)
        /sw/lib/gcc4.4/lib/libgfortran.3.dylib (compatibility version 4.0.0, 
current version 4.0.0)
        /sw/lib/libGraphicsMagick.3.dylib (compatibility version 6.0.0, current 
version 6.0.0)
        /sw/lib/fltk-aqua/lib/libfltk_gl.1.1.dylib (compatibility version 
1.1.0, current version 1.1.4)
        /sw/lib/fltk-aqua/lib/libfltk.1.1.dylib (compatibility version 1.1.0, 
current version 1.1.4)
        /sw/lib/libfftw3.3.dylib (compatibility version 6.0.0, current version 
6.4.0)
        /sw/lib/libfftw3f.3.dylib (compatibility version 6.0.0, current version 
6.4.0)
        /sw/lib/libhdf5.0.dylib (compatibility version 1.0.0, current version 
1.0.0)
        /sw/lib/libsz.2.dylib (compatibility version 3.0.0, current version 
3.0.0)
        /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 
1.2.3)
        /usr/X11/lib/libfontconfig.1.dylib (compatibility version 5.0.0, 
current version 5.0.0)
        /usr/X11/lib/libX11.6.dylib (compatibility version 9.0.0, current 
version 9.0.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)
        /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate 
(compatibility version 1.0.0, current version 4.0.0)
        /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL 
(compatibility version 1.0.0, current version 1.0.0)
        /sw/lib/gcc4.4/lib/libstdc++.6.dylib (compatibility version 7.0.0, 
current version 7.13.0)
        /sw/lib/gcc4.4/lib/libgcc_s.1.dylib (compatibility version 1.0.0, 
current version 1.0.0)

The interpreter also appears to be linked properly.

Looking at liboctave & libcruft

$ otool -L liboctave/.libs/liboctave.dylib 
liboctave/.libs/liboctave.dylib:
        /sw/lib/octave-3.3.50+/liboctave-3.3.50+.dylib (compatibility version 
0.0.0, current version 0.0.0)
        /sw/lib/octave-3.3.50+/libcruft-3.3.50+.dylib (compatibility version 
0.0.0, current version 0.0.0)
        /sw/lib/gcc4.4/lib/libgfortran.3.dylib (compatibility version 4.0.0, 
current version 4.0.0)
        /sw/lib/libGraphicsMagick.3.dylib (compatibility version 6.0.0, current 
version 6.0.0)
        /sw/lib/fltk-aqua/lib/libfltk_gl.1.1.dylib (compatibility version 
1.1.0, current version 1.1.4)
        /sw/lib/fltk-aqua/lib/libfltk.1.1.dylib (compatibility version 1.1.0, 
current version 1.1.4)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current 
version 125.0.0)
        /sw/lib/libfftw3.3.dylib (compatibility version 6.0.0, current version 
6.4.0)
        /sw/lib/libfftw3f.3.dylib (compatibility version 6.0.0, current version 
6.4.0)
        /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate 
(compatibility version 1.0.0, current version 4.0.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/libpcre.0.dylib (compatibility version 1.0.0, current version 
1.1.0)
        /sw/lib/gcc4.4/lib/libstdc++.6.dylib (compatibility version 7.0.0, 
current version 7.13.0)
        /sw/lib/gcc4.4/lib/libgcc_s.1.dylib (compatibility version 1.0.0, 
current version 1.0.0)
        /System/Library/Frameworks/vecLib.framework/Versions/A/vecLib 
(compatibility version 1.0.0, current version 268.0.0)

$ otool -L libcruft/.libs/libcruft.dylib 
libcruft/.libs/libcruft.dylib:
        /sw/lib/octave-3.3.50+/libcruft-3.3.50+.dylib (compatibility version 
0.0.0, current version 0.0.0)
        /sw/lib/gcc4.4/lib/libgfortran.3.dylib (compatibility version 4.0.0, 
current version 4.0.0)
        /sw/lib/libGraphicsMagick.3.dylib (compatibility version 6.0.0, current 
version 6.0.0)
        /sw/lib/fltk-aqua/lib/libfltk_gl.1.1.dylib (compatibility version 
1.1.0, current version 1.1.4)
        /sw/lib/fltk-aqua/lib/libfltk.1.1.dylib (compatibility version 1.1.0, 
current version 1.1.4)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current 
version 125.0.0)
        /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate 
(compatibility version 1.0.0, current version 4.0.0)
        /sw/lib/gcc4.4/lib/libstdc++.6.dylib (compatibility version 7.0.0, 
current version 7.13.0)
        /sw/lib/gcc4.4/lib/libgcc_s.1.dylib (compatibility version 1.0.0, 
current version 1.0.0)
        /System/Library/Frameworks/vecLib.framework/Versions/A/vecLib 
(compatibility version 1.0.0, current version 268.0.0)

Is it possible that the wrong dylib is being loaded at run time? Is there a way 
to (safely) test the idea?

Ben









------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Fink-users mailing list
Fink-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-users

Reply via email to