Hallo!
Eduard Refinius wrote:
> Also ich habe es inzwischen auch schon mit
> make linux
> und
> make linux-i486
> probiert.
> Es folgen die beiden Ausgaben:
>...
Interessant wird es erst so richtig, wo die Fehler auftauchen:
> layer3.o: In function `do_layer3':
> layer3.o(.text+0x735d): undefined reference to `synth_1to1_486'
"undefined reference" hei�t glaube ich, da� der linker (ld) nicht
wei�, wohin er Funktionsaufrufe im Programm hinlinken soll, also: Zu
welcher Objekt-Datei (die mit .o-Endung. Entsprechen den dll's in
WinDos).
>...
> decode_i386.o: In function `synth_1to1':
> decode_i386.o(.text+0x36): undefined reference to `synth_1to1_3dnow'
...und hier haben wir vielleicht den Grund f�r die Verwirrung: Was
macht das `synth_1to1_3dnow' denn hier? 3d-Now war doch abgehakt...!!!
;-)
Vergleiche hier auch mal `synth_1to1_3dnow' mit `synth_1to1_486' (von
oben): Klingen doch verd�chtig nach Zwillingen, oder? Aber es darf f�r
"ld" offenbar nur einen geben!
-> Meine Vermutung ist hier, da� der linker sich nicht entscheiden
kann, ob er nu die eine oder die andere nehmen soll. Allerdings sind
die beide weiter oben noch gar nicht aufgetaucht - vielleicht ist auch
nur irgendwie die Reihenfolge durcheinander, und sie sind noch nicht
kompiliert... Sind denn irgendwo Dateien mit diesen Namen (und evtl
noch was dran im Namen) aufgetaucht?
Wie gesagt: Ich hab hier auch nicht den gro�en Durchblick und bin auch
nur am Raten, wie alle hier. Ist ja keiner ein Universalgenie. ;-)
Es kommt nur darauf an, beim Raten etwas �bung zu bekommen, um ein
paar Anhaltspunkte f�r die Bastelei zu bekommen, damit kannst Du dann
fast alles hinbiegen.
>...
> mpg123.o tabinit.o common.o layer1.o \
> layer2.o layer3.o audio.o buffer.o decode_2to1.o equalizer.o \
> decode_4to1.o getlopt.o httpget.o xfermem.o decode_ntom.o \
> wav.o readers.o getbits.o control_generic.o \
> decode_i386.o dct64_i386.o decode_i586.o
> decode_i486.o dct64_i486.o audio_oss.o term.o -o mpg123 -lm
> decode_i386.o: In function `synth_1to1':
> decode_i386.o(.text+0x36): undefined reference to `synth_1to1_3dnow'
Dasselbe Problem.
> collect2: ld returned 1 exit status
...und ld verabschiedet sich.
>...
Also zu guter letzt mein Tip: Versuch die Dateien, die was mit 3dnow
im Namen tragen (und am Besten alle *.o) wieder loszuwerden: Sehr
wahrscheinlich stammen die von Deinem Versuch vorher. Normalerweise
tut das ein "make clean", alle .o -Dateien und �berhaupt alles, was
bei der Kompilierung so liegen geblieben ist, wegzuputzen.
Wenn make kein clean kennt ("no target" meckert es dann, o.s.�.), was
ich nicht glaube, mu�t du sie per Hand loswerden (SAD ;-). Oder im
MAKEFILE selbst nach etwas �hnlichem suchen (die "targets" stehen da
glaube ich in [], als �berschriften drinnen. Wo unter einer
�berschrift da was mit vielen "rm -f *.o" steht, das mal probieren.)
Noch 'ne Frage: Findet sich kein README in dem Verzeichnis, wo das
MAKEFILE steht? Sollte es eigentlich fast immer... Vielleicht k�nnte
das ja weiterhelfen.
Viel Gl�ck denn noch!
CU,
Bj�rn.
--
The first thing we do, let's
kill all the language lawyers.
- Henry VI, Part II
---------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org