ForumMySQl embedded für amarok compilieren
Ronald Reagan – Montag, 20. April 2009 11:14 Uhr

Hallo!

Ich möchte gerne, wie auf der Homepage von amarok angegeben, MySQL embedded compilieren aber stoße auf folgenden Fehler:

sql_tablespace.o partition_info.o sql_servers.o event_parse_data.o mini_client_errors.o pack.o client.o my_time.o my_user.o -static ./.libs/libndb.a -lpthread -lpthread -lpthread -lpthread /usr/lib/../lib64/libstdc++.a -L/sources/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/src -L/sources/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs -lm -lm -lm -L/sources/gcc-build/./gcc -L/usr/lib/../lib64 -L/lib/../lib64 -lgcc_s -lc -lgcc_s -lm -lgcc_s -lc -lgcc_s ../storage/csv/libcsv.a ../storage/heap/libheap.a ../storage/myisam/libmyisam.a ../storage/myisammrg/libmyisammrg.a ../vio/libvio.a ../mysys/libmysys.a ../dbug/libdbug.a ../regex/libregex.a ../strings/libmystrings.a -lz -lpthread -lcrypt -lnsl -lm -lpthread
/usr/bin/ld: cannot find -lgcc_s
collect2: ld returned 1 exit status
make[3]: *** [mysqld] Fehler 1
make[3]: Leaving directory `/root/mysql-5.1.33/sql’
make[2]: *** [all-recursive] Fehler 1
make[2]: Leaving directory `/root/mysql-5.1.33/sql’
make[1]: *** [all] Fehler 2
make[1]: Leaving directory `/root/mysql-5.1.33/sql’
make: *** [all-recursive] Fehler 1
!!! make failed, aborting

Ich hab keine Ahnung, was dieses -lgcc_s bedeuten soll und eigetnlich dürfte sowas wie /sources/… auch nicht stehen, den dieses Verzeichnis gibt es bei mir schon seit dem BLFS Buch nicht mehr…

Kann mir da bitte jemand helfen?

PS: soll das compilierte MySQLe eigentlich in amarok einkompiliert werden oder muss ich das die ganze Zeit installiert für amarok vorhalten, dann würd ich ja das ganze MySQL installieren, damit andere Progs auch was davon haben? Kennt sich da jemand aus?

Danke!

1 Antwort
Jens Ornot – Dienstag, 21. April 2009 14:16 Uhr

Wo ist bei Dir die libgcc_s.so zufinden?

Laut der Meldungen die Du gepostet hast, verwendest Du ein x86_64-System.
Also: /usr/lib64/libgcc_s.so

Die obengenannte Lib ist ein Link auf die Datei /lib/libgcc_s.so.1*
bzw. in Deinem Fall /lib64/libgcc_s.so.1*

Schönen Tag noch, man liest sich. :)
Euer Jens Ornot alias Webstar

DaCapitalist – Dienstag, 21. April 2009 17:42 Uhr

Danke für die Antwort!

/lib und /lib64 sind bei mir dieselben Verzeichnisse.

Habe versucht, einen Symlink von /usr/lib/gcc… nach /lib/gcc… zu machen. Das hat nicht geholfen. Die Datei /usr/lib/gcc… exisitiert allerdings…

Jens Ornot – Mittwoch, 22. April 2009 12:32 Uhr

Manchmal hilft auch das explizite Setzen der LDFLAGS.

Also:
export LDFLAGS=”-L/usr/lib64 -s”

Aber das eigentliche Problem ist damit nicht beseitigt.
Wieso findet der Linker ld die libgcc_s.so nicht?

Schönen Tag noch, man liest sich. :)
Euer Jens Ornot alias Webstar

LolliPOP – Donnerstag, 23. April 2009 19:50 Uhr

export LDFLAGS=”-L/usr/lib64 -s”

hat leider nicht geholfen.

Ich frage mich, wo genau der Linker danach sucht. Wird das vllt auch vom Install-skript beeinflusst in diesem Fall.

Ich kann das hier schlecht anhängen, aber es befindet sich in den amarok-svn-sourcen “build-mysqle.sh” …

Vielen Dank!!!

Jens Ornot – Freitag, 24. April 2009 09:14 Uhr

Wieso verwendest Du nicht diese Anleitung?
http://www.linuxfromscratch.org/blfs/view/svn/server/mysql.html
Dort sollte dann nur der Parameter –with-embedded-server zusätzlich beim Configure-Schritt angehängt werden.

Schönen Tag noch, man liest sich. :)
Euer Jens Ornot alias Webstar

LolliPOP – Freitag, 24. April 2009 16:34 Uhr

Weil ich eigentlich keinen kompletten MySQL-Server auf meinem schmalen System haben möchte…

Soweit ich weiss, werden die Dateien mit diesem Skript allerdings nur in $home/usr gespeichert, also nicht in den root-verzeichnisbaum eingefügt. Vemutlich weil amarok keinen laufenden Server braucht, sondern nur irgendwelche Dateien zur compile-Zeit. Wenn ich das richtig verstanden habe… ???

Ganz nebenbei besteht ja ein Problem, dessen Grund ich gerne kennen würde, denn solche Probleme holen einen immer ein, auch wenn man sie einmal verschiebt. ;-)