mood-indigo.org - Das unabhängige Silicon Graphics User Forum
Irix => Programmieren, Kompilieren => Thema gestartet von: Thomas am 10. Januar 2003, 13:22:01
-
hallo
ich mal wieder - diesmal mit ein paar fragen zum kompilieren ;)
und zwar würde ich gern wissen, was ihr wie einstellt, damit der compiler (gcc) auch alle installierten libraries findet. mein problem: ich wollte testweise xine kompilieren, auf meinem system ist auch die benötigte zlib 1.1.4 von freeware.sgi.com korrekt installiert - nur configure findet sie nicht und bricht dementsprechend ab.
und dann noch: wie kann ich den output von "make", d.h. die fehlermeldungen in eine datei schreiben lassen? der klassiker "kommando > logfile.txt" funktioniert nicht, bzw. werden da nur die kompilier-kommandos mitprotokolliert, die
fehlermeldungen erscheinen aber nach wie vor nur am schirm.
danke schonmal :)
ciao
thomas
-
stimmen Deine Path Angaben zu den installierten Libs?
Zumindest für configure gibts ein Log, nennt nicht "config.log"
-
Hallo!
Wechsele einmal in die bash und gib ihm folgendes:
$ CFLAGS="-I/usr/freeware/include -L/usr/freeware/lib32"
$ export CFLAGS
$ ./configure
Wenn "gmake" auf den Standard-Fehler-Kanal schreibt, sollte eigentlich folgendes möglich sein:
[csh]
$ gmake >& make_errors.log
[bash]
$ gmake 2> make_errors.log
Allerdings verstehe ich das nicht so ganz, denn eigentlich sollte gmake im Fehlerfall die Kompilation abbrechen - und dann sieht man auch, mit welchem Fehler.
Beste Grüße,
Faber.
-
$ CFLAGS="-I/usr/freeware/include -L/usr/freeware/lib32"
die brachial Methode ;) (sorry) sinvoller ist es gleich die $PATH in z. B. /etc/profile richtig zu setzen
-
Hallo!
Moment, $PATH ist doch nur Pfad zu den executables. Müßte man nicht - wenn schon, denn schon - $LD_LIBRARYN32_PATH (oder so ähnlich) anpassen?
Außerdem scheint es configure-Skripte zu geben, die auf der Auswertung von $CFLAGS bestehen. Siehe hierzu den "tuxracer"-thread unter "Spiele".
Beste Grüße,
Faber.
-
mit $CFLAGS drückst Du es ihm rein weil die Systemenviroment nicht simmt, kann man machen ist aber eher unschön da es beim nächstenmal wieder flippt.
mit $PATH meite ich alles aber Du hast recht:
zu Executables $PATH
zu den Libraries $LD_xxx
es extra as 32 oder 64 Bit zu definieren (Lib32 oder so) sollte unnötig sein
-
Als Ergaenzung zu den vorigen Antworten:
Wenn GNU configure verwendet wird, sollte das ./configure - Skript ein Makefile erzeugen, welches die korrekten Pfade zu den Bibliotheken und Header-Dateien enthaelt.
Ggf. muss ./configure mit den passenden Pfaden versehen werden: siehe
./configure --help
z. B.
./configure --with-pgsql-lib=/usr/freeware/lib32 --with-pgsql-inc=/usr/freeware/include
(nur als erfundenes Beispiel).
Andreas
-
wow, danke schonmal, muss das jetzt mal in die tat umsetzen. :)
"Allerdings verstehe ich das nicht so ganz, denn eigentlich sollte gmake im Fehlerfall die Kompilation abbrechen - und dann sieht man auch, mit welchem Fehler."
eigentlich schon, in dem speziellen fall ist es aber so, dass der fehler auftritt, danach offensichtlich irgendwelche funktionsaufrufe für eine nicht gefundene library ins leere laufen und mir der schirm blitzschnell mit fehlern zugemüllt wird, so dass ich den ursprünglichen übeltäter gar nicht erkennen kann.
ciao
thomas