Probleme mit Kompilieren der yavdr Plugin-Pakete aus den Quellpaketen

  • Ich versuche gerade mir die yavdr-Pakete aus den Sourcen zu kompilieren (da einerseits armhf gar nicht und Vivid noch nicht als binary verfügbar sind). Mit vdr (und vdr-dev) klappt das auch ganz gut, aber bei allen Plugins die ich probiert habe bekomme ich eine Fehlermeldung wie:
    dh_usrlocal: debian/vdr-plugin-xxx is not a directory, also z.B.:


    Und dann bricht der Build ab.

    Getestet bis jetzt mit live, suspendoutput und dummydevice

  • Welches Repository verwendest Du?
    Falls du unstable-vdr verwendest, das wird gerade umgestellt auf das neue /etc/vdr/conf.d und hat noch diverse andere Anpassungen.
    Woher ist Dein vdr und vdr-dev? Wenn dieses vor ein paar Wochen aus unstable-vdr kam würde ich die Plugins aus testing-vdr nehmen.

    Gruß
    Frodo

    Meine VDR Hardware

    YaVDR 0.6: Intel DQ67SW, Digital Devices Octopus Duo CI, 2x DD DuoFlex S2 V4, NVIDIA GT 610 (GF119), IMON VFD

    YaVDR 0.6: Asus Z170I PRO GAMING, NVIDIA GT 1030 (GP108-A), SilverStone ML02B-MXR, IMON LCD

    YaVDR 0.6: Intel DH67CF, TT S2-6400, NVIDIA GTX 1050 (GP107-A)

    YaVDR 0.5: Intel DH67BL, TT S2-6400, TT S2-3200, NVIDIA 210 (GT218)

    YaVDR 0.6: Zotac D2550ITX, NVIDIA GT 610 (GF119) onboard, IMON VFD

  • Danke für die schnelle Antwort, ja ist alles aus unstable-vdr (trusty). Aber daher stammt auch das vdr src Paket (welches dann beim bauen vdr, vdr-dev, vdr-dbg usw erzeugt). Ich werde mal mit testing-vdr (precise) testen...

  • Wenn man die Plugins bauen möchte, muss der dazu passende vdr(-dev) installiert sein.
    Wenn das nicht möglich ist, sollte man sich mit pbuilder auseinandersetzen. Oder eine andere Form von chroot-Build-Umgebung sich erstellen.

    Was pbuilder betrifft, hab ich nur Ahnung, wie man sie für die native Plattform benutzt. Machst du cross-compiling oder baust du direkt auf der armhf-Plattform?

    Lars.

    vdr2: yaVDR 0.5/softhddevice @ G540, Intel DH67BLB3, Asus GT610/2GB, DDBridge + 2x DuoFlex C/T
    hdvdr: yaVDR unstable/softhddevice @ E8400, Asus P5Q SE Plus, 1x L4M-TwinCI + Flex C/T, 1x Sundtek MediaTV Pro, GT520
    Plugins: | avahi4vdr | dbus2vdr | dynamite | epg2timer | noepg | pvrinput | sundtek |

  • Sind die Sourcen auch wirklich aktuell heruntergeladen? Da hat sich in den letzten zwei Wochen eine Menge getan. Ich frage nur zur Sicherheit, weil eben die conf.d-Umstellung gerade in Gange war.

    Lars.

    vdr2: yaVDR 0.5/softhddevice @ G540, Intel DH67BLB3, Asus GT610/2GB, DDBridge + 2x DuoFlex C/T
    hdvdr: yaVDR unstable/softhddevice @ E8400, Asus P5Q SE Plus, 1x L4M-TwinCI + Flex C/T, 1x Sundtek MediaTV Pro, GT520
    Plugins: | avahi4vdr | dbus2vdr | dynamite | epg2timer | noepg | pvrinput | sundtek |

  • Die Ausgabe von dh_usrlocal macht micht stutzig, da sollte gar nichts sein.
    Wie sieht /usr/lib/pkgconfig/vdr.pc aus? Oder hast du da was verändert?

    Lars.

    vdr2: yaVDR 0.5/softhddevice @ G540, Intel DH67BLB3, Asus GT610/2GB, DDBridge + 2x DuoFlex C/T
    hdvdr: yaVDR unstable/softhddevice @ E8400, Asus P5Q SE Plus, 1x L4M-TwinCI + Flex C/T, 1x Sundtek MediaTV Pro, GT520
    Plugins: | avahi4vdr | dbus2vdr | dynamite | epg2timer | noepg | pvrinput | sundtek |

  • Kein Cross-Compiling, läuft alles auf dem System selbst (wenn auch etwas langsam).

    Ich habe das deb-src Repo *heute* eingebunden und anschließend angefangen zuerst vdr zu bauen (ging), vdr und vdr-dev zu installieren (ging), dann vdr-plugin-xyz zu bauen und hier kommen die Probleme.

    EDIT:
    Mit vdr-testing genau das gleiche Problem. usr/local scheint innerhalb des Builds benutzt zu werden, dahin zeigt jedenfalls das "install" aus dem make.

    Hier mal der komplette Build-Log des vdr-plugin-suspendoutput (nach Installation eines soeben heruntergeladen, kompiliertem und installierten vdr-2.2.0):

    Display Spoiler

    # apt-get -b source vdr-plugin-suspendoutput
    Paketlisten werden gelesen... Fertig
    Abhängigkeitsbaum wird aufgebaut.
    Statusinformationen werden eingelesen.... Fertig
    Es müssen 40,7 kB an Quellarchiven heruntergeladen werden.
    Holen: 1 http://ppa.launchpad.net/yavdr/testing-vdr/ubuntu/ precise/main vdr-plugin-suspendoutput 2.0.0-0yavdr6~precise (tar) [35,2 kB]
    Holen: 2 http://ppa.launchpad.net/yavdr/testing-vdr/ubuntu/ precise/main vdr-plugin-suspendoutput 2.0.0-0yavdr6~precise (diff) [3.834 B]
    Holen: 3 http://ppa.launchpad.net/yavdr/testing-vdr/ubuntu/ precise/main vdr-plugin-suspendoutput 2.0.0-0yavdr6~precise (dsc) [1.606 B]
    Es wurden 40,7 kB in 5 s geholt (7.698 B/s).
    gpgv: Unterschrift vom Fr 20 Feb 2015 13:20:02 UTC mittels RSA-Schlüssel ID 5289F541
    gpgv: Unterschrift kann nicht geprüft werden: Öffentlicher Schlüssel nicht gefunden
    dpkg-source: Warnung: Fehler beim Überprüfen der Signatur von ./vdr-plugin-suspendoutput_2.0.0-0yavdr6~precise.dsc
    dpkg-source: Information: vdr-plugin-suspendoutput wird nach vdr-plugin-suspendoutput-2.0.0 extrahiert
    dpkg-source: Information: vdr-plugin-suspendoutput_2.0.0.orig.tar.gz wird entpackt
    dpkg-source: Information: vdr-plugin-suspendoutput_2.0.0-0yavdr6~precise.debian.tar.gz wird entpackt
    dpkg-source: Information: vdr-2.1.x-compat.patch wird angewandt
    dpkg-buildpackage: Quellpaket vdr-plugin-suspendoutput
    dpkg-buildpackage: Quellversion 2.0.0-0yavdr6~precise
    dpkg-buildpackage: Quelldistribution precise
    dpkg-buildpackage: Quellen geändert durch Lars Hanisch <dvb@flensrocker.de>
    dpkg-buildpackage: Host-Architektur armhf
    dpkg-source --before-build vdr-plugin-suspendoutput-2.0.0
    debian/rules clean
    dh clean
    dh_testdir
    dh_auto_clean
    make[1]: Entering directory '/usr/local/src/vdr-plugin-suspendoutput-2.0.0'
    make[1]: Leaving directory '/usr/local/src/vdr-plugin-suspendoutput-2.0.0'
    dh_clean
    debian/rules build
    dh build
    dh_testdir
    dh_auto_configure
    dh_auto_build
    make[1]: Entering directory '/usr/local/src/vdr-plugin-suspendoutput-2.0.0'
    g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DPLUGIN_NAME_I18N='"suspendoutput"' -o suspendoutput.o suspendoutput.c
    g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DPLUGIN_NAME_I18N='"suspendoutput"' -o timer.o timer.c
    g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DPLUGIN_NAME_I18N='"suspendoutput"' -o dummy_player.o dummy_player.c
    cc mpg2c.c -o mpg2c
    g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DPLUGIN_NAME_I18N='"suspendoutput"' -o vdrlogo_720x576.o vdrlogo_720x576.c
    g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DPLUGIN_NAME_I18N='"suspendoutput"' -o black_720x576.o black_720x576.c
    g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -shared suspendoutput.o timer.o dummy_player.o vdrlogo_720x576.o black_720x576.o -o libvdr-suspendoutput.so
    xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-suspendoutput --package-version=2.0.0 --msgid-bugs-address='<see README>' -o po/suspendoutput.pot `ls mpg2c.c dummy_player.c suspendoutput.c timer.c`
    msgmerge -U --no-wrap --no-location --backup=none -q -N po/fi_FI.po po/suspendoutput.pot
    msgfmt -c -o po/fi_FI.mo po/fi_FI.po
    po/fi_FI.po:6: Warnung: Das Feld »Language« im Kopfeintrag hat immer noch den anfänglichen Vorgabewert
    msgmerge -U --no-wrap --no-location --backup=none -q -N po/it_IT.po po/suspendoutput.pot
    msgfmt -c -o po/it_IT.mo po/it_IT.po
    po/it_IT.po:6: Warnung: Das Feld »Language« im Kopfeintrag hat immer noch den anfänglichen Vorgabewert
    make[1]: Leaving directory '/usr/local/src/vdr-plugin-suspendoutput-2.0.0'
    dh_auto_test
    debian/rules binary
    dh binary
    dh_testroot
    dh_prep
    debian/rules override_dh_auto_install
    make[1]: Entering directory '/usr/local/src/vdr-plugin-suspendoutput-2.0.0'
    dh_auto_install --destdir=debian/vdr-plugin-suspendoutput
    make[2]: Entering directory '/usr/local/src/vdr-plugin-suspendoutput-2.0.0'
    install -D libvdr-suspendoutput.so /usr/local/src/vdr-plugin-suspendoutput-2.0.0/debian/vdr-plugin-suspendoutput/usr/local/lib/vdr/libvdr-suspendoutput.so.2.1.6
    install -D -m644 po/fi_FI.mo /usr/local/src/vdr-plugin-suspendoutput-2.0.0/debian/vdr-plugin-suspendoutput/usr/local/share/locale/fi_FI/LC_MESSAGES/vdr-suspendoutput.mo
    install -D -m644 po/it_IT.mo /usr/local/src/vdr-plugin-suspendoutput-2.0.0/debian/vdr-plugin-suspendoutput/usr/local/share/locale/it_IT/LC_MESSAGES/vdr-suspendoutput.mo
    make[2]: Leaving directory '/usr/local/src/vdr-plugin-suspendoutput-2.0.0'
    make[1]: Leaving directory '/usr/local/src/vdr-plugin-suspendoutput-2.0.0'
    dh_install
    dh_installdocs
    dh_installchangelogs
    dh_perl
    dh_usrlocal
    dh_usrlocal: debian/vdr-plugin-suspendoutput/usr/local/share/locale/fi_FI/LC_MESSAGES/vdr-suspendoutput.mo is not a directory
    rmdir: konnte »debian/vdr-plugin-suspendoutput/usr/local/share/locale/fi_FI/LC_MESSAGES“ nicht entfernen: Das Verzeichnis ist nicht leer
    dh_usrlocal: rmdir debian/vdr-plugin-suspendoutput/usr/local/share/locale/fi_FI/LC_MESSAGES returned exit code 1
    debian/rules:18: recipe for target 'binary' failed
    make: *** [binary] Error 1
    dpkg-buildpackage: Fehler: Fehler-Exitstatus von debian/rules binary war 2
    Build-Befehl »cd vdr-plugin-suspendoutput-2.0.0 && dpkg-buildpackage -b -uc« fehlgeschlagen.
    E: Kindprozess fehlgeschlagen

    pkgconfig sieht sauber aus (kein local):

  • Update: Wenn ich "override_dh_usrlocal:" (also leer) in die <source>/debian/rules hinzufügen läuft der build durch, das Plugin wird dann aber auch in /usr/local/lib/vdr/ installiert

    Update2: pkgconfig war ein guter Hinweis, mit einem find / -name 'vdr*' habe ich noch ein altes (von einer manuellen vdr installation) pkgconfig gefunden, was anscheinend nach /usr/local zeigte
    Hab das jetzt mal alles abgeräumt und baue von vorn (jetzt wieder unstable-vdr trusty), werde dann berichten!

  • Ja das wars, bis auf live hat jetzt alles durchkompiliert und deb's erzeugt.

    Bei live war doch noch die Sache mit der vdr-2.2.0 Kompatibilität, das Probleme dürfte eigentlich nicht an der Architektur liegen?!?

    Display Spoiler

    ecppc edit_recording.ecpp
    g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -Wno-overloaded-virtual -Wno-unused-variable -c -DPLUGIN_NAME_I18N='"live"' -DTNTVERSION=22100 -DCXXTOOLVER=22100 -DHAVE_LIBPCRECPP -I/usr/include/vdr/include -I.. menu.cpp
    g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -Wno-overloaded-virtual -Wno-unused-variable -c -DPLUGIN_NAME_I18N='"live"' -DTNTVERSION=22100 -DCXXTOOLVER=22100 -DHAVE_LIBPCRECPP -I/usr/include/vdr/include -I.. recordings.cpp
    recordings.ecpp: In member function ‘virtual unsigned int {anonymous}::_component_::operator()(tnt::HttpRequest&, tnt::HttpReply&, tnt::QueryParams&)’:
    recordings.ecpp:82:46: error: ‘VideoDiskSpace’ was not declared in this scope
    int Percent = VideoDiskSpace(&FreeMB, &UsedMB);
    ^
    Makefile:55: recipe for target 'recordings.o' failed
    make[3]: *** [recordings.o] Error 1
    make[3]: Leaving directory '/usr/local/src/vdr-plugin-live-0.3.0+git20141029/pages'
    Makefile:154: recipe for target 'pages' failed
    make[2]: *** [pages] Error 2
    make[2]: Leaving directory '/usr/local/src/vdr-plugin-live-0.3.0+git20141029'
    dh_auto_build: make -j1 all VDRDIR=/usr/include/vdr LIBDIR=. LOCALEDIR=locale returned exit code 2
    debian/rules:13: recipe for target 'override_dh_auto_build' failed
    make[1]: *** [override_dh_auto_build] Error 2
    make[1]: Leaving directory '/usr/local/src/vdr-plugin-live-0.3.0+git20141029'
    debian/rules:10: recipe for target 'build' failed
    make: *** [build] Error 2
    dpkg-buildpackage: Fehler: Fehler-Exitstatus von debian/rules build war 2
    Build-Befehl »cd vdr-plugin-live-0.3.0+git20141029 && dpkg-buildpackage -b -uc« fehlgeschlagen.
    E: Kindprozess fehlgeschlagen

  • Bist du sicher, dass du den Source von yavdr benutzt? Da müssten eigentlich alle nötigen Patches drin sein.

    Lars

    vdr2: yaVDR 0.5/softhddevice @ G540, Intel DH67BLB3, Asus GT610/2GB, DDBridge + 2x DuoFlex C/T
    hdvdr: yaVDR unstable/softhddevice @ E8400, Asus P5Q SE Plus, 1x L4M-TwinCI + Flex C/T, 1x Sundtek MediaTV Pro, GT520
    Plugins: | avahi4vdr | dbus2vdr | dynamite | epg2timer | noepg | pvrinput | sundtek |

  • Ich benutze, wenn ich spezielle Sourcen aus einem PPA haben möchte, "dget -xu .....dsc", dann bekommt man das, was man erwartet.

    Aber gut zu wissen, das mit dem Pinning.

    Lars

    vdr2: yaVDR 0.5/softhddevice @ G540, Intel DH67BLB3, Asus GT610/2GB, DDBridge + 2x DuoFlex C/T
    hdvdr: yaVDR unstable/softhddevice @ E8400, Asus P5Q SE Plus, 1x L4M-TwinCI + Flex C/T, 1x Sundtek MediaTV Pro, GT520
    Plugins: | avahi4vdr | dbus2vdr | dynamite | epg2timer | noepg | pvrinput | sundtek |

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!