LAME (mp3) kompilieren

user31085

Cadet 3rd Year
Registriert
Juli 2005
Beiträge
36
Hallo,

ich versuche von folgender Quelle http://lame.cvs.sourceforge.net/viewvc/lame/lame/ eine neuere LAME Version kompilieren.

Dazu habe ich auf Windows 10 den MinGW installiert mit allen nötigen Erweiterungen.

Dann navigiere zum LAME Ordner gebe ./configure --prefix=/mingw --enable-export=full ein. Danach ein make. Jedoch bekomme ich folgenden Fehler:

collect2.exe: Fehler: ld gab 1 als Ende-Status zurück
make[3]: *** [libmp3lame.la] Error 1
make[3]: Leaving directory `/home/neu/lame/libmp3lame'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/neu/lame/libmp3lame'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/neu/lame'
make: *** [all] Error 2

Hat jemand eine Idee woran das liegen kann?
 
Da war ein Fehler vor dem was du uns hier zeigst. Niemand kann eine Idee haben woran das liegt, weil du nicht genügend Informationen lieferst. Alles was wir wissen können: das Linken ging schief.
 
LAME 3.99.5 ist schon 5 Jahre alt, daher wollte ich mir eine neue Version bauen.

Code:
/bin/sh ../libtool  --tag=CC   --mode=link gcc   -version-info 0:0 -export-symbols ../include/libmp3lame.sym -no-undefined  -o libmp3lame.la -rpath /mingw/lib VbrTag.lo bitstream.lo encoder.lo fft.lo gain_analysis.lo id3tag.lo lame.lo newmdct.lo presets.lo psymodel.lo quantize.lo quantize_pvt.lo reservoir.lo set_get.lo tables.lo takehiro.lo util.lo vbrquantize.lo version.lo mpglib_interface.lo   ../mpglib/libmpgdecoder.la -lm
libtool: link: /mingw/bin/nm -B  .libs/VbrTag.o .libs/bitstream.o .libs/encoder.o .libs/fft.o .libs/gain_analysis.o .libs/id3tag.o .libs/lame.o .libs/newmdct.o .libs/presets.o .libs/psymodel.o .libs/quantize.o .libs/quantize_pvt.o .libs/reservoir.o .libs/set_get.o .libs/tables.o .libs/takehiro.o .libs/util.o .libs/vbrquantize.o .libs/version.o .libs/mpglib_interface.o   ../mpglib/.libs/libmpgdecoder.a | sed -n -e 's/^.*[         ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[         ][ ]*_\([_A-Za-z][_A-Za-z0-9]*\)\{0,1\}$/\1 _\2 \2/p' | sed '/ __gnu_lto/d' | /bin/sed -e '/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //' | sort | uniq > .libs/libmp3lame.exp
libtool: link: if test DEF = "`/bin/sed -n -e 's/^[      ]*//' -e '/^\(;.*\)*$/d' -e 's/^\(EXPORTS\|LIBRARY\)\([         ].*\)*$/DEF/p' -e q .libs/libmp3lame.def`" ; then cp .libs/libmp3lame.def .libs/libmp3lame-0.dll.def; else echo EXPORTS > .libs/libmp3lame-0.dll.def; cat .libs/libmp3lame.def >> .libs/libmp3lame-0.dll.def; fi
libtool: link:  gcc -shared .libs/libmp3lame-0.dll.def  .libs/VbrTag.o .libs/bitstream.o .libs/encoder.o .libs/fft.o .libs/gain_analysis.o .libs/id3tag.o .libs/lame.o .libs/newmdct.o .libs/presets.o .libs/psymodel.o .libs/quantize.o .libs/quantize_pvt.o .libs/reservoir.o .libs/set_get.o .libs/tables.o .libs/takehiro.o .libs/util.o .libs/vbrquantize.o .libs/version.o .libs/mpglib_interface.o  -Wl,--whole-archive ../mpglib/.libs/libmpgdecoder.a -Wl,--no-whole-archive     -o .libs/libmp3lame-0.dll -Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker .libs/libmp3lame.dll.a
Cannot export lame_init_old: symbol not defined
collect2.exe: Fehler: ld gab 1 als Ende-Status zurück
make[3]: *** [libmp3lame.la] Error 1
make[3]: Leaving directory `/home/neu/lame/libmp3lame'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/neu/lame/libmp3lame'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/neu/lame'
make: *** [all] Error 2
 
HominiLupus schrieb:
Da war ein Fehler vor dem was du uns hier zeigst. Niemand kann eine Idee haben woran das liegt, weil du nicht genügend Informationen lieferst. Alles was wir wissen können: das Linken ging schief.

Doch, die Informationen mit dem aktuellem Informationsstand wurden geliefert -> Es sind mehr Informationen notwendig.

Version MinGW, Version GCC, deine genauen Eingaben, wenn vorhanden welcher Anleitung du gefolgt bist, ...

Ansonsten habe ich guten Erinnerungen an meine letzten Gehversuche mit MinGW und die Muse dein Problem nachzustellen ist sorecht nicht vorhanden..
 
user31085 schrieb:
LAME 3.99.5 ist schon 5 Jahre alt, daher wollte ich mir eine neue Version bauen.

Code:
Cannot export lame_init_old: symbol not defined
Das ist der Fehler. Wieso versucht wird "lame_init_old" zu exportieren obwohl es nicht existiert , kann ich aber nicht sagen.
 
user31085 schrieb:
Hat niemand ne Idee?
In der Datei INSTALL aus dem LAME-Archiv wird explizit auch auf Mingw eingegangen.
Danach reicht eben ein ./configure nebst make eben nicht unbedingt, wenn ich richtig verstanden hab.

Konkret steht da:
=======================================================================
Building the software on Windows with free compilers:
=======================================================================
LAME can be compiled with various Windows MSDOS ports (all free)
of GCC (DJGPP, Mingw32). See README.DJGPP.

For Mingw32, you should now be able to use the Unix Makefile that
comes with LAME. Try: "make -f Makefile.unix UNAME=MSDOS"
You may need to remove these lines from brhist.c:

#ifdef _WIN32
COORD Pos;
HANDLE CH;
CONSOLE_SCREEN_BUFFER_INFO CSBI;
#endif

Mingw32 users may also try to use the unix configure script (explained
above), it has _untested_ support for Mingw32.

[...]

Can DJGPP or Mingw32 produce lame_enc.dll?

Various build options can be set in configMS.h
 
Ich habe es mit Visual Studio und nmake hinbekommen, jedoch nur als 32bit Version, aber die reicht mir erstmal aus.

LAME 3.100 soll dieses Jahr noch final werden, nach über 5 Jahren!
 
user31085 schrieb:
LAME 3.100 soll dieses Jahr noch final werden, nach über 5 Jahren!
MP3 wurde in den 80er Jahren entwickelt und war bereits in den 90er Jahren im Einsatz. Die Implementierung durch LAME geschah ebenfalls bereits in den 90er Jahren.
Gut möglich, dass der Kram inzwischen so abgehangen ist, dass es da kaum noch Änderungen bedarf.
 
Zurück
Oben