Superuser

Autor Thema: Mit SunOS10 für 5.6 entwickeln ?  (Gelesen 4539 mal)

ziploader

  • Gast
Mit SunOS10 für 5.6 entwickeln ?
« am: 08. Januar 2007, 21:02:19 »
Folgendes Problem.
Es wird auf 3 alten Sparc Ultras entwickelt. Diese sollen ersetzt werden.
Lösung: VMware mit Solaris. Es gibt aber nur 8 als älteste Version.

Da 10 am saubersten unterstützt wird (laut Support) soll diese Version benutzt werden.

2 Fragen hierzu:

Kann ich gcc sagen, daß er für SunOS 5.6 kompilieren soll ?
Kann ich gcc sagen, daß er für Sparc kompilieren soll ?

Danke schon mal.
 
cu
marcus

sonnenblen.de - Das unabhängige Sun User Forum

Mit SunOS10 für 5.6 entwickeln ?
« am: 08. Januar 2007, 21:02:19 »

Offline AndreasW

  • Sobl Master
  • ****
  • Beiträge: 254
Re: Mit SunOS10 für 5.6 entwickeln ?
« Antwort #1 am: 08. Januar 2007, 22:03:09 »
Kann ich gcc sagen, daß er für SunOS 5.6 kompilieren soll ?
Nein, das geht nicht. Es gibt eine Faustregel bei der Entwicklung für Solaris:
Compiliere und linke mit der ältesten Version, die unterstützt werden soll.
Sun garantiert die Rückwärtskompatibilität für 2 Versionen. Momentan kann
man also unter Solaris 8 kompilieren, um auf Solaris 8,9 und 10 lauffähig zu sein.
Deshalb werden z.B. Pakete vom Blastwave-Projekt auch unter Solaris 8 erzeugt.

Kann ich gcc sagen, daß er für Sparc kompilieren soll ?
Das geht prinzipiell. Man kann sich einen sog. Cross-Compiler selber erstellen.
Dazu benötigst Du die gcc-Quellen und musst diese entsprechend konfigurieren.
Ich persönlich würde davon aber Abstand nehmen. Debugging und Fehlersuche werden
dadurch nicht gerade leicht gemacht.

Es wird auf 3 alten Sparc Ultras entwickelt. Diese sollen ersetzt werden.
Deinem Text entnehme ich, dass Ihr Euch von SPARC lösen wollt. Ansonsten würde der
Kauf von neueren Workstations vermutlich die einfachste Lösung sein.
Beim Wechsel von SPARC zu x86 solltet Ihr auf jeden Fall auf die Endianess (SPARC=big endian;
x86=little endian) achten. Das ist eine beliebte Falle.

Andreas

Offline escimo

  • Sobl Moderator
  • Sobl Guru
  • *****
  • Beiträge: 1674
  • SPARCstation 2
    • Youtube-Kanal opensparcbox.org
Re: Mit SunOS10 für 5.6 entwickeln ?
« Antwort #2 am: 08. Januar 2007, 23:34:10 »
Ah, ein neues interessantes Thema ;)
Das wäre doch mal was für llothar.

Zitat
Kann ich gcc sagen, daß er für SunOS 5.6 kompilieren soll ?
Kann ich gcc sagen, daß er für Sparc kompilieren soll ?
Zusammenfassung: Anstelle Eurer drei Sun Ultra 1 Entwicklungsrechner/Zielplattformen, wollt ihr also ein leistungsfähiges System mit VMware ausstatten und Solaris 10 aufspielen. Danach soll unter diesem Betriebssystem Software mittels gcc für die Hardware-Plattformen Solaris/x86, Solaris/x84, Solaris/SPARC (32-Bit und 64-Bit) Code erstellt werden.

Mmm...Ein Cross-Compiler oder eine Compiler-Suite die auf jeden Fall für jede dieser Hardware-Plattformen Binärcode erzeugt, ist eine Lösung. Aber wie wollt Ihr dann zum Beispiel die Programme für SPARC sinnvoll testen? Wenn der Rechner schnell genug ist - und das reicht meistens schon nicht aus -, dann wäre ein Emulator (z.B. QEMU) ein Möglichkeit. Allerdings läuft dann dort nur Linux drauf. Solaris wird (noch) nicht unterstützt.

Aber wie kann man das am effektivsten erreichen? Da ich auch schon mehrfach versucht habe mir einen vollwertigen Cross-Compiler für SPARC mit der GCC zu bauen, helfen vielleicht diese Sachen hier ein klein wenig weiter :

Anmerkung: Bei mir war leider der SPARC-Emulator (QEMU) ein wenig zu langsam, um einigermaßen damit arbeiten zu können :-[. Das Erstellen des Cross-Compilers wird bei diesen Anleitungen sehr erleichtert.

So, das wäre erst mal ein wenig Stoff zum Thema Cross-Compiler. Gibt aber bestimmt noch bessere Seiten, die mir entgangen sind.

http://gcc.gnu.org/onlinedocs/gcc-4.1.1/gcc/SPARC-Options.html#SPARC-Options

Die Zielplattformen würde ich aber wenn möglich dennoch behalten. Das ist "am Besten zum Testen".  ;)

Gruß
escimo


« Letzte Änderung: 08. Januar 2007, 23:48:41 von escimo »

mdjr

  • Gast
Re: Mit SunOS10 für 5.6 entwickeln ?
« Antwort #3 am: 09. Januar 2007, 07:18:13 »
Kann ich gcc sagen, daß er für SunOS 5.6 kompilieren soll ?
Nein, das geht nicht. Es gibt eine Faustregel bei der Entwicklung für Solaris:
Compiliere und linke mit der ältesten Version, die unterstützt werden soll.

Hallo.

Genauso wie beim Compilieren für Sparc auf x86 ist es natürlich möglich, z.B. auf Solaris 10 für alte Solaris- Versionen zu entwickeln.

Es werden in beiden Fällen Dateien des "Zielsystems" (Libraries etc.) benötigt. Beim Entwickeln mit einer alten Version für eine neue Version bei gleichem Prozessor ist dies nicht notwendig. (Daher kann man mit der alten Solaris-Version für die neue entwickeln.)

Gerade beim "Cross-Entwickeln" von Software also auf x86 für Sparc oder umgekehrt spielt es darum kaum eine Rolle, ob man für eine neuere oder eine ältere Solaris-Version entwickelt.

Hauptproblem ist in beiden Fällen, dass die Programme auf dem "echten" Zielsystem getestet werden müssen.

Martin

Offline maal

  • Global Moderator
  • Sobl Guru
  • *****
  • Beiträge: 1529
  • Ich mag keine Signaturen!
Re: Mit SunOS10 für 5.6 entwickeln ?
« Antwort #4 am: 09. Januar 2007, 08:02:45 »
Zu Crosscompilern (genauer:Linux für SPARC auf x86 compileren) war auch einmal ein Artikel von Felix J. Ogris in der freeX 6/2001. Dort wurde auch die Problematik der Libraries angesprochen.

Mit der aktuellen Ausgabe ist der Preis auf € 11,90 erhöht worden, dafür enthält man aber ab jetzt eine DVD anstelle der CD. In der aktuellen Ausgabe 1/2007 (Dezember 2006/Januar 2007) befinden sich alle Ausgaben von 1998-2006 im PDF-Format (mindestens eine Ausgabe ist allerdings defekt, diese kann man aber vom Verlag herunterladen). Sinnigerweise lassen sich keine Inhalte entnehmen (z.B. Programmbeispiele markieren und in einen Editor kopieren). Dies scheint aber heutzutage bei eBooks üblich zu sein...

Michael
« Letzte Änderung: 09. Januar 2007, 10:21:04 von maal »