eventlircd lässt sich nicht kompilieren

  • Hi,


    Wenn ich auf einem ARM System unter Ubuntu-14.04 versuche eventlircd zu kompilieren, bekomme ich folgende Fehlermeldung. Hat jemand ne Idee, was da schief geht?


    Die libudev.so ist installiert und wird auch vom Linker gefunden (hab's mit verbose Linking überprüft).


    Auf nem x86'er Ubuntu-14.04 klappt das problemlos und auch auf nem ARM Debian hatte ich keine Probleme.


    Claus

    MLD 5.5 mit vdr 2.6 - lirc yaUSBir - Octopus NET S2 - SCR - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - WD Green 12TB HDD - SanDisk 64GB SSD - Lian Li PC-C37B - Samsung LE40A559
    MLD 5.5 mit vdr 2.4 - Raspberry Pi 3 - rpihddevice
    MLD 5.5 mit Squeeze Play - Raspberry Pi 2 - 32GB SD - 7" Touch TFT

  • Sieht so aus als wärst du auf den Gold-Linker reingefallen. Das -ludev muss nach hinten. Der "tolle" neue Linker macht nur noch single pass. Viele machen ja auch den Fehler, dass sie die Libs beim Makefile in die Variable LDFLAGS packen, das gehört aber nach LDLIBS. Ganz früher wusste man das noch, aber dann kam zwischenzeitlich der Linker, der mehrmals die Libs durchsuchte, aber das gibt es jetzt nicht mehr.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Hi,


    ich hatte das auch schon so versucht:

    Code
    gcc -std=gnu99   -DLIRCD_SOCKET=\"/var/run/lirc/lircd\" -DEVMAP_DIR=\"/etc/eventlircd.d\" -g -O2 -pedantic -flto -fvisibility=hidden -Wall -Wextra -Wcast-qual -Wfloat-equal -Wformat=2 -Winit-self -Wmissing-include-dirs  -Wstrict-overflow=5 -Wundef   -flto -fuse-linker-plugin -fwhole-program -fvisibility=hidden -Wl,--as-needed   -ludev  -o eventlircd eventlircd-main.o eventlircd-monitor.o eventlircd-input.o eventlircd-lircd.o


    Allerdings mit dem selben Ergebnis. Oder ist das -ludev auch so noch an der falschen Stelle?


    Claus

    MLD 5.5 mit vdr 2.6 - lirc yaUSBir - Octopus NET S2 - SCR - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - WD Green 12TB HDD - SanDisk 64GB SSD - Lian Li PC-C37B - Samsung LE40A559
    MLD 5.5 mit vdr 2.4 - Raspberry Pi 3 - rpihddevice
    MLD 5.5 mit Squeeze Play - Raspberry Pi 2 - 32GB SD - 7" Touch TFT

  • Allerdings mit dem selben Ergebnis. Oder ist das -ludev auch so noch an der falschen Stelle?


    Na sicher, das muss natürlich hinter die Object-Dateien. Die Object-Dateien haben doch erst die unresolved references nach denen dann der Linker sucht, aber da stehen ja keine Libraries mehr die er durchsuchen könnte. Ich habe doch gesagt "single pass" er geht nicht nochmal alles durch.
    An der Stelle wo jetzt die lib bei dir steht brauchte sie doch noch keiner, also hat er sie ignoriert.


    Kurzes googeln nach den bereits von mir erwähnten LDFLAGS und LDLIBS fördert unter anderem dieses hier zu Tage: Don't mix LDFLAGS and LDLIBS


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

    Einmal editiert, zuletzt von gda ()

  • Hi Danke,


    ja, das ist mir dann nach ein wenig nachdenken auch aufgegangen. Ist halt schon ne weile her (so ca. 20 Jahre), das ich zuletzt mal selber was größeres in C geschrieben habe und solche Sachen beachten musste.


    Besten Dank jedenfalls schon mal. Jetzt baut's ohne weitere Probleme durch. Jetzt brauche ich nur noch schauen, wie ich das automake bzw. die Makefile.am anpassen muss, damit das in Zukunft auf Anhieb klappt.


    Claus

    MLD 5.5 mit vdr 2.6 - lirc yaUSBir - Octopus NET S2 - SCR - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - WD Green 12TB HDD - SanDisk 64GB SSD - Lian Li PC-C37B - Samsung LE40A559
    MLD 5.5 mit vdr 2.4 - Raspberry Pi 3 - rpihddevice
    MLD 5.5 mit Squeeze Play - Raspberry Pi 2 - 32GB SD - 7" Touch TFT

  • Für alle, die das Selbe Problem haben, hab ich hier nun nen Patch der das fixt:


    Claus

    MLD 5.5 mit vdr 2.6 - lirc yaUSBir - Octopus NET S2 - SCR - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - WD Green 12TB HDD - SanDisk 64GB SSD - Lian Li PC-C37B - Samsung LE40A559
    MLD 5.5 mit vdr 2.4 - Raspberry Pi 3 - rpihddevice
    MLD 5.5 mit Squeeze Play - Raspberry Pi 2 - 32GB SD - 7" Touch TFT

  • Ja, ich hab's im Bugtracker eingetragen


    Claus

    MLD 5.5 mit vdr 2.6 - lirc yaUSBir - Octopus NET S2 - SCR - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - WD Green 12TB HDD - SanDisk 64GB SSD - Lian Li PC-C37B - Samsung LE40A559
    MLD 5.5 mit vdr 2.4 - Raspberry Pi 3 - rpihddevice
    MLD 5.5 mit Squeeze Play - Raspberry Pi 2 - 32GB SD - 7" Touch TFT

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!