[Qgis-developer] Mac Bundle Problems with release 0.8 (on i386 MacBook)

Tom Elwertowski telwertowski at comcast.net
Wed Jan 3 00:55:51 EST 2007


Tim Sutton wrote:
> Hi Tom
> 
> I downloaded and tested the new QGIS 0.8 for Mac bundle. It fails to
> start with the following output in console:
> 
> ===== quarta-feira, 3 de janeiro de 2007 00h33min28s America/Sao_Paulo 
> =====
> dyld: Symbol not found: 
> __ZN14QgsRasterLayer21setSubLayerVisibilityERK7QStringb
>  Referenced from:
> /Applications/qgis.app/Contents/MacOS/lib/libqgis_raster.1.dylib
>  Expected in: flat namespace
> 
> Jan  3 00:33:34 tim-suttons-computer crashdump[10084]: qgis crashed
> Jan  3 00:33:34 tim-suttons-computer crashdump[10084]: crash report
> written to: /Users/timsutton/Library/Logs/CrashReporter/qgis.crash.log
> 
> The crash log looks like this:
> 
>      1 **********
>      2
>      3 Host Name:      tim-suttons-computer
>      4 Date/Time:      2007-01-03 00:39:00.354 -0200
>      5 OS Version:     10.4.8 (Build 8L2127)
>      6 Report Version: 4
>      7
>      8 Command: qgis
>      9 Path:    /Applications/qgis.app/Contents/MacOS/qgis
>     10 Parent:  WindowServer [357]
>     11
>     12 Version: 0.8.0 (6361) (0.8.0)
>     13
>     14 PID:    10814
>     15 Thread: Unknown
>     16
>     17 Link (dyld) error:
>     18
>     19 Symbol not found:
> __ZN14QgsRasterLayer21setSubLayerVisibilityERK7QStringb
>     20   Referenced from:
> /Applications/qgis.app/Contents/MacOS/lib/libqgis_raster.1.dylib
>     21   Expected in: flat namespace
> 
> Regards
> 
> 

The i386 qgsrasterlayer.cpp code somehow did not make it into the 
binary. libqgis_raster.1.0.0.dylib is universal but qgsrasterlayer.o is 
not! The link should have failed due to missing input. Note below that 
the ppc code size is 5x the i386 code size.

$ lipo -detailed_info src/raster/.libs/libqgis_raster_la-qgsrasterlayer.o
input file src/raster/.libs/libqgis_raster_la-qgsrasterlayer.o is not a 
fat file
Non-fat file: src/raster/.libs/libqgis_raster_la-qgsrasterlayer.o is 
architecture: ppc

$ lipo -detailed_info src/raster/.libs/libqgis_raster.1.0.0.dylib 

Fat header in: src/raster/.libs/libqgis_raster.1.0.0.dylib
fat_magic 0xcafebabe
nfat_arch 2
architecture i386
     cputype CPU_TYPE_I386
     cpusubtype CPU_SUBTYPE_I386_ALL
     offset 4096
     size 670856
     align 2^12 (4096)
architecture ppc
     cputype CPU_TYPE_POWERPC
     cpusubtype CPU_SUBTYPE_POWERPC_ALL
     offset 675840
     size 3252064
     align 2^12 (4096)

I will recompile qgsrasterlayer.cpp and send you a pointer for i386 
testing. Until then, the following might make it in run in ppc emulation 
mode.

$ lipo qgis.app/Contents/MacOS/qgis -thin ppc -output 
qgis.app/Contents/MacOS/qgis

Tom



More information about the Qgis-developer mailing list