- Registriert
- 03.09.05
- Beiträge
- 8.740
Hi!
Ich habe hier eine kleine Herausforderung mit dem Quellcode von rsync 3.0.2. Diesen zu compilieren ist ein Kinderspiel und gelingt erwartungsgemäß auch unter Leopard völlig problemlos. Lösungen konnte ich leider weder bei Apple, noch hier noch sonstwo per Google finden. Meine Aufgabenstellung präsentiert sich folgendermaßen:
Ich möchte diese Source explizit gegen das 10.4u SDK linken und nicht gegen das 10.5 SDK. Ziel soll ein Universal-Binary sein welches für ppc, ppc64, i386 und x86_64 optimiert ist und eben unter 10.4.x (von mir aus 10.4.11) und 10.5 läuft.
Leider gelingt es mir nicht dem gcc und dem ld klarzumachen, daß ich auch unter Leopard gegen das 10.4u SDK builden möchte.
Installiert ist Xcode 3.1 (beta, aus dem iPhone SDK beta 2, noch nicht die aktuelle beta 3)
Component versions
Xcode IDE: 1057.0
Xcode Core: 1056.0
ToolSupport: 1056.0
$ gcc --version
powerpc-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5478)
Die rsync 3.0.2 Source wurde aus dem offiziellen stable tarball genommen.
Ich habe schon versucht vor dem ./configure die Environment Variablen wie folgt zu setzen:
CFLAGS"=-g -O3 -DHAVE_CONFIG_H -Wall -W -I./popt -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 -arch ppc64 -arch x86_64"
LDFLAGS="-arch ppc -arch i386 -arch ppc64 -arch x86_64"
Leider werden die Architekturen und mein SDK Wunsch völlig ignoriert. Selbst wenn ich diese Angaben dann im Makefile manuell korrigiere, kann ich nicht mit dem 10.4u SDK builden. gcc will immer das 10.5 SDK verwenden.
Die ./configure Optionen --disable-dependency-tracking oder --with-macosx-sdk=/Developer/SDKs/MacOSX10.4u.sdk werden leider nicht verstanden.
Für Hinweise welche Verrenkungen notwendig sind um das so hinzubekommen bin ich natürliich dankbar. Gegen das 10.5 SDK kann ich alles problemlos mit 4 Mach-O executables in einem Fat-Binary builden. Das sieht dann so aus:
$ file rsync
rsync: Mach-O universal binary with 4 architectures
rsync (for architecture i386): Mach-O executable i386
rsync (for architecture ppc64): Mach-O 64-bit executable ppc64
rsync (for architecture x86_64): Mach-O 64-bit executable x86_64
rsync (for architecture ppc7400): Mach-O executable ppc
(Das "allerschärfste" wäre natürlich ein PPC binary gegen das 10.3.9 SDK und das intel binary gegen das 10.4u SDK zu linken und alle vier mit lipo in ein executable zu packen. Wobei ich mit der Lösung alles erfolgreich gegen 10.4u zu builden schon gücklich wäre.)
Wer noch genauere Infos braucht um helfen zu können, kann gerne ein config.log oder andere Infos bekommen.
Dankeschön
Gruß Pepi
Ich habe hier eine kleine Herausforderung mit dem Quellcode von rsync 3.0.2. Diesen zu compilieren ist ein Kinderspiel und gelingt erwartungsgemäß auch unter Leopard völlig problemlos. Lösungen konnte ich leider weder bei Apple, noch hier noch sonstwo per Google finden. Meine Aufgabenstellung präsentiert sich folgendermaßen:
Ich möchte diese Source explizit gegen das 10.4u SDK linken und nicht gegen das 10.5 SDK. Ziel soll ein Universal-Binary sein welches für ppc, ppc64, i386 und x86_64 optimiert ist und eben unter 10.4.x (von mir aus 10.4.11) und 10.5 läuft.
Leider gelingt es mir nicht dem gcc und dem ld klarzumachen, daß ich auch unter Leopard gegen das 10.4u SDK builden möchte.
Installiert ist Xcode 3.1 (beta, aus dem iPhone SDK beta 2, noch nicht die aktuelle beta 3)
Component versions
Xcode IDE: 1057.0
Xcode Core: 1056.0
ToolSupport: 1056.0
$ gcc --version
powerpc-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5478)
Die rsync 3.0.2 Source wurde aus dem offiziellen stable tarball genommen.
Ich habe schon versucht vor dem ./configure die Environment Variablen wie folgt zu setzen:
CFLAGS"=-g -O3 -DHAVE_CONFIG_H -Wall -W -I./popt -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 -arch ppc64 -arch x86_64"
LDFLAGS="-arch ppc -arch i386 -arch ppc64 -arch x86_64"
Leider werden die Architekturen und mein SDK Wunsch völlig ignoriert. Selbst wenn ich diese Angaben dann im Makefile manuell korrigiere, kann ich nicht mit dem 10.4u SDK builden. gcc will immer das 10.5 SDK verwenden.
Die ./configure Optionen --disable-dependency-tracking oder --with-macosx-sdk=/Developer/SDKs/MacOSX10.4u.sdk werden leider nicht verstanden.
Für Hinweise welche Verrenkungen notwendig sind um das so hinzubekommen bin ich natürliich dankbar. Gegen das 10.5 SDK kann ich alles problemlos mit 4 Mach-O executables in einem Fat-Binary builden. Das sieht dann so aus:
$ file rsync
rsync: Mach-O universal binary with 4 architectures
rsync (for architecture i386): Mach-O executable i386
rsync (for architecture ppc64): Mach-O 64-bit executable ppc64
rsync (for architecture x86_64): Mach-O 64-bit executable x86_64
rsync (for architecture ppc7400): Mach-O executable ppc
(Das "allerschärfste" wäre natürlich ein PPC binary gegen das 10.3.9 SDK und das intel binary gegen das 10.4u SDK zu linken und alle vier mit lipo in ein executable zu packen. Wobei ich mit der Lösung alles erfolgreich gegen 10.4u zu builden schon gücklich wäre.)
Wer noch genauere Infos braucht um helfen zu können, kann gerne ein config.log oder andere Infos bekommen.
Dankeschön
Gruß Pepi
Zuletzt bearbeitet: