"Portierung" von Programmen

Z

zurkoe

Mitglied
Thread Starter
Dabei seit
25.09.2007
Beiträge
45
Reaktionspunkte
0
Hi,
erstmal entschulding für den unklaren Threadtitel, aber eine bessere Formulierung fiel mir nicht ein.
Es geht um folgendes Problem. Wir haben an unserem Institut zwei Programme entwickelt, eines in C++, ein weiteres in Perl. Nun kommt nächste Woche ein Kollege, der beide Programme auf seinem G4 Mac (Powerbook mit OS 10.4) benutzen will. Um am Montag nicht viel Zeit zu verschwenden, sollten beide Programme "ready-to-use" sein.
Ich habe nun auf einem alten G4, der hier noch steht (Mac OS 10.4) das C++ Programm problemlos compiliert, kann ich die entsprechende Datei nun auf allen G4 Macs benutzen? Ich will dem Kollegen eben nicht zumuten, dass er bei sich noch das komplette X-Code installieren muss.
Zu dem Perl-Programm: Reicht es da aus, die neue Active-Perl-Version für Mac zu installieren, oder brauch ich da auch X-Code?

Vielen Dank für Eure Hilfe
 
"First things first: It's Xcode, not xCode or XCode or x-code. Remember that now."
-- Chris Espinosa


Willkommen im Forum :cake:

Also,

1) Ja, die Datei wird auf allen PowerPC Macs laufen. Sie wird allerdings nicht auf Intel Macs laufen, dazu musst Du eine Intel Version, oder besser eine Universal Binary version bauen. Stichworte sind hier die gcc Option -arch und lipo (1)

2) Perl ist bei OS X immer dabei (Bei Leopard z.B. Version 5.8.8). Ich weiss jetzt nicht, ob Du zusätzlich dieses "Active Perl" brauchst, aber in jedem Fall ist das vollkommen ausreichend. Die Xcode Tools müssen nicht installiert werden.
 
1) @Alex Ich bin etwas verwirrt, sollte da nicht Rosetta greifen?

2) Ja, Perl ist dabei. Active Perl ist ein Perl für Windows... Solange das Perl-Script nicht irgendwelche Specials benötigt, sollte es mit jedem Perl laufen.
 
1) @Alex Ich bin etwas verwirrt, sollte da nicht Rosetta greifen?

Ja, ja, ja, ich doof :hamma:

Alex

EDIT: Zu meiner Entschuldigung, ich schreibe auch Kerneltreiber. Da ist nix mit Rosetta ;)
 
@Alex: ich hab auch kurz gestutzt.. ;)

@zurke: damit läuft das C++-Programm garantiert auf *jedem* Mac mit MacOS X >=10.4
 
@zurke: damit läuft das C++-Programm garantiert auf *jedem* Mac mit MacOS X >=10.4

Vorrausgesetzt, ZeroLink war nicht aktiv ;) Bei einem Programm aus der Kommandozeile ist das nicht zu erwarten, bei Xcode ist es wichtig, auf "Release" zu stellen.

Alex
 
"First things first: It's Xcode, not xCode or XCode or x-code. Remember that now."
-- Chris Espinosa


Willkommen im Forum :cake:

Danke! :D

Perl ist bei OS X immer dabei (Bei Leopard z.B. Version 5.8.8). Ich weiss jetzt nicht, ob Du zusätzlich dieses "Active Perl" brauchst, aber in jedem Fall ist das vollkommen ausreichend. Die Xcode Tools müssen nicht installiert werden.

Hm, hab jetzt mal versucht ein perl-script über das terminal zu starten, hat nicht funktioniert. Obwohl perl in /usr/bin vorhanden ist.
 
Hm, hab jetzt mal versucht ein perl-script über das terminal zu starten, hat nicht funktioniert. Obwohl perl in /usr/bin vorhanden ist.

Wie sah die Fehlermeldung aus?

Aufruf wäre 'perl -e script.pl'
 
Wie sah die Fehlermeldung aus?

Aufruf wäre 'perl -e script.pl'

Ach ich depp hab den perl-befehl vergessen. Bin nicht allzuoft auf mac unterwegs. Es klappt allerdings nur, wenn ich die -e option weglasse.
 
Ach ich depp hab den perl-befehl vergessen. Bin nicht allzuoft auf mac unterwegs. Es klappt allerdings nur, wenn ich die -e option weglasse.

:eek: Richtig, -e war für Perl-Befehle in Kommandozeilen :hamma:

Alternativ könntest du dem Script ausführungsrechte geben. (im Terminal: chmod 755 /path/to/script.pl) Dann muß das Perl-Script nur noch mit '#/usr/bin/perl' anfangen und das Script verhält sich (fast) wie ein binär-Programm
 
Bin nun zuversichtlich, dass alles hinhaut! Vielen Dank für Eure Hilfe und ein schönes Wochenende!!!

Harald
 
Alternativ könntest du dem Script ausführungsrechte geben. (im Terminal: chmod 755 /path/to/script.pl) Dann muß das Perl-Script nur noch mit '#/usr/bin/perl' anfangen und das Script verhält sich (fast) wie ein binär-Programm

Dann musst Du auch daran denken, das auf Unix Systemen (dazu gehört OS X) und Unix-artigen Systemen das aktuelle Verzeichnis aus Sicherheitsgründen nicht im Suchpfad ist.

Wenn Du also ein Programm oder ein Script aus dem aktuellen Verzeichnis starten willst, musst Du explizit ein "./" vorhängen, also

./myscript.pl

Alex
 
Danke, ja..
 
Hallo,

ich hätte bzgl. der generierten binaries noch eine Frage: Ich habe für Intel und PPC Macs jetzt zwei Versionen aus dem source code compiliert. Soweit so gut, bisher hat das auch bei allen Anwendern geklappt, allerdings meldet sich nun jemand, der keinen Zugriff auf das binary bekommt, also "permission denied" bei versuchter Ausführung.
Kann ich die Dateien so kompilieren, das quasi jeder Zugriff hat, oder muss der einzelne user sich darum kümmern? Ersteres wäre mir natürlich lieber, man sollte dem Endanwender ja schliesslich soviel wie möglich abnehmen. ;)

Gruss

Harald
 
1) Liegen die Binaries Universal vor?
2) Wie werden sie installiert?
3) Welche Permissions haben sie?

Alex
 
Puh, wie gesagt, bin diesbezgl. Neuling, aaber:

1. ich denke nicht dass die binaries universal vorliegen
2. einfach mit einem "make-"Befehl
3. Das ist mir eben etwas unklar, ich hoffe eben, die permissions so festlegen zu können, dass die binaries auf jedem (passenden) Mac laufen.
 
Zurück
Oben Unten