GNU Build-Umgebung auf PPC umstellen?

N

nnd

Neues Mitglied
Thread Starter
Dabei seit
30.12.2009
Beiträge
16
Reaktionspunkte
25
Hallo,

ich habe einige OpenSource-Tools, die via ./configure && make && make install kompiliert werden - diese möchte ich jetzt auf einem Intel-Mac als PPC-Versionen kompilieren.
Wie kann ich nun dafür sorgen, dass alles für PPC und nicht i386 kompiliert wird?

Danke schonmal im Voraus.
 
-arch ppc
gcc as flag mitgeben...
 
Hu? So einfach kann das doch nicht gehen, dass man "-arch ppc" in die LDFlags einbaut, bist du sicher?
 
unsinn...


Linker und Compiler benötigen die -arch Angabe.
 
Zuletzt bearbeitet:
Also in LDFLAGS und CFLAGS? Muss man da nicht noch irgendwie das SDK und die Header umstellen oder so?
 
SDK musst du nur umstellen, wenn du auf 10.6 bist.
denn für PPC gibt es ja kein 10.6 mehr...
ansonsten sind die header alle universal...
 
Mh, das funktioniert nicht so ganz ... wie soll ich denn ./configure und make konkret aufrufen?
 
irgendwo in der Xcode anleitung bzw auf der developer seite, gibt es auch eine anleitung wie configure/make eingebunden wird.
 
Mh, die Seiten durchforste ich schon seit über zwei Tagen und habe nichts vernünftiges gefunden, deshalb frage ich ja hier :)
 
Mit den CFLAGS funktioniert das tatsächlich auch - aber nicht bei allen Projekten. libogg und libvorbis lassen sich damit kompilieren, libtheora aber nicht.

//Nachtrag:
Apple schlägt ja vor, es so zu machen:
Code:
env CFLAGS="-O -g -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" LDFLAGS="-arch i386 -arch ppc"   ./configure--disable-dependency-tracking
Das funktioniert aber schlichtweg nicht.
 
manche projekte nutzen halt in den unterverzeichnissen eigene make files, hast das mal überprüft?
hast du die CFLAGS auch schon vor configure gesetzt?
 
Mhja, ich habe das so gemacht wie im vorigen Post beschrieben.
 
Keine Idee?
 
ohne konkrete fehlermeldung nicht, nein ;)
 
Wie äußert sich denn das "funktioniert nicht"?
 
Tut mir Leid, ich sollte ja eigentlich wissen, dass "funktioniert nicht" keine Fehlermeldung ist :eek:

Naja, hier ist zum Beispiel das, was LAME beim Kompilieren ausgibt, nachdem es eine Zeit lang problemlos funktioniert hat:
Code:
bash-3.2# make CFLAGS="-arch ppc"
make  all-recursive
Making all in mpglib
make[2]: Nothing to be done for `all'.
Making all in libmp3lame
Making all in i386
make[3]: Nothing to be done for `all'.
Making all in vector
/bin/sh ../../libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H  -I. -I../.. -I../../include -I. -I../../libmp3lame -I../../mpglib -I../..    -arch ppc -c -o xmm_quantize_sub.lo xmm_quantize_sub.c
 gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I. -I../../libmp3lame -I../../mpglib -I../.. -arch ppc -c xmm_quantize_sub.c  -fno-common -DPIC -o .libs/xmm_quantize_sub.o
xmm_quantize_sub.c:37:23: error: xmmintrin.h: No such file or directory
xmm_quantize_sub.c:40: error: syntax error before '__m128'
xmm_quantize_sub.c:40: warning: no semicolon at end of struct or union
xmm_quantize_sub.c:42: error: syntax error before '}' token
xmm_quantize_sub.c:42: warning: data definition has no type or storage class
xmm_quantize_sub.c: In function 'init_xrpow_core_sse':
xmm_quantize_sub.c:55: error: nested functions are disabled, use -fnested-functions to re-enable
xmm_quantize_sub.c:55: error: syntax error before 'vec_fabs_mask'
xmm_quantize_sub.c:59: error: '_MM_HINT_T0' undeclared (first use in this function)
xmm_quantize_sub.c:59: error: (Each undeclared identifier is reported only once
xmm_quantize_sub.c:59: error: for each function it appears in.)
xmm_quantize_sub.c:62: error: 'vec_xrpow_max' undeclared (first use in this function)
xmm_quantize_sub.c:63: error: 'vec_sum' undeclared (first use in this function)
xmm_quantize_sub.c:66: error: '__m128' undeclared (first use in this function)
xmm_quantize_sub.c:66: error: syntax error before 'vec_tmp'
xmm_quantize_sub.c:68: error: 'vec_tmp' undeclared (first use in this function)
xmm_quantize_sub.c:69: error: 'vec_fabs_mask' undeclared (first use in this function)
make[3]: *** [xmm_quantize_sub.lo] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
bash-3.2#
 
Naja, hier ist zum Beispiel das, was LAME beim Kompilieren ausgibt, nachdem es eine Zeit lang problemlos funktioniert hat:
Code:
xmm_quantize_sub.c:37:23: error: xmmintrin.h: No such file or directory

der findet halt ein header file nicht und der rest der fehler wird davon wohl abhängen...
 
Fragt sich nur, warum - für Intel funktioniert das ja problemlos.
 
Zurück
Oben Unten