Is it at all possible to build universal-binary products using MacPorts on a ppc machine? Maybe this is the source of my problems... bnilsson
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. I tried this since freetype depends on zlib, and after this I got some othrer error messages that may clarify: 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_f reetype/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_f reetype/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? Can anyone comment on this?
bnilsson
_______________________________________________ macports-users mailing list macports-users@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo/macports-users
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.
$ port variants freetype freetype has the variants: universal bytecode: Build bytecode interpreter into the TrueType driver doc: Install extra documentation When I do # port edit freetype I see nothing about "universal" variants in the portfile. On the other hand, all(?) ports seem to have a "universal" variant. Where is the scheme for creating universal variants described? 7 aug 2007 kl. 10.47 skrev Ryan Schmidt:
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_prin t_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_prin t_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.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Bengt Nilsson wrote:
$ port variants freetype freetype has the variants: universal bytecode: Build bytecode interpreter into the TrueType driver doc: Install extra documentation
When I do
# port edit freetype
I see nothing about "universal" variants in the portfile. On the other hand, all(?) ports seem to have a "universal" variant. Where is the scheme for creating universal variants described?
Universal variants are added automatically to allow generation of applications which can be used on both PowerPC and Intel processers. If the application uses ./configure then normally it works or can be very simple added. But most of the time you don't need universal variants; only if you want to use the same binary on PowerPC and Intel processors. Hope this helps, Simon - -- + privacy is necessary + using http://gnupg.org + public key id: 0x6115F804EFB33229 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (Darwin) iD8DBQFGv3M5YRX4BO+zMikRCrm1AJ4+WjIiCYpswuu6dAOG+dcdF89IZgCgjLsJ N3onoWZpscxK8jNbcuSduE4= =8wgG -----END PGP SIGNATURE-----
I had the same problem[2] on PPC and I found a solution, but I don't know if it's the right way. My system: Powerbook G3 400MHz 768MB RAM (yes old pismo) OSX 10.4.10 XCode 2.4.1 (gcc 4.0.1) super:~/port_patch administrator$ diff -Naur /opt/local/var/macports/sources/rsync.macports.org/release/ports/print/freetype/Portfile ports/print/freetype/Portfile --- /opt/local/var/macports/sources/rsync.macports.org/release/ports/print/freetype/Portfile 2007-10-16 19:50:45.000000000 +0200 +++ ports/print/freetype/Portfile 2007-10-24 00:10:17.000000000 +0200 @@ -38,6 +38,10 @@ sha1 a3edb74195eee9384d0463104edde4881d73a308 \ rmd160 d0a5cbe51eceb6c4a3a8eaaf4e3d99c2ca02266f +if {[variant_isset universal]} { + configure.ldflags-append "-isysroot /Developer/SDKs/MacOSX10.4u.sdk" +} + patchfiles \ patch-modules.cfg.diff super:~/port_patch administrator$ However Apple[1] tells LDFLAGS="-arch i386 -arch ppc", but the same thing of the note about CFLAGS for PPC may be true too for LDFLAGS al least in the case of dynamic lib. The same is for libiconv, so if it's the right way it maybe better change directly the line "default configure.universal_ldflags ..." in /opt/local/share/macports/Tcl/port1.0/portconfigure.tcl. PS: It works too with "-L/Developer/SDKs/MacOSX10.4u.sdk/usr/lib" instead of "-isysroot /Developer/SDKs/MacOSX10.4u.sdk". 1) http://developer.apple.com/technotes/tn2005/tn2137.html 2) [...] ---> Configuring freetype DEBUG: Executing org.macports.configure (freetype) DEBUG: No compiler collection selected explicitly DEBUG: Environment: CXXFLAGS='-O2 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc' CPPFLAGS='-I/opt/local/include' CFLAGS='-O2 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc' LDFLAGS='-L/opt/local/lib -arch i386 -arch ppc' DEBUG: Assembled command: 'cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5" && ./configure --prefix=/opt/local --disable-dependency-tracking' [...] gcc -dynamiclib -o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/libfreetype.6.3.16.dylib /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/ftsystem.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/ftdebug.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/ftinit.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/ftbase.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/ftbbox.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/ftbdf.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/ftbitmap.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/ftglyph.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/ftgxval.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/ftmm.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/ftotval.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/ftpfr.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/ftstroke.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/ftsynth.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/fttype1.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/ftwinfnt.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/ftxf86.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/ftlcdfil.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/ftgasp.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/ftpatent.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/truetype.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/type1.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/cff.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/type1cid.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/pfr.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/type42.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/winfnt.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/pcf.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/bdf.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/sfnt.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/autofit.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/pshinter.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/raster.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/smooth.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/ftcache.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/ftgzip.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/ftlzw.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/otvalid.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/psaux.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_print_freetype/work/freetype-2.3.5/objs/.libs/psnames.o -L/opt/local/lib -lz -arch i386 -arch ppc -install_name /opt/local/lib/libfreetype.6.dylib -compatibility_version 10 -current_version 10.16 ld: Undefined symbols: ___error _close _fcntl _free _fstat _malloc _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 /usr/bin/libtool: internal link edit command failed ld: warning prebinding not disabled because (__TEXT segment (address = 0x0 size = 0x6c000) of /var/tmp//cc3Kk0C0.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//cc3Kk0C0.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//cc3Kk0C0.out overlaps with __LINKEDIT segment (address = 0x12000 size = 0x2000) of /opt/local/lib/libz.1.dylib lipo: can't figure out the architecture type of: /var/tmp//ccLtB9vJ.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: 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 /usr/bin/libtool: internal link edit command failed ld: warning prebinding not disabled because (__TEXT segment (address = 0x0 size = 0x6c000) of /var/tmp//cc3Kk0C0.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//cc3Kk0C0.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//cc3Kk0C0.out overlaps with __LINKEDIT segment (address = 0x12000 size = 0x2000) of /opt/local/lib/libz.1.dylib lipo: can't figure out the architecture type of: /var/tmp//ccLtB9vJ.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 Warning: the following items did not execute (for freetype): org.macports.activate org.macports.build org.macports.destroot org.macports.install Error: Status 1 encountered during processing.
Gianluca Toso ha scritto:
I had the same problem[2] on PPC and I found a solution, but I don't know if it's the right way. [...] +if {[variant_isset universal]} { + configure.ldflags-append "-isysroot /Developer/SDKs/MacOSX10.4u.sdk" +} + [...]
However Apple[1] tells LDFLAGS="-arch i386 -arch ppc", but the same thing of the note about CFLAGS for PPC may be true too for LDFLAGS al least in the case of dynamic lib.
The same is for libiconv, so if it's the right way it maybe better change directly the line "default configure.universal_ldflags ..." in /opt/local/share/macports/Tcl/port1.0/portconfigure.tcl.
PS: It works too with "-L/Developer/SDKs/MacOSX10.4u.sdk/usr/lib" instead of "-isysroot /Developer/SDKs/MacOSX10.4u.sdk".
I found this old thread: http://lists.apple.com/archives/unix-porting/2005/Oct/msg00003.html http://lists.apple.com/archives/unix-porting/2005/Oct/msg00004.html So it seems that it's ok to pass -syslibroot to ld trought -Wl,-syslibroot or -isysroot in LDFLAGS, but only if the makefile doesn't pass CFLAGS (where -isysroot is already present) for linking.
participants (4)
-
Bengt Nilsson
-
Gianluca Toso
-
Ryan Schmidt
-
Simon Ruderich