lib error bei plugin Aufruf

  • Hallo @all,
    ich habe ein plugin auf und für meine DM7020 geschrieben.
    Bei mir läuft es super und problemlos. Bei einem Bekannten, bekomme ich allerdings diese Fehlermeldung: var/tuxbox/plugins/dreamcast.so: symbol gettext version GLIBC_2.0 not defined in file libc.so.6 with link time refernece. (siehe auch angehängten screenshot)


    Sein System: DM 7000 Image CVS, geteset auch mit einem Fremdimage, bei beiden der gleiche Fehler. Mir ist jetzt nicht ganz klar, was ich ändern kann/soll um diesen Fehler weg zu bekommen. Hat jemand eine Idee und kann mir helfen?

  • Hi tyrel,


    Ich habe mal ein 7020er plugin auf ner 7000er probiert.


    Da bekomme ich eine ähnliche Meldung.


    Ich denke mal Du mußt das mit CSV für die 7000er


    extra kompilieren, die verwendet andere Libs.


    Gruß Emanuel

    rosig

    Einmal editiert, zuletzt von emanuel ()

  • ist aber irgendwie komisch :confused_face: , es scheint nur bestimmte funktionen zu betreffen. ich habe das plugin dreamMOVIELIST gemacht und hatte überhaupt keine probleme auf den 7000er Kisten. Der einzige Unterschied von den Funktioen ist, dass ich bei meinem aktuellen dreamCAST plugin Input und ComboBoxen verwende, wobei getText nur für die InputBoxen Verwendung findet.
    Schöner Sch...... ist das. :smiling_face_with_horns:


    Wie wäre es, wenn ich einfach die lib tausche, sollte doch auch gehen, oder? :confused_face:

    greetings tYREL

  • Die libs in den verschiedenen Images sind gestrippt. Das heißt du hast schon libs mit gleicher Bezeichnung, nur sind beim Bauen der Images alle Funktionen aus den libs entfernt worden, die von den jeweiligen Tools und Plugins des Images nicht gebraucht werden. Das sparrt Platz, sorgt aber wie in deinem Fall dazu, das bestimmte Funktionen der Bibliotheken, gegen die ein nachträglich zugefügtes Tool oder Plugin gelinkt ist, nicht vorhanden sind. Also relocation error. Du kannst nun folgendes machen:


    1. Baue dein Plugin statisch, bzw. linke besagte Bibliothek wo der Fehler auftritt statisch in dein Plugin.


    2. Tausche die lib im Image gegen eine vollwertige, bzw. dort wo besagte Funktionen vorhanden sind. Das kann aber unter Umständen zu Problemen führen, da die Bibliothekenentwicklung weitergeht und gewisse Abläufe sich dann evtl. anders in deinem Plugin verhalten. Bin persönlich kein Fan von libs tauschen. Aber wenn's denn sein muß nimm die aus der Entwicklungsumgebung für deine Box.


    3. Adde dein Plugin in deine Crossumgebung und baue ein Image mit dem Plugin.
    Dann läufts zumindest in diesem Image.

    Make your dreams true with xdevels.

  • Hi krallekit,


    danke für die ausführliche Erklärung ich habe's soweit kapiert. Ich denke Variante 1 wäre wohl die beste. Richtig?

    Zitat


    1. Baue dein Plugin statisch, bzw. linke besagte Bibliothek wo der Fehler auftritt statisch in dein Plugin.


    Kannst Du mir bitte erklären, wie ich dies im OE umsetzen kann. Ich habe leider überhaupt gar keine Ahnung. Wäre super. Vielen Dank.
    =)

    greetings tYREL

  • Da kann ich dir leider wieder nicht helfen. Ich habe nur die 7000er und da läuft ja alles noch im alten klassischen Stil mit Makefiles.


    Ich hatte mal ein OE Umgebung für die 7020er hier, aber selbst dort habe ich alles mit Makefiles verwirklicht. Evtl. kannst du aber das linken auch manuell machen. Schaue dir dazu beim Bauen des Plugins den Output von make an, sofern im oe die ganze Sache auch verbose ist. Dort wo gelinkt wird kannst du diesen Schritt kopieren, den Aufruf der besagten lib als statisch deklarieren und dann die ganze Sache manuell auf der Konsole nochmal linken.
    So zumindest würde ich das erstmal versuchen, wenn es nur um eine einmalige Aktion geht. Kannst ja mal den Output hier posten.


    cheers :winking_face:

    Make your dreams true with xdevels.

  • krallekit: Danke, ich werde mal versuchen ob ich so weiter komme. Ich hatte gestern abend noch einiges versucht, aber geholfen hat's nicht. Aber ein Makefile habe ich auch im OE und für das plugin. Ich kann es heute abend ja mal posten evtl. kannst Du doch was dazu sagen.
    Danke erstmal.
    Grüße
    tYREL

    greetings tYREL

  • So wie angedroht =) hier mal das makefile für mein plugin. Hoffe, dass mir jemand helfen kann, ich wurde schon gern das plugin auch auf den 7000er boxen am laufen haben.



    vielen dank schonmal.

    greetings tYREL

  • Das Makefile ist ja schonmal ganz gut, allerdings muß ich dazu noch ein paar Sachen wissen. Da Makefiles ja fast nur aus Variablen (Environments) bestehen, wäre gut zu wissen was sich beispielsweise hinter $(SIGC_CFLAGS), $(XMLTREE_CFLAGS) und $(PLUGINDIR) verbirgt. Vielleicht Konsolenoutput beim Bauen!


    Welcher Teil der Funktion fehlt denn, bzw. welche Fehlermeldung kommt beim Aufruf des Plugins auf der Dream?


    cheers :winking_face:

    Make your dreams true with xdevels.

  • so als fehlermeldung kommt:

    Code
    var/tuxbox/plugins/dreamcast.so: symbol gettext version GLIBC_2.0 not defined in file libc.so.6 with link time refernece.


    konsolenoutput:


    falls interessant noch die configure.ac


    -static habe ich mal versuchsweise reingeschrieben, hat aber wohl keine funktion.


    hoffe das hilft.
    danke+grüße
    tYREL

    greetings tYREL

    Einmal editiert, zuletzt von tyrel ()

  • Also dein OE Output ist leider nicht das was ich mir erhofft habe, aber du kannst noch mal folgendes versuchen.
    Lösche mal aus deinem Makefile "AC_DISABLE_STATIC" raus

    Code
    ...
    AC_PROG_CC
    AC_PROG_CXX
    #AC_DISABLE_STATIC
    AM_PROG_LIBTOOL
    ....


    bzw.

    Code
    ...
    AC_PROG_CC
    AC_PROG_CXX
    AC_ENABLE_STATIC
    AM_PROG_LIBTOOL
    ....


    und setze

    Code
    CPPFLAGS="$CPPFLAGS $ENIGMA_CFLAGS $SIGC_CFLAGS $PLUGINS_CFLAGS -static".


    wie schon mal geschehen.


    Ist zumindest erstmal das, was ich auf den 1. Blick sehe.

    Make your dreams true with xdevels.

    2 Mal editiert, zuletzt von krallekit ()

  • Hi krallekit,
    vielen Dank für Deine Hilfe, werde ich mal probieren und testen. Und dann wieder berichten. :winking_face: =)

    greetings tYREL