freetype +universal fails to install

Ryan Schmidt ryandesign at macports.org
Tue Aug 7 01:47:58 PDT 2007


On Aug 6, 2007, at 08:31, Bengt Nilsson wrote:

> 6 aug 2007 kl. 14.55 skrev Bengt Nilsson:
>
>> Is it at all possible to build universal-binary products using  
>> MacPorts on a ppc machine?
>> Maybe this is the source of my problems...
>
> I was able to build zlib +universal successfully, so that can't be it.

Right, it should work, in general, though apparently it's broken for  
freetype in particular.

> I tried this since freetype depends on zlib, and after this I got  
> some othrer error messages that may clarify:

Yes, you definitely need to build all dependencies as universal first.

> mc2-p039:/Users/bnilsson root# port install freetype +universal
> --->  Fetching freetype
> --->  Verifying checksum(s) for freetype
> --->  Extracting freetype
> --->  Applying patches to freetype
> --->  Configuring freetype
> --->  Building freetype with target all
> Error: Target org.macports.build returned: shell command " cd "/opt/ 
> local/var/macports/build/ 
> _opt_local_var_macports_sources_rsync.macports.org_release_ports_print 
> _freetype/work/freetype-2.3.5" && make all " returned error 2
> Command output: _mmap
> _munmap
> _open
> _read
> _realloc
> _longjmp
> _memcpy
> _memmove
> _memset
> _strcat
> _strcmp
> _strncpy
> _strrchr
> _strstr
> _qsort
> _strncmp
> _atol
> _sprintf
> _memchr
> _setjmp
> _memcpy referenced from libz expected to be defined in /usr/lib/ 
> libSystem.B.dylib
> _free referenced from libz expected to be defined in /usr/lib/ 
> libSystem.B.dylib
> _malloc referenced from libz expected to be defined in /usr/lib/ 
> libSystem.B.dylib
> _memset referenced from libz expected to be defined in /usr/lib/ 
> libSystem.B.dylib
> ld: warning prebinding not disabled because (__TEXT segment  
> (address = 0x0 size = 0x6c000) of /var/tmp//cc4g3v1H.out overlaps  
> with __TEXT segment (address = 0x0 size = 0x11000) of /opt/local/ 
> lib/libz.1.dylib
> ld: warning prebinding not disabled because (__TEXT segment  
> (address = 0x0 size = 0x6c000) of /var/tmp//cc4g3v1H.out overlaps  
> with __DATA segment (address = 0x11000 size = 0x1000) of /opt/local/ 
> lib/libz.1.dylib
> ld: warning prebinding not disabled because (__TEXT segment  
> (address = 0x0 size = 0x6c000) of /var/tmp//cc4g3v1H.out overlaps  
> with __LINKEDIT segment (address = 0x12000 size = 0x2000) of /opt/ 
> local/lib/libz.1.dylib
> /usr/bin/libtool: internal link edit command failed
> lipo: can't figure out the architecture type of: /var/tmp// 
> ccFoopYY.out
> make: *** [/opt/local/var/macports/build/ 
> _opt_local_var_macports_sources_rsync.macports.org_release_ports_print 
> _freetype/work/freetype-2.3.5/objs/libfreetype.la] Error 1
>
> Error: Status 1 encountered during processing.
>
> It seems it tries to link to /usr/lib/libSystem.B.dylib, while I  
> suspect it should link to /Developer/SDKs/MacOSX10.4u.sdk/usr/lib/ 
> libSystem.B.dylib.
>
> Am I right? If so, how should the portfile me changed to achieve this?

That sounds plausible. Unfortunately I don't know what needs to be  
done to achieve this. If you find out, let me know and I'll be happy  
to update the portfile.

I see one old thread in Google about an old version of freetype where  
the advice for building freetype universal was to do it the "hard"  
way, compiling twice with different -arch switches and combining with  
lipo. We have a couple ports that do this, but it's not exactly build  
into MacPorts yet, so I would need to research how to do this, and  
then someone on PowerPC would need to test whether that fixed the  
problem. I myself no longer have a PowerPC Mac to test on. :-/ Though  
I'm trying to see if I can emulate it somehow.






More information about the macports-users mailing list