Superuser

Autor Thema: GCC 2.95.3 für Solaris 2.5.1  (Gelesen 28798 mal)

Offline escimo

  • Sobl Moderator
  • Sobl Guru
  • *****
  • Beiträge: 1643
  • SPARCstation 2
    • Youtube-Kanal opensparcbox.org
Teil IIb: Paket GNU C-Compiler 2.95.3 für Solaris 2.5.1
« Antwort #30 am: 18. August 2007, 17:32:41 »
Weiter geht's. Hat ja keiner behauptet, dass es in drei Sätzen ohne jegliche Erklärung erklärt ist. ;)
Die nächsten 20000 Zeilen warten - LOL. :D

...(2.4)...

Versuchen wir folgende Anweisung (pkgmk-Zeile):
sypho% cd $HOME
sypho% pwd
/home/schaarst
sypho% pkgmk -o -d /home/schaarst -f InfoFiles/prototype -r /opt/gnu GNUccomp
## pkgmap wird erzeugt aus Package-Prototypdatei.
## pkginfo-Datei wird verarbeitet.
    WARNUNG: Parameter <CLASSES> gesetzt auf "none"
## Versuche 65 Einträge in pkgmap als Volume-Datenmenge abzulegen.Teil  1 -- 18471 Blöcke, 62 Einträge
## Packaging eines Teils.
/home/schaarst/GNUccomp/pkgmap
/home/schaarst/GNUccomp/pkginfo
/home/schaarst/GNUccomp/reloc/bin/cpp
/home/schaarst/GNUccomp/reloc/bin/gcc
/home/schaarst/GNUccomp/reloc/bin/gcov
/home/schaarst/GNUccomp/reloc/bin/protoize
/home/schaarst/GNUccomp/reloc/bin/unprotoize
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/SYSCALLS.c.X
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/cc1
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/collect2
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/cpp0
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/crt1.o
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/crtbegin.o
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/crtend.o
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/crti.o
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/crtn.o
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/gcrt1.o
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/gmon.o
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/README
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/assert.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/curses.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/fixed
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/iso646.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/limits.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/math.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/proto.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/stdarg.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/stdbool.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/stddef.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/sys/stream.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/syslimits.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-alpha.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-arc.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-c4x.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-clipper.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-h8300.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-i860.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-i960.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-m32r.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-m88k.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-mips.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-mn10200.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-mn10300.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-pa.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-ppc.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-pyr.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-sh.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-sparc.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-spur.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-v850.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/varargs.h
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/libgcc.a
/home/schaarst/GNUccomp/reloc/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/specs
/home/schaarst/GNUccomp/reloc/lib/libiberty.a
/home/schaarst/GNUccomp/reloc/man/man1/cccp.1
/home/schaarst/GNUccomp/reloc/man/man1/gcc.1
## Steuerungs-Skripts werden überprüft.
## Packaging beendet.
sypho% ls -f $HOME/GNUccomp
pkginfo   pkgmap   reloc
sypho% ls $HOME/GNUccomp/reloc
bin   lib   man
Siehe da -  alles da, alles drin, alles gut. Es scheint funktioniert haben.

Die Anweisung im Detail:
  • "pkgmk" -> Kommando zum Erzeugen eines Paketes
  • "-o" -> Option "overwrite", überschreibt vorhandenes Paket sofern vorhanden
  • "-d /home/schaarst" -> Option "device", Pfad wo das Paket erstellt werden soll; ohne Angabe wird /var/spool/pkg angenommen.
  • "-f InfoFiles/prototype" -> Option "file", benennt eine Datei die als prototype-Datei dienen soll; ohne die Verwendung der Option "-f" muss die prototype-Datei "prototype" lauten und sich im Verzeichnis befinden, von dem das Kommando pkgmk aufgerufen wird.
  • "-r /opt/gnu" -> Option "rootpath", stellt die Bedingung, dass der übergebene absolute/relative Pfad genutzt wird, um Paketobjekte zu finden.
  • "GNUccomp" -> Name einer Paketinstanz, die in der Datei pkginfo mit dem Parameter "PKG" definiet wurde.

2.5 Verifikation des erzeugten Paketes
Zum Testen des im Verzeichnis-Format vorliegenden, erzeugten Paketes können die Kommandos /usr/sbin/pkgchk, /usr/bin/pkginfo und /usr/bin/pkgparam genutzt werden. Auch eine Installation unter Einsatz des Kommandos pkgadd ist möglich.

Nutzung des Kommandos /usr/sbin/pkgchk:
sypho% pwd
/home/schaarst
sypho% /usr/sbin/pkgchk -v -d . GNUccomp
Nicht installiertes Verzeichnis-Format-Package <GNUccomp> aus </export/home/schaarst> wird geprüft
## Steuerungs-Skripts werden geprüft.
## Package-Objekte werden geprüft.
bin/cpp
bin/gcc
bin/gcov
bin/protoize
bin/unprotoize
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/SYSCALLS.c.X
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/cc1
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/collect2
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/cpp0
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/crt1.o
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/crtbegin.o
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/crtend.o
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/crti.o
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/crtn.o
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/gcrt1.o
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/gmon.o
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/README
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/assert.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/curses.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/fixed
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/iso646.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/limits.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/math.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/proto.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/stdarg.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/stdbool.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/stddef.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/sys/stream.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/syslimits.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-alpha.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-arc.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-c4x.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-clipper.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-h8300.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-i860.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-i960.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-m32r.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-m88k.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-mips.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-mn10200.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-mn10300.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-pa.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-ppc.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-pyr.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-sh.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-sparc.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-spur.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/va-v850.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/include/varargs.h
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/libgcc.a
lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/specs
lib/libiberty.a
man/man1/cccp.1
man/man1/gcc.1
pkginfo
## Prüfung beendet.
sypho%
Alles in Ordnung.

Nutzung des Kommandos /usr/bin/pkginfo:
%sypho pwd
/home/schaarst/
sypho% pkginfo -d . GNUccomp
application GNUccomp GNU C Compiler (created on Solaris 2.5.1)
sypho%
Interessant.

Nutzung des Kommandos /usr/bin/pkgparam:
%sypho pwd
/home/schaarst/
sypho% pkgparam -v -d . GNUccomp VERSION ARCH DESC PSTAMP
VERSION="2.95.3"
ARCH="sparc"
DESC="GNU C Compiler for program development on the Solaris 2.5.1 Operating Environment and compatible operating systems on SPARC V8 platforms."
PSTAMP="escimo for sonnenblen.de"
sypho%
Wer ist escimo, was ist sonnenblen.de?  ???  ;D

2.6 Transfer des Paketes auf ein Distributionsmedium
Schließlich wollen wir das Paket auch anderen Interessenten zugänglich machen. Jetzt haben wir zwei Möglichkeiten:
  • das aktuelle Paket im Verzeichnisformat in eine Datei mit dem Kommando tar archivieren und anschließend mit einem Kompressionsprogramm wie compress packen, oder...
  • man transferiert das Paket mit dem Kommando pkgtrans in einen Ausgabestrom auf ein Distributionsmedium (Tape, Diskette, Datei).
In Ordnung, wir nehmen das Kommando pkgtrans und übertragen das Paket als Daten-Strom (data stream) in eine Datei.  ;)

Folgende Übersetzungen können mit dem Kommando pkgtrans an einem installierbaren Paket durchgeführt werden:
  • Dateisystem-Format (Verzeichnis-Format) in ein Datenstrom-Format
  • Datenstrom-Format in ein Dateisystem-Format
  • verfügbares Dateisystem-Format in ein anderes Dateisystem-Format (Tape)

Nutzung des Kommandos /usr/bin/pkgtrans:
sypho% cd $HOME
sypho% pwd
/home/schaarst
sypho% ls GNUc*
GNUccomp
sypho% pkgtrans -o -s . GNUccomp_2.95.3 GNUccomp
Transferring <GNUccomp> package instance.
sypho%
Erledigt. Besser wäre allerdings ein Paketname wie "GNUccomp2.95.3-solaris2.5.1-sparc" gewesen, was aber kein Problem ist, wie die Anweisung im Detail zeigt:
  • "pkgtrans" -> Kommando zum transferieren und übersetzen eines bereits installierbaren Paketes.
  • "-o" -> Option "overwrite" ersetzt evlt. vorhandenes Datenstrom-Paket (Datei)
  • "-s" -> Option "stream" wandelt das Verzeichnis-Format des Paketes in ein Datenstrom-Format um.
  • "." -> aktuelles Gerät/Verzeichnis in dem das Paket existiert.
  • "GNUccomp_2.95.3" -> Name des Paketes im Datenstrom-Format; kann auch "GNUccomp2.95.3-solaris2.5.1-sparc" heißen
  • "GNUccomp" -> Name der zu verarbeitenden Paketinstanz, die im Paket definiert ist

Jezt sollte man das Paket noch etwas "quetschen" auch komprimieren genannt. Das kann man ganz einfach mit dem Kommando compress erledigen. Wer lieber GZIP oder BZIP2 nutzen möchte, auch kein Problem:
sypho% s -l ./GNUccomp_2.95.3
-rw-r--r--   1 schaarst users    9318400 Aug 17 16:57 GNUccomp_2.95.3
sypho% compress -f ./GNUccomp_2.95.3
sypho% ls -l ./GNUccomp_2.95.3.Z
-rw-r--r--   1 schaarst users    4024344 Aug 17 17:00 GNUccomp_2.95.3.Z
sypho%

3 Installation/Deinstallation des erstellten Compiler-Paketes
...Das kann ja wohl wieder jeder, oder? ;)

Das war es dann. Wir sind durch.  ::)

So jetzt habe ich mir mein Mittagessen redlich verdient. - Hunger! :'(
Es würde mich auch sehr interessieren, wer diese "kurze" Dokumentation als nützlich empfand.

Grüße und bis demnächst.
escimo
« Letzte Änderung: 09. September 2007, 00:39:07 von escimo »

sonnenblen.de - Das unabhängige Sun User Forum

Teil IIb: Paket GNU C-Compiler 2.95.3 für Solaris 2.5.1
« Antwort #30 am: 18. August 2007, 17:32:41 »

Offline escimo

  • Sobl Moderator
  • Sobl Guru
  • *****
  • Beiträge: 1643
  • SPARCstation 2
    • Youtube-Kanal opensparcbox.org
Re: GCC 2.95.3 für Solaris 2.5.1
« Antwort #31 am: 04. September 2007, 22:20:34 »
Zitat
Es würde mich auch sehr interessieren, wer diese "kurze" Dokumentation als nützlich empfand.
Hat jemand das Paket mal testen können?  :'(

Wie schätzt ihr die "kurze" Doku zur Software-Übersetzung (GNU C-Compiler) und zum Paketbau ein? Kann diese als "Schnell-Referenz" dienen?

Gruß
escimo

Offline Freud-Schiller

  • Sobl Guru
  • *****
  • Beiträge: 927
Re: GCC 2.95.3 für Solaris 2.5.1
« Antwort #32 am: 05. September 2007, 09:33:51 »
ha ich werde es testen :) mein 630MP läuft unter solaris 2.5.1 und hat sogar netboot funktion. am wochenende mach ich es. Viele Grüße David

Offline escimo

  • Sobl Moderator
  • Sobl Guru
  • *****
  • Beiträge: 1643
  • SPARCstation 2
    • Youtube-Kanal opensparcbox.org
Re: GCC 2.95.3 für Solaris 2.5.1
« Antwort #33 am: 05. September 2007, 20:08:14 »
Super, danke David. :D

Offline escimo

  • Sobl Moderator
  • Sobl Guru
  • *****
  • Beiträge: 1643
  • SPARCstation 2
    • Youtube-Kanal opensparcbox.org
Re: GCC 2.95.3 für Solaris 2.5.1
« Antwort #34 am: 12. September 2007, 17:17:26 »
In naher Zukunft - also so in 1-2 Monaten - plane ich noch den C++ Compiler zu übersetzen. Dann versuche ich auch mal beide Compiler (C und C++) in ein Paket zu bündeln.

@David: Hast du das Paket auf deiner 630MP schon mal testen können?

Gruß
escimo

Offline escimo

  • Sobl Moderator
  • Sobl Guru
  • *****
  • Beiträge: 1643
  • SPARCstation 2
    • Youtube-Kanal opensparcbox.org
Re: GCC 2.95.3 für Solaris 2.5.1
« Antwort #35 am: 15. Februar 2009, 05:35:54 »
Ich muss diese Leiche Schänden. Das kann ich nicht SO stehenlassen:

Der Inhalt des Paketes ist schlichtweg Schrott! Ich habe es gerade mal auf der Sun-4/75 (SS2) unter Solaris 2.5.1 (schnarch) getestet.

Ich baue nix neu, bevor das erste Paket nicht funktioniert.

Beim Aufruf des Binary "gcc" wird korrekt versucht, weitere Binaries (u.a. "cpp0" , "cc1") aufzurufen, die im Ausführungspfad ($PATH) gesucht werden. Nur diese Binaries befinden sich leider unterhalb (...)/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/ - Wie auch immer die _dort_ hingeraten sind, ist mir noch schleierhaft. ???

Ich werde den C Compiler noch mal neu übersetzen, wenn es dadurch möglich wird, die Binary-Lokalisierung auf das Verzeichnis bin/ im Paket-Stammverzeichnis festzulegen.

Als absolute Notlösung, falls alle Stricke reisen, wird "gefriemelt". - Uarrhh, ich hasse "friemeln".  :(
« Letzte Änderung: 15. Februar 2009, 11:12:09 von escimo »

Offline dornroeschen

  • Sobl Junior
  • **
  • Beiträge: 64
Re: GCC 2.95.3 für Solaris 2.5.1
« Antwort #36 am: 15. Februar 2009, 12:18:44 »
Beim Aufruf des Binary "gcc" wird korrekt versucht, weitere Binaries (u.a. "cpp0" , "cc1") aufzurufen, die im Ausführungspfad ($PATH) gesucht werden. Nur diese Binaries befinden sich leider unterhalb (...)/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/ - Wie auch immer die _dort_ hingeraten sind, ist mir noch schleierhaft. ???

Ähemmm, sorry, genau dort gehören sie beim gcc2 hin. Diese Probleme entstehen, wenn der Compiler

  • nicht im Installationspfad ( configure --prefix=)
  • nicht unterhalb /usr (Default Suchpfad)
  • nicht unterhalb /usr/local (Default Suchpfad)


zu liegen kommt. In diesem Fall kann die Option -B (info gcc) dafür sorgen, dass die Binaries (und alles andere was sich im o.g. Verzeichnis noch tummelt und *benötigt* wird, wie Includes und interne Libs) trotzdem gefunden werden. Für ein Package ist das natürlich keine Dauer-Lösung.

Rainer

Offline escimo

  • Sobl Moderator
  • Sobl Guru
  • *****
  • Beiträge: 1643
  • SPARCstation 2
    • Youtube-Kanal opensparcbox.org
Re: GCC 2.95.3 für Solaris 2.5.1
« Antwort #37 am: 15. Februar 2009, 16:40:43 »
Danke für den Hinweis Rainer.

Zitat
# ../gcc-2.95.3/configure --prefix=/opt/gnu --with-local-prefix=/opt/gnu
Wie kann ich während des Aufrufes schauen, in welchen Verzeichnissen das Binary gcc schaut? Dann (ver)sucht gcc die drei anderen Binaries eventuell unterhalb des Verzeichnisses /opt/gnu (zu finden)?

EDIT:

Im folgenden kann ermittelt werden, welche Aufrufe (Zugriffe) gcc _wo_ durchführt:
sx@toosy: % truss -t access gcc -S hello.c
access("hello.c", 4)
access("/opt/gnu/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/specs", 4) = 0
access("/opt/gnu/lib/gcc-lib/sparc-sun-solaris2.5.1/specs", 4) Err#2 ENOENT
access("/var/tmp/", 7)
access("/opt/gnu/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/cpp0", 1) = 0
    Received signal #18, SIGCLD [default]
      siginfo: SIGCLD CLD_EXITED pid=047 status=0x0000
access("/opt/gnu/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/cc1", 1) = 0
    Received signal #18, SIGCLD [default]
      siginfo: SIGCLD CLD_EXITED pid=048 status=0x0000
access("/opt/gnu/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.3/cc1", 1) = 0


Da haben wir den Salat. Der Fehler ist mir also erst bei der Paketierung unterlaufen, indem ich mutwillig das Stammverzeichnis für die Installation auf /usr/local/ "umgebogen" habe.  :-\

Man kann sich dennoch relativ einfach (mit den entsprechenden Rechten) helfen:
  # ln -s /usr/local /opt/gnu     (da prefix=/opt/gnu angegeben wurde)
  # pkgadd -d ./GNUccomp_2.95.3     [...]
  # exit
  $ cd $HOME
  $ vi .cshrc     (hinzufügen von /usr/local/bin im Pfad)
  $ source .cshrc
  $ gcc -o hello hello.c
  $ ./hello     (Ausgabe von "Hello toosy")
« Letzte Änderung: 15. Februar 2009, 17:17:25 von escimo »

Offline dornroeschen

  • Sobl Junior
  • **
  • Beiträge: 64
Re: GCC 2.95.3 für Solaris 2.5.1
« Antwort #38 am: 15. Februar 2009, 17:00:46 »
Danke für den Hinweis Rainer.

Zitat
# ../gcc-2.95.3/configure --prefix=/opt/gnu --with-local-prefix=/opt/gnu
Wie kann ich während des Aufrufes schauen, in welchen Verzeichnissen das Binary gcc schaut? Dann (ver)sucht gcc die drei anderen Binaries eventuell unterhalb des Verzeichnisses /opt/gnu (zu finden)?

Versuch mal
gcc -v -xc  /dev/null

-v gibt die ganzen Suchpfade mit aus

Rainer

Offline escimo

  • Sobl Moderator
  • Sobl Guru
  • *****
  • Beiträge: 1643
  • SPARCstation 2
    • Youtube-Kanal opensparcbox.org
Re: GCC 2.95.3 für Solaris 2.5.1
« Antwort #39 am: 15. Februar 2009, 17:22:57 »
Ui. Jetzt habe ich zu lange etwas im alten Beitrag hinzugefügt. ;D

Hey, dein "gcc"-Aufruf mit der Language-Option -xc (für "C") und -v (verbose) auf /dev/null ist eine super Idee. So geht es auch. ;)

Danke dir.

Stephan

sonnenblen.de - Das unabhängige Sun User Forum

Re: GCC 2.95.3 für Solaris 2.5.1
« Antwort #39 am: 15. Februar 2009, 17:22:57 »