Undefined symbol von Plugin zu Plungin

  • Hallo zusammen,


    ich bin gerade dabei, das UPnP Plugin zum Laufen zu bekommen. Dabei bin ich auf ein Problem gestoßen dessen Ursache ich nicht so ganz verstehe.


    UPnP ist in mehrere Teile aufgeteilt, die separat als Plugins geladen werden, ich lade libvdr-upnp.so.2.0.0 und libvdr-upnp-rec-provider.so.2.0.0.


    Der VDR bricht ab mit:


    Code
    1. [16042] loading plugin: /usr/src/vdr/PLUGINS/lib/libvdr-upnp.so.2.0.0
    2. [16042] loading plugin: /usr/src/vdr/PLUGINS/lib/libvdr-upnp-rec-provider.so.2.0.0
    3. [16042] ERROR: /usr/src/vdr/PLUGINS/lib/libvdr-upnp-rec-provider.so.2.0.0: undefined symbol: _ZN4upnp21cUPnPResourceProvider10GetHTTPUriERKSsS2_S2_


    UPnPResourceProvider ist eine Basisklasse aus libvdr-upnp.so, die in libvdr-upnp-rec-provider abgeleitet wird. Kann man in den Libraries auch sehen:


    Code
    1. nm -o * |grep _ZN4upnp21cUPnPResourceProvider10GetHTTPUriERKSsS2_S2_
    2. libvdr-upnp-rec-provider.so.2.0.0: U _ZN4upnp21cUPnPResourceProvider10GetHTTPUriERKSsS2_S2_
    3. libvdr-upnp.so.2.0.0:0008da20 T _ZN4upnp21cUPnPResourceProvider10GetHTTPUriERKSsS2_S2_


    Wieso findet der Loader das Symbol nicht?


    Vielen Dank,
    Bernd

    Produktiv: VDR "headless" Server:

    • Fujitsu-Siemes Scenic L Tower, Intel PIII 933 MHz, Intel 815 Chipsatz, 5 x PCI, 256 MB RAM, 500 GB IDE für OS und /home, 1,5 TB an Delock PCI SATA Controller für /video, 3 x Budget TT 1401, on-board 10/100 Netzwerk, on-board Grafik,
    • Debian, VDR 2.0.1 mit ffnetdev, epgsearch, streamdev-server und live Plugins

    Im Aufbau: VDR "headless" Server:

    • Whitebox mit Supermicro X10SLL+-F, Xeon Prozessor, 16 GB RAM als ESXi Host, Debian VM für VDR, Digital Devices Cine S2 mit VT-d Passthrough an die VM
    • Debian, VDR 2.2 mit ffnetdev, epgsearch, streamdev-server und live Plugins

    Client: Laptop, Windows und OS X, VLC Media Player

  • Moin!


    Ist libvdr-upnp-rec-provider überhaupt ein vdr-Plugin? Ich dachte, es wäre ein Plugin für upnp und darf nicht direkt per "-P" vom vdr geladen werden.
    Allerdings müsste es dann eigentlich "libupnp-rec-provider..." heißen, denn nur "richtige" vdr-Plugins dürfen "libvdr-<name>" heißen, siehe PLUGINS.html, Abschnitt "The plugin directory structure".


    Lars.

  • Moin!


    Ist libvdr-upnp-rec-provider überhaupt ein vdr-Plugin? Ich dachte, es wäre ein Plugin für upnp und darf nicht direkt per "-P" vom vdr geladen werden.
    Allerdings müsste es dann eigentlich "libupnp-rec-provider..." heißen, denn nur "richtige" vdr-Plugins dürfen "libvdr-<name>" heißen, siehe PLUGINS.html, Abschnitt "The plugin directory structure".


    Lars.


    Ähm, das kann natürlich sein.


    Ich habe in der UPnP Plugin Doku allerdings nix darüber gefunden wie die Sub-Plugins geladen werden und bin deshalb davon ausgegangen dass die auch normal über -P geladen werden.


    Wenn ich so nachdenke, dann kann man die gar nicht über -P laden weil sie nicht die VDR Plugin Infrastruktur implementieren.


    Danke dir dafür,
    Bernd

    Produktiv: VDR "headless" Server:

    • Fujitsu-Siemes Scenic L Tower, Intel PIII 933 MHz, Intel 815 Chipsatz, 5 x PCI, 256 MB RAM, 500 GB IDE für OS und /home, 1,5 TB an Delock PCI SATA Controller für /video, 3 x Budget TT 1401, on-board 10/100 Netzwerk, on-board Grafik,
    • Debian, VDR 2.0.1 mit ffnetdev, epgsearch, streamdev-server und live Plugins

    Im Aufbau: VDR "headless" Server:

    • Whitebox mit Supermicro X10SLL+-F, Xeon Prozessor, 16 GB RAM als ESXi Host, Debian VM für VDR, Digital Devices Cine S2 mit VT-d Passthrough an die VM
    • Debian, VDR 2.2 mit ffnetdev, epgsearch, streamdev-server und live Plugins

    Client: Laptop, Windows und OS X, VLC Media Player