PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Merkwürdige Fehlermeldung beim kompilieren.



Lord Pilaw
10.01.03, 13:46
Moin.
Nachdem ich binutils 2.9 konfiguriert hatte, wollte ich es mit dem make befehl kompilieren. Man braucht binutils laut Dokumentation für den Mplayer. Aber das kompilieren brach nach ca. 2 sekunden hab. Hier die komplette Meldung:


[root@localhost binutils-2.9]# make
make[1]: Wechsel in das Verzeichnis Verzeichnis »/home/pille/Downloads/binutils-
2.9/libiberty«
if [ -n "" ] && [ ! -d pic ]; then \
mkdir pic; \
else true; fi
touch stamp-picdir
echo "# !Automatically generated from ./functions.def"\
"- DO NOT EDIT!" >needed2.awk
grep '^DEFVAR(' < ./functions.def \
| sed -e '/DEFVAR/s|DEFVAR.\([^,]*\).*|/\1/ { printf "#ifndef NEED_\1\\n#define
NEED_\1\\n#endif\\n" }|' \
>>needed2.awk
grep '^DEFFUNC(' < ./functions.def \
| sed -e '/DEFFUNC/s|DEFFUNC.\([^,]*\).*|/\1/ { printf "#ifndef NEED_\1\\n#defi
ne NEED_\1\\n#endif\\n" }|' \
>>needed2.awk
gcc -c -g -O2 -I. -I./../include ./dummy.c 2>/dev/null
make[1]: *** [dummy.o] Fehler 1
make[1]: Verlassen des Verzeichnisses Verzeichnis »/home/pille/Downloads/binutil
s-2.9/libiberty«
make: *** [all-libiberty] Fehler 2

Ich hab mit der Suchfunktion nach "dummy.o" gesucht, aber nichts gefunden was mir weiter geholfen hat. Und mit [all-libiberty] Fehler 2 kann ich auch nicht wirklich was anfangen :(
Vielleicht weiss jemand was das zu bedeuten hat :)

Distri ist Red Hat 8

zander
10.01.03, 14:17
Du solltest besser das binutils Paket Deiner Distribution installieren.

Lord Pilaw
10.01.03, 14:24
Du meinst die von der Distri CD? Gleichmal schauen.

Lord Pilaw
10.01.03, 14:30
hm... hat sich erledigt. Das Paket ist schon installiert. Muss ich wohl meinen Mplayer Fehler wo anders suchen :D

zander
10.01.03, 14:32
Ja, die von der CD (oder ggf. verfügbare Updates); die binutils beinhalten u.a. den GNU assembler und linker und insbesondere bei RedHat weis man nie, inwieweit dort Veränderungen vorgenommen wurden.

zander
10.01.03, 14:33
Was für einen Fehler bekommst Du denn bei mplayer?

Lord Pilaw
10.01.03, 14:41
Ich entpacke die Sourcen vom Mplayer und Konfiguriere selbige mit ./configure.
Das funktioniert noch Fehlerlos.

Dann starte ich das kompilieren mittels "make". Dort treten dann ein paar Fehler auf. Ich habe eine text datei angehängt mit der
kompletten Ausgabe des make befehls. Ich kann nicht ausmachen woran das nun liegt :(
Ich hatte mir die Doku dann zu gemüte geführt und dort geschaut ob ich alle Vorrausetzungen erfülle. Aber dies ist der Fall.

zander
10.01.03, 14:54
Auf was wird HAVE_MP3LAME denn in config.h gesetzt (d.h. wie sieht die ganze Zeile aus)?

Lord Pilaw
10.01.03, 15:01
Den Genauen Eintrag hab ich nicht gefunden in der Ausgabe des ./configure befehls. Aber das sieht mir ähnlich aus:


Checking for libmp3lame (for mencoder) ... /tmp/mplayer-conf-1342-6583.o: error
while loading shared libraries: libmp3lame.so.0: cannot open shared object file:
No such file or directory
yes


Hm... sieht so aus als bräuchte ich den noch.

zander
10.01.03, 15:19
lame wird nicht zwingend benötigt, es scheint nur, daß liblame nicht korrekt erkannt wird, bzw. der Eintrag in der Datei config.h (im gleichen Verzeichnis wie configure) fehlerhaft ist. Der Kompilierfehler sollte sich durch diesen Eintrag in config.h (anstelle des aktuellen) beheben lassen, allerdings kann ich nicht sagen, welche Fehler dann beim Linken zu erwarten sind.



/* Indicates if libmp3lame is available
Note: for mencoder */
#undef HAVE_MP3LAME

Lord Pilaw
10.01.03, 15:33
Ich hab die Datei config.h mit Vi als root geöffnet und den alten Eintrag mit dem neuen ersetzt und mit ZZ gespeichert. Leider tritt beim kompilieren immernoch der selbe Fehler auf :(

zander
10.01.03, 20:23
Welcher der beiden Fehler tritt weiterhin auf?

Lord Pilaw
11.01.03, 00:20
Der selbe wie oben in der angehängten Text Datei :(

zander
11.01.03, 00:44
Merkwürdig, kannst Du config.log und config.h vielleicht beide einmal anhängen?

Lord Pilaw
11.01.03, 01:33
Config Log

Lord Pilaw
11.01.03, 01:35
Unveränderte Config.h Datei.

zander
11.01.03, 10:04
Das Problem in der ursprünglichen config.h ist folgendes:



/* Indicates if libmp3lame is available
Note: for mencoder */
#define HAVE_MP3LAME


Hier wird HAVE_MP3LAME definiert aber nicht auf einen konkreten Wert gesetzt, wovon aber im folgenden (mencoder.c) ausgegangen wird. Warum nach folgender Änderung das Problem weiterhin besteht kann ich nicht sagen.



/* Indicates if libmp3lame is available
Note: for mencoder */
#undef HAVE_MP3LAME


Ein weiterer Vorschlag zur Lösung des Problems ist folgender: konfiguriere die Quellen mit ./configure --disable-mencoder; dadurch geht zwar ein Teil der mplayer Funktionalität verloren, diese steht aber mit lame weiterhin zur Verfügung.

Lord Pilaw
11.01.03, 18:15
Das wars anscheinend. Konnte jetzt Fehlerfrei kompilieren und installieren.

Besten dank http://www.handykult.de/plaudersmilies.de/remybussi.gif

zander
11.01.03, 18:21
Gern geschehen.