hot on the heels of our mythtv-0.24 ebuild, the mythtv-0.25 release is out. I volunteer for testing ; ) Reproducible: Always
*** Bug 412069 has been marked as a duplicate of this bug. ***
*** Bug 413725 has been marked as a duplicate of this bug. ***
While waiting for mythtv-0.25 to hit the main portage tree, keep in mind that there is an offical mythtv packaging repository with up to date ebuilds at github: https://github.com/MythTV/packaging/tree/master/Gentoo
*** Bug 415119 has been marked as a duplicate of this bug. ***
Please do also provide ebuilds for the plugins etc.
And now I'm getting bit by this bug evidently fixed 8 months ago in 0.25: http://www.gossamer-threads.com/lists/gentoo/user/254164 So now I can't avoid this easily: https://bugs.gentoo.org/show_bug.cgi?id=407845
(In reply to comment #6) > And now I'm getting bit by this bug evidently fixed 8 months ago in 0.25: > > http://www.gossamer-threads.com/lists/gentoo/user/254164 > > So now I can't avoid this easily: > https://bugs.gentoo.org/show_bug.cgi?id=407845 I invite you to become a developer and maintain the ebuilds. I would love for someone to step up since I really don't have much time to dedicate.
(In reply to comment #7) > (In reply to comment #6) > > And now I'm getting bit by this bug evidently fixed 8 months ago in 0.25: > > > > http://www.gossamer-threads.com/lists/gentoo/user/254164 > > > > So now I can't avoid this easily: > > https://bugs.gentoo.org/show_bug.cgi?id=407845 > > I invite you to become a developer and maintain the ebuilds. I would love > for someone to step up since I really don't have much time to dedicate. Another option is proxy maintenance - as long as somebody is willing to make a serious effort at checking the quality of ebuilds/etc I could work with them to get them actually committed into portage. I don't mind investing a little time in making that work, but it does require a real commitment on the part of the contributor (though no formal qualifications otherwise). I don't want to start introducing new ebuilds if somebody isn't willing to commit to addressing issues that come up with them, and mythtv is one of the potentially more complicated packages out there with the hardware requirements. Alternatively I do try to get my front-end switched over to Gentoo when I have time. If I ever get that working without video artifacts (VDPAU and a Zotac ION) then I'll probably be able to much more rapidly deal with changes. The big issue I'm dealing with now is having to keep builds I work on synchronized with minimyth which isn't as simple to upgrade.
(In reply to comment #8) > Alternatively I do try to get my front-end switched over to Gentoo when I > have time. If I ever get that working without video artifacts (VDPAU and a > Zotac ION) then I'll probably be able to much more rapidly deal with > changes. Sorry for being slightly off-topic, but if it helps, after enabling VDPAU I also experienced artifacts behind moving objects and significant lag on my Radeon HD 4200 (using open-source drivers) with MythTV 0.24 from the packaging overlay. It works very well without VDPAU, though.
VDPAU works well here with 0.23.1 and standard Nvidia cards (8600GT, 9600GT, GT430).
There is a work in progress 0.25.1 ebuild in the tree. I'll only be able to test it in theory and not in actual use so if anyone has feedback on it, that would be helpful.
Created attachment 315955 [details] fixLdconfSandbox.patch.out
Created attachment 315957 [details] build.log Cannot build it: Failed Patch: fixLdconfSandbox.patch !
There's a new patch for 0.25.1. Just change line 114 in the ebuild to: epatch "${FILESDIR}/fixLdconfSandbox.0.25.1.patch" digest it and try again. It'll still fails due to missing files in the docs/ dir. I tried just creating empty files, but installation fails due to QA warnings about installing into ${D}/${D}. It's nice to see work progress on the 0.25 ebuild. Thank you very much for your work so far, Doug! Keep up the good work. I'm really looking forward to a working ebuild.
Went to bed with an uncommitted change. The patch name is fixed and the USE=ass name has changed to libass to match mplayer and vlc. Let me know what doc files are giving a QA error.
from the install phase: ... make[1]: Leaving directory `/tmp/portage/media-tv/mythtv-0.25.1/work/mythtv-0.25.1/locales' install: cannot stat `docs/*.txt': No such file or directory !!! dodoc: docs/*.txt does not exist install: cannot stat `docs/*.pdf': No such file or directory !!! dodoc: docs/*.pdf does not exist
(In reply to comment #16) > from the install phase: > > ... > make[1]: Leaving directory > `/tmp/portage/media-tv/mythtv-0.25.1/work/mythtv-0.25.1/locales' > install: cannot stat `docs/*.txt': No such file or directory > !!! dodoc: docs/*.txt does not exist > install: cannot stat `docs/*.pdf': No such file or directory > !!! dodoc: docs/*.pdf does not exist Thanks. Should be fixed in the tree now. Let me know of any other issues you run into. I'll do my best to start on an ebuild for the plugins this weekend.
Almost there: !!! dohtml: docs/*.html does not exist but even after I removed the dohtml docs/*.html line, it still failed to install due to errors like: QA Notice: //usr/bin installed in ${D}/${D} * QA Notice: //usr/bin/mythffplay installed in ${D}/${D} * QA Notice: //usr/bin/mythffmpeg installed in ${D}/${D} * ERROR: media-tv/mythtv-0.25.1 failed: * Aborting due to QA concerns: 63 files installed in /tmp/portage/media-tv/mythtv-0.25.1/image///tmp/portage/media-tv/mythtv-0.25.1/image/ I'll attach the full build log.
Created attachment 316003 [details] log of build failure (QA notices)
(In reply to comment #18) > Almost there: > > !!! dohtml: docs/*.html does not exist > > but even after I removed the > dohtml docs/*.html > line, it still failed to install due to errors like: > > QA Notice: //usr/bin installed in ${D}/${D} > * QA Notice: //usr/bin/mythffplay installed in ${D}/${D} > * QA Notice: //usr/bin/mythffmpeg installed in ${D}/${D} > * ERROR: media-tv/mythtv-0.25.1 failed: > * Aborting due to QA concerns: 63 files installed in > /tmp/portage/media-tv/mythtv-0.25.1/image///tmp/portage/media-tv/mythtv-0.25. > 1/image/ > > I'll attach the full build log. Alright. Give the latest ebuild a whirl.
looks like a sandbox violation: >>> Install mythtv-0.25.1 into /tmp/portage/media-tv/mythtv-0.25.1/image/ category media-tv make -C external/FFmpeg install INSTALL_ROOT= make[1]: Entering directory `/tmp/portage/media-tv/mythtv-0.25.1/work/mythtv-0.25.1/external/FFmpeg' INSTALL libavdevice/libmythavdevice.so ACCESS DENIED open_wr: /usr/lib64/libmythavdevice.so.52.2.3 install: cannot create regular file `/usr/lib64/libmythavdevice.so.52.2.3': Permission denied make[1]: *** [install-libavdevice-shared] Error 1 make[1]: Leaving directory `/tmp/portage/media-tv/mythtv-0.25.1/work/mythtv-0.25.1/external/FFmpeg' make: *** [external/FFmpeg_install] Error 2 * ERROR: media-tv/mythtv-0.25.1 failed (install phase): * einstall failed * * Call stack: * ebuild.sh, line 85: Called src_install * environment, line 5208: Called einstall * phase-helpers.sh, line 513: Called die * The specific snippet of code: * ${MAKE:-make} prefix="${ED}usr" \ * datadir="${ED}usr/share" \ * infodir="${ED}usr/share/info" \ * localstatedir="${ED}var/lib" \ * mandir="${ED}usr/share/man" \ * sysconfdir="${ED}etc" \ * ${LOCAL_EXTRA_EINSTALL} \ * ${MAKEOPTS} ${EXTRA_EMAKE} -j1 \ * "$@" install || die "einstall failed" * * If you need support, post the output of `emerge --info '=media-tv/mythtv-0.25.1'`, * the complete build log and the output of `emerge -pqv '=media-tv/mythtv-0.25.1'`. * The complete build log is located at '/var/log/portage/media-tv:mythtv-0.25.1:20120623-060211.log'. * For convenience, a symlink to the build log is located at '/tmp/portage/media-tv/mythtv-0.25.1/temp/build.log'. * The ebuild environment file is located at '/tmp/portage/media-tv/mythtv-0.25.1/temp/environment'. * Working directory: '/tmp/portage/media-tv/mythtv-0.25.1/work/mythtv-0.25.1' * S: '/tmp/portage/media-tv/mythtv-0.25.1/work/mythtv-0.25.1' --------------------------- ACCESS VIOLATION SUMMARY --------------------------- LOG FILE "/var/log/sandbox/sandbox-19462.log" VERSION 1.0 FORMAT: F - Function called FORMAT: S - Access Status FORMAT: P - Path as passed to function FORMAT: A - Absolute Path (not canonical) FORMAT: R - Canonical Path FORMAT: C - Command Line F: open_wr S: deny P: /usr/lib64/libmythavdevice.so.52.2.3 A: /usr/lib64/libmythavdevice.so.52.2.3 R: /usr/lib64/libmythavdevice.so.52.2.3 C: install -m 755 libavdevice/libmythavdevice.so /usr/lib64/libmythavdevice.so.52.2.3 --------------------------------------------------------------------------------
btw, when you update the ebuild, I redo the emerge from scratch. Is there a faster way? I tried an ebuild mythtv-0.25.1.ebuild install but that didn't seem to pick up the updated ebuild
For me on ~amd64 with gcc-4.7.1 it failed to link with: g++ -o mythfrontend main.o playbackbox.o viewscheduled.o audiogeneralsettings.o globalsettings.o manualsche dule.o programrecpriority.o channelrecpriority.o statusbox.o networkcontrol.o mediarenderer.o mythfexml.o pl aybackboxlistitem.o custompriority.o screenwizard.o exitprompt.o action.o actionset.o mythcontrols.o keybind ings.o keygrabber.o progfind.o guidegrid.o customedit.o schedulecommon.o progdetails.o scheduleeditor.o back endconnectionmanager.o programinfocache.o proglist.o proglist_helpers.o playbackboxhelper.o viewschedulediff .o themechooser.o setupwizard_general.o setupwizard_audio.o setupwizard_video.o grabbersettings.o editvideom etadata.o videofileassoc.o videometadatasettings.o videoplayercommand.o videopopups.o videofilter.o videolis t.o videoplayersettings.o videodlg.o videoglobalsettings.o upnpscanner.o commandlineparser.o idlescreen.o fr ontend.o moc_playbackbox.o moc_viewscheduled.o moc_globalsettings.o moc_audiogeneralsettings.o moc_manualsch edule.o moc_programrecpriority.o moc_channelrecpriority.o moc_statusbox.o moc_networkcontrol.o moc_custompri ority.o moc_screenwizard.o moc_exitprompt.o moc_mythcontrols.o moc_keygrabber.o moc_progfind.o moc_guidegrid .o moc_customedit.o moc_schedulecommon.o moc_progdetails.o moc_scheduleeditor.o moc_backendconnectionmanager .o moc_proglist.o moc_proglist_helpers.o moc_viewschedulediff.o moc_themechooser.o moc_setupwizard_general.o moc_setupwizard_audio.o moc_setupwizard_video.o moc_grabbersettings.o moc_editvideometadata.o moc_videofile assoc.o moc_videometadatasettings.o moc_videopopups.o moc_videofilter.o moc_videoplayersettings.o moc_videod lg.o moc_upnpscanner.o moc_idlescreen.o moc_frontend.o -L../../libs/libmyth -L../../libs/libmythtv -L../ ../external/FFmpeg/libavutil -L../../external/FFmpeg/libavcodec -L../../external/FFmpeg/libavformat -L../../ external/FFmpeg/libswscale -L../../libs/libmythbase -L../../libs/libmythui -L../../libs/libmythupnp -L../../ libs/libmythmetadata -L../../libs/libmythservicecontracts -L../../libs/libmythprotoserver -lmythtv-0.25 -lmy thswscale -lmythavformat -lmythavcodec -lmythavutil -lmythupnp-0.25 -lmythbase-0.25 -lmythui-0.25 -lmyth-0.2 5 -lmythmetadata-0.25 -lmythservicecontracts-0.25 -lmythprotoserver-0.25 -L../../libs/libmythlivemedia -lmyt hlivemedia-0.25 -L../../libs/libmythfreemheg -lmythfreemheg-0.25 -L../../libs/libmythhdhomerun -lmythhdhomer un-0.25 -lXext -lXinerama -lXxf86vm -lXv -lXrandr -lX11 -lxml2 -lcrypto -lass -lmp3lame -lpulse -ljack -laso und -lva -lm -pthread -ludev -ldl -lfreetype -lz -lbz2 -lraw1394 -liec61883 -lavc1394 -lrom1394 -L/usr/X11R6 /lib -L/usr/lib64 -L/usr/lib64/qt4 -lQtDBus -lGL -lQtWebKit -lQtScript -lQtSql -L/usr/lib64/mysql -lQtXml -l QtOpenGL -lQtGui -lQtNetwork -lQtCore -lgthread-2.0 -lrt -lglib-2.0 -lpthread ../../libs/libmyth/libmyth-0.25.so: undefined reference to `vtable for MediaMonitorUnix' collect2: error: ld returned 1 exit status make[2]: *** [mythfrontend] Error 1 make[2]: Leaving directory `/var/tmp/portage/media-tv/mythtv-0.25.1/work/mythtv-0.25.1/programs/mythfrontend Can it be -j4 issue? Thank you. '
(In reply to comment #21) > looks like a sandbox violation: > > >>> Install mythtv-0.25.1 into /tmp/portage/media-tv/mythtv-0.25.1/image/ category media-tv > make -C external/FFmpeg install INSTALL_ROOT= > make[1]: Entering directory > `/tmp/portage/media-tv/mythtv-0.25.1/work/mythtv-0.25.1/external/FFmpeg' > INSTALL libavdevice/libmythavdevice.so > ACCESS DENIED open_wr: /usr/lib64/libmythavdevice.so.52.2.3 > install: cannot create regular file `/usr/lib64/libmythavdevice.so.52.2.3': > Permission denied > make[1]: *** [install-libavdevice-shared] Error 1 > make[1]: Leaving directory > `/tmp/portage/media-tv/mythtv-0.25.1/work/mythtv-0.25.1/external/FFmpeg' > make: *** [external/FFmpeg_install] Error 2 > * ERROR: media-tv/mythtv-0.25.1 failed (install phase): > * einstall failed > * > * Call stack: > * ebuild.sh, line 85: Called src_install > * environment, line 5208: Called einstall > * phase-helpers.sh, line 513: Called die > * The specific snippet of code: > * ${MAKE:-make} prefix="${ED}usr" \ > * datadir="${ED}usr/share" \ > * infodir="${ED}usr/share/info" \ > * localstatedir="${ED}var/lib" \ > * mandir="${ED}usr/share/man" \ > * sysconfdir="${ED}etc" \ > * ${LOCAL_EXTRA_EINSTALL} \ > * ${MAKEOPTS} ${EXTRA_EMAKE} -j1 \ > * "$@" install || die "einstall failed" > * > * If you need support, post the output of `emerge --info > '=media-tv/mythtv-0.25.1'`, > * the complete build log and the output of `emerge -pqv > '=media-tv/mythtv-0.25.1'`. > * The complete build log is located at > '/var/log/portage/media-tv:mythtv-0.25.1:20120623-060211.log'. > * For convenience, a symlink to the build log is located at > '/tmp/portage/media-tv/mythtv-0.25.1/temp/build.log'. > * The ebuild environment file is located at > '/tmp/portage/media-tv/mythtv-0.25.1/temp/environment'. > * Working directory: > '/tmp/portage/media-tv/mythtv-0.25.1/work/mythtv-0.25.1' > * S: '/tmp/portage/media-tv/mythtv-0.25.1/work/mythtv-0.25.1' > --------------------------- ACCESS VIOLATION SUMMARY > --------------------------- > LOG FILE "/var/log/sandbox/sandbox-19462.log" > > VERSION 1.0 > FORMAT: F - Function called > FORMAT: S - Access Status > FORMAT: P - Path as passed to function > FORMAT: A - Absolute Path (not canonical) > FORMAT: R - Canonical Path > FORMAT: C - Command Line > > F: open_wr > S: deny > P: /usr/lib64/libmythavdevice.so.52.2.3 > A: /usr/lib64/libmythavdevice.so.52.2.3 > R: /usr/lib64/libmythavdevice.so.52.2.3 > C: install -m 755 libavdevice/libmythavdevice.so > /usr/lib64/libmythavdevice.so.52.2.3 > ----------------------------------------------------------------------------- > --- I can confirm that on x86.
Hello Doug, "Approach the sandbox violation / ${ED}/${ED} install issue from another angle." fixed it for me. 0.25.1 runs through.
While starting mythbackend at boot works fine. Stopping and restarting will not work. When trying to stop mythbackend manually I get: * ERROR: mythbackend stopped by something else Mythbackend will keep running. Is this a feature of my installation or can anbody confirm this?
(In reply to comment #22) > btw, when you update the ebuild, I redo the emerge from scratch. Is there a > faster way? I tried an > ebuild mythtv-0.25.1.ebuild install > but that didn't seem to pick up the updated ebuild With the environment saving, I'm honestly not 100% sure. I usually do a ebuild ${ebuild} clean install always to test.
(In reply to comment #23) > For me on ~amd64 with gcc-4.7.1 it failed to link with: > > ../../libs/libmyth/libmyth-0.25.so: undefined reference to `vtable for > MediaMonitorUnix' > collect2: error: ld returned 1 exit status > make[2]: *** [mythfrontend] Error 1 > make[2]: Leaving directory > `/var/tmp/portage/media-tv/mythtv-0.25.1/work/mythtv-0.25.1/programs/ > mythfrontend > > Can it be -j4 issue? > > Thank you. > ' Likely not. I'm wondering if you potentially had another 0.25 version installed, maybe from upstreams packaging repo or somewhere else and I had to work around the ${ED}/${ED} issue and there was an issue there. If you don't have another 0.25 (even rc or pre) installed then this is a real issue we'll have to investigate. Basically upstream build system will link against installed libraries before it'll link against libraries it just built, which sucks. Hence our patching.
(In reply to comment #26) > While starting mythbackend at boot works fine. Stopping and restarting will > not work. When trying to stop mythbackend manually I get: > > * ERROR: mythbackend stopped by something else > > Mythbackend will keep running. Is this a feature of my installation or can > anbody confirm this? Nope. This a bug in the initscript. I'll dig into it.
(In reply to comment #26) > While starting mythbackend at boot works fine. Stopping and restarting will > not work. When trying to stop mythbackend manually I get: > > * ERROR: mythbackend stopped by something else > > Mythbackend will keep running. Is this a feature of my installation or can > anbody confirm this? Can you confirm after starting it with the init script that its still running via ps ax after about 10 seconds? Can you look at your /var/log/mythtv/mythbackend.log and see what the last few lines say? I've gone ahead and committed some tweaks without a bump, you can try them with: cp /usr/portage/media-tv/mythtv/files/mythbackend.init /etc/init.d/ && chmod +x /etc/init.d/mythbackend
As an FYI to all tracking this, the likely mythplugins (mytharchive, mythnews, etc) handling will be to add media-tv/mythplugins to the tree with USE flags for each of the plugins to better mirror upstream. mythweb will still be stand alone since its really standalone upstream as well.
Here are the modifications I made to the init script to get things working. I'll also attach the patched version of the init script. - "important" is removed from MYTHBACKEND_VERBOSE since it is no longer a valid cagetory - privilege dropping responsibility is moved from start-stop-daemon to mythbackend so mythbackend can create the pid file (it was erroring out due to not being able to write to /var/run as user mythtv). Is this the correct way to solve this problem? - --logfile is no longer an accepted parameter. it is now --logpath. I haven't seen yet whether it handles cleanup of old log files automatically, though I suspect it does. # diff -u /usr/portage/media-tv/mythtv/files/mythbackend.init mythbackend --- /usr/portage/media-tv/mythtv/files/mythbackend.init 2012-06-24 13:31:19.000000000 -0700 +++ mythbackend 2012-06-26 02:11:45.943932000 -0700 @@ -17,7 +17,7 @@ start() { [ -z "${MYTHBACKEND_VERBOSE}" ] && \ - MYTHBACKEND_VERBOSE="important,general" + MYTHBACKEND_VERBOSE="general" #fixes for bug #101308 unset DISPLAY @@ -28,12 +28,13 @@ chown -R mythtv:video /home/mythtv/ ebegin "Starting MythTV Backend" - start-stop-daemon --start --quiet -u mythtv:video \ - --exec /usr/bin/mythbackend \ - --pidfile /var/run/mythbackend.pid -- \ + start-stop-daemon --start --quiet \ + --exec /usr/bin/mythbackend \ + --pidfile /var/run/mythbackend.pid -- \ --daemon --pidfile /var/run/mythbackend.pid \ --verbose ${MYTHBACKEND_VERBOSE} \ - --logfile /var/log/mythtv/mythbackend.log \ + --logpath /var/log/mythtv/ \ + --user mythtv \ ${MYTHBACKEND_OPTS} eend $? }
Created attachment 316289 [details] updated init script
so far, watching previously recorded videos works and watching live tv works. I'll test making a recording later tonight. Looking good!
recording works just fine. I notice a few items in the Setup menu have the No Image Available graphic (default Terra theme). Was this always the case? I'll attach a screenshot.
Created attachment 316293 [details] setup items lack icon
Hello Doug, this time I unmerged 0.24 and tried to build 0.25.1 again. Same result. Going to upload full build log. Thank you. Portage 2.2.0_alpha113 (default/linux/amd64/10.0/no-multilib, gcc-4.7.1, glibc-2.15-r2, 3.4.4-gentoo x86_64) ================================================================= System Settings ================================================================= System uname: Linux-3.4.4-gentoo-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q9550_@_2.83GHz-with-gentoo-2.1 Timestamp of tree: Tue, 26 Jun 2012 16:00:01 +0000 app-shells/bash: 4.2_p29 dev-java/java-config: 2.1.12 dev-lang/python: 2.7.3-r2, 3.2.3-r1 dev-util/cmake: 2.8.8-r3 dev-util/pkgconfig: 0.26 sys-apps/baselayout: 2.1-r1 sys-apps/openrc: 0.10.3 sys-apps/sandbox: 2.5 sys-devel/autoconf: 2.13, 2.69 sys-devel/automake: 1.9.6-r3, 1.10.3, 1.11.5, 1.12.1 sys-devel/binutils: 2.22-r1 sys-devel/gcc: 4.6.3, 4.7.1 sys-devel/gcc-config: 1.7.3 sys-devel/libtool: 2.4.2 sys-devel/make: 3.82-r3 sys-kernel/linux-headers: 3.4 (virtual/os-headers) sys-libs/glibc: 2.15-r2 Repositories: gentoo ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe -ggdb -march=native" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0 /var/bind /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-O2 -pipe -ggdb -march=native" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--quiet-build=n" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs compressdebug config-protect-if-modified distlocks ebuild-locks fixlafiles news parallel-fetch parse-eapi-ebuild-head preserve-libs protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch xattr" FFLAGS="-O2 -pipe -ggdb -march=native" GENTOO_MIRRORS="ftp://gentoo.mirror.web4u.cz/" LANG="cs_CZ.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="cs en" MAKEOPTS="-j4" PKGDIR="/usr/portage/packages" PORTAGE_COMPRESS="echo" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X a52 aac acl alsa amd64 berkdb bluetooth branding bzip2 cairo caps cdda cdr cli consolekit cracklib crypt cups cxx dbus dri dts dvd dvdr emboss encode exif fam ffmpeg flac fortran gdbm gif gmp gnome gpm gtk iconv idn ipv6 ithreads java jpeg jpeg2k kde lcms ldap libnotify lzma mad mmx mng modules mp3 mp4 mpeg mudflap ncurses nls nptl objc objc++ objc-gc odbc ogg openexr opengl openmp pam pcre pdf png policykit postscript pppd pulseaudio qt4 quad readline samba sasl sdl session slang speex spell sqlite sse sse2 sse4_1 ssl ssse3 svg tcl tcpd threads tiff tk truetype udev unicode usb v4l vorbis wavpack wxwidgets x264 xattr xcb xinerama xml xorg xv xvid xvmc zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" APACHE2_MPMS="worker" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2 canon hp215 sony_dscf1 sony_dscf55" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" FFTOOLS="aviocat cws2fws ffeval graph2dot ismindex pktdumper qt-faststart trasher" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" GRUB_PLATFORMS="pc" INPUT_DEVICES="evdev keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="cs en" LIRC_DEVICES="inputlirc pctv hauppauge hauppauge_dvb devinput" PHP_TARGETS="php5-4" PYTHON_TARGETS="python3_2 python2_7" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="nouveau modesetting" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON ================================================================= Package Settings ================================================================= media-tv/mythtv-0.25.1 would be build with the following: USE="alsa bluray dvb dvd ieee1394 libass lirc perl pulseaudio python vaapi vdpau xvmc (-altivec) -autostart -cec -crystalhd -debug -jack -lcd" INPUT_DEVICES="-joystick"
Created attachment 316331 [details] gcc-4.7.1 -j4 build.log gzipped
Created attachment 316347 [details] gcc-4.7.1 -j1 build.log gzipped
So far I have built (and run) successfully on three machines in the following configurations: arch gcc ver jobs upgr/inst USE flags ------ ------- ---- --------- ----------------------------------------- x86_64 4.5.3 -j1 upgrade alsa dvd libass vaapi vdpau xvmc x86 4.5.3 -j1 install alsa dvd libass x86_64 4.5.3 -j3 upgrade alsa dvd libass pulseaudio vaapi vdpau xvmc it may be a gcc-4.7.1 issue that you're running into.
(In reply to comment #32) > Here are the modifications I made to the init script to get things working. > I'll also attach the patched version of the init script. > > - "important" is removed from MYTHBACKEND_VERBOSE since it is no longer a > valid cagetory > - privilege dropping responsibility is moved from start-stop-daemon to > mythbackend so mythbackend can create the pid file (it was erroring out due > to not being able to write to /var/run as user mythtv). Is this the correct > way to solve this problem? > - --logfile is no longer an accepted parameter. it is now --logpath. I > haven't seen yet whether it handles cleanup of old log files automatically, > though I suspect it does. Updated this in the tree and updated the /etc/conf.d/mythbackend file to match as well.
With gcc-4.6.3 it not builds too. Same linker error.
There's something wrong/bad with the code that is causing the virtual table to not be emitted. I'm guessing a virtual or pure defined function isn't defined or isn't defined in the right scope (public, private, protected).
or perhaps there is no non-inline definition for functions of the class: http://www.daniweb.com/software-development/cpp/threads/114299/undefined-reference-to-vtable-for- http://gcc.gnu.org/faq.html#vtables
Ah, I see it. From your build log: /usr/bin/moc -DMMX -D_GNU_SOURCE -DMYTH_API -DUSING_OSS -DUSING_PULSE -DUSING_PULSEOUTPUT -Dlinux -DUSING_ALSA -DQT_SCRIPT_LIB -DQT_SQL_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtScript -I/usr/include/qt4 -I/usr/include/qt4/QtDBus -I/usr/include -I/usr -I/usr/include/libxml2 -I/usr/include -I../libmythsamplerate -I../libmythsoundtouch -I../libmythfreesurround -I../libmythbase -I../.. -I.. -I. -I../libmythupnp -I../libmythui -I../../external/FFmpeg -I. mediamonitor-unix.h -o moc_mediamonitor-unix.cpp mediamonitor-unix.h:0: Note: No relevant classes found. No output generated. That "No output generated" line does not appear in my build. The question is, why is appearing in yours?
Does the line #define CONFIG_QTDBUS 1 appear in your libs/libmythbase/mythconfig.h after you run configure? If not, you might want to investigate why.
I'm guessing the dependency on qt-dbus is missing
Well, the build does depend on qt-gui[dbus], but it didn't in the very first iteration. So its possible they're omitting it. Someone with the issue want to post: emerge -pv qt-gui
(In reply to comment #48) > Well, the build does depend on qt-gui[dbus], but it didn't in the very first > iteration. So its possible they're omitting it. Someone with the issue want > to post: > > emerge -pv qt-gui If the package directly uses qt-dbus, shouldn't it include it as a dependency, and not make assumptions about what qt-gui[dbus] pulls in? If we don't directly link it but instead it is needed by qt-gui then I agree that it shouldn't be listed.
(In reply to comment #49) > (In reply to comment #48) > > Well, the build does depend on qt-gui[dbus], but it didn't in the very first > > iteration. So its possible they're omitting it. Someone with the issue want > > to post: > > > > emerge -pv qt-gui > > If the package directly uses qt-dbus, shouldn't it include it as a > dependency, and not make assumptions about what qt-gui[dbus] pulls in? > > If we don't directly link it but instead it is needed by qt-gui then I agree > that it shouldn't be listed. I actually didn't realize it was its own standalone package. I thought it came in via qt-gui[dbus]. I added the depend now.
Hello Myk, yes, it is here: -cut- #define CONFIG_QTSCRIPT 1 #define CONFIG_QTDBUS 1 #define CONFIG_QUARTZ_VIDEO 0 -cut- I am going to build slotted gcc-4.5.3-r2 without lto and graphite and will see. If the build will go fine, will try lto, graphite enabled. Thank you.
Fm. No luck. ../../libs/libmyth/libmyth-0.25.so: undefined reference to `vtable for MediaMonitorUnix' gcc-config -l [1] x86_64-pc-linux-gnu-4.5.3 * [2] x86_64-pc-linux-gnu-4.6.3 [3] x86_64-pc-linux-gnu-4.7.1 gcc -v Using built-in specs. COLLECT_GCC=/usr/x86_64-pc-linux-gnu/gcc-bin/4.5.3/gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/4.5.3/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: /var/tmp/portage/sys-devel/gcc-4.5.3-r2/work/gcc-4.5.3/configure --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.5.3 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.3 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.3/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.3/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include/g++-v4 --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --disable-altivec --disable-fixed-point --without-ppl --without-cloog --disable-lto --enable-nls --without-included-gettext --with-system-zlib --enable-obsolete --disable-werror --enable-secureplt --disable-multilib --enable-libmudflap --disable-libssp --enable-libgomp --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/4.5.3/python --enable-checking=release --disable-libgcj --enable-objc-gc --enable-languages=c,c++,objc,obj-c++,fortran --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-targets=all --with-bugurl=http://bugs.gentoo.org/ --with-pkgversion='Gentoo 4.5.3-r2 p1.5, pie-0.4.7' Thread model: posix gcc version 4.5.3 (Gentoo 4.5.3-r2 p1.5, pie-0.4.7) (Why is it using lto-wrapper when --disable-lto is used?) Can pure x86_64 be the cause? Have I to rebuild qt-dbus with gcc-4.5.3? Thank you.
Created attachment 316729 [details, diff] patch to resolve missing \ in mythbackend.init resolves missing \ in the startstop daemon line
0.25.1 seems to be working well for me - can I provide any build/version info for people who are having issues?
I am happy to help with testing the ebuilds - I have been using Gentoo for Mythtv for about 8 years, so its time to give a little back... I run a VDPAU frontend/backend and use libCEC/HDMI-CEC, but can't test CrystalHD. I generally use OTA DVB-T (1080i 50hz/PAL) using a HDHomerun and some DVB-S via a Nova-S+. Hope this helps.
Updated from 0.24 to 0.25.1 on amd64/no-multilib with no issues at all. [I] media-tv/mythtv Available versions: (~)0.24.1_p20110524 {M}(~)0.25.1 {alsa altivec autostart bluray cec crystalhd debug dvb dvd ieee1394 input_devices_joystick jack lcd libass lirc perl profile pulseaudio python vaapi vdpau video_cards_nvidia vmc} Installed versions: 0.25.1(19:50:24 08/07/12)(alsa dvb dvd ieee1394 python xvmc -altivec -autostart -bluray -cec -crystalhd -debug -input_devices_joystick -jack -lcd -libass -lirc -perl -pulseaudio -vaapi -vdpau)
I've finally updated yesterday, and everything seems to be fine so far except for one small issue: The autostart .xinitrc script does not work because the "-l" option is missing and the frontend does not start. $ /usr/bin/mythfrontend -l /var/log/mythtv/mythfrontend.log -v important,general **************************************************** WARNING: -l has been removed as of MythTV 0.25 This option has been removed as part of rewrite of the logging interface. Please update your init scripts to use --syslog to interface with your system's existing system logging daemon, or --logpath to specify a dirctory for MythTV to write its logs to. **************************************************** It's easily fixed by removing the "-l" part.
(In reply to comment #56) > Updated from 0.24 to 0.25.1 on amd64/no-multilib with no issues at all. > > > [I] media-tv/mythtv > Available versions: (~)0.24.1_p20110524 {M}(~)0.25.1 {alsa altivec > autostart bluray cec crystalhd debug dvb dvd ieee1394 input_devices_joystick > jack lcd libass lirc perl profile pulseaudio python vaapi vdpau > video_cards_nvidia vmc} > Installed versions: 0.25.1(19:50:24 08/07/12)(alsa dvb dvd ieee1394 > python xvmc -altivec -autostart -bluray -cec -crystalhd -debug > -input_devices_joystick -jack -lcd -libass -lirc -perl -pulseaudio -vaapi > -vdpau) Thanks for the report. I think I'll unmask 0.25.1 since it seems to be ok for a few people.
(In reply to comment #57) > I've finally updated yesterday, and everything seems to be fine so far > except for one small issue: The autostart .xinitrc script does not work > because the "-l" option is missing and the frontend does not start. > > $ /usr/bin/mythfrontend -l /var/log/mythtv/mythfrontend.log -v > important,general > **************************************************** > WARNING: -l has been removed as of MythTV 0.25 > This option has been removed as part of rewrite of the logging > interface. Please update your init scripts to use --syslog to interface with > your system's existing system logging daemon, or --logpath to specify a > dirctory for MythTV to write its logs to. > **************************************************** > > It's easily fixed by removing the "-l" part. I fixed this in 0.25.1 and the newly added 0.25.1_p20120608. Providing --logpath instead. We can figure out if it would be better to use syslog or maybe making this all configurable.
There's now a media-plugins/mythplugins-0.25.1 in the tree which could contain all the plugins except for mythweb. Give it a whirl and let me know.
(In reply to comment #59) > the newly added 0.25.1_p20120608 regarding the new ebuild, it seems like there is a slight path discrepancy. The ebuild is looking for work/mythtv-0.25.1_p20120708 but the path that exists is work/mythtv-0.25.1: >>> Emerging (1 of 1) media-tv/mythtv-0.25.1_p20120708 ... Saving to: `/var/portage/distfiles/mythtv-0.25.1-61e7a0e946.tar.xz' ... >>> Unpacking mythtv-0.25.1.tar.bz2 to /tmp/portage/media-tv/mythtv-0.25.1_p20120708/work >>> Unpacking mythtv-0.25.1-61e7a0e946.tar.xz to /tmp/portage/media-tv/mythtv-0.25.1_p20120708/work >>> Source unpacked in /tmp/portage/media-tv/mythtv-0.25.1_p20120708/work * ERROR: media-tv/mythtv-0.25.1_p20120708 failed (prepare phase): * The source directory '/tmp/portage/media-tv/mythtv-0.25.1_p20120708/work/mythtv-0.25.1_p20120708' doesn't exist # ll /tmp/portage/media-tv/mythtv-0.25.1_p20120708/work drwxr-xr-x 15 portage portage 4096 Jul 3 00:19 mythtv-0.25.1/
(In reply to comment #61) > (In reply to comment #59) > > the newly added 0.25.1_p20120608 > > regarding the new ebuild, it seems like there is a slight path discrepancy. > The ebuild is looking for work/mythtv-0.25.1_p20120708 but the path that > exists is work/mythtv-0.25.1: > I believe this is fixed now.
For mythplugins I used the depends from upstream's packaging repo which are apparently based on my own depends from 0.21 with some random fixes over the years. Based on the release notes they are likely wrong. I'll go over them in better detail soon.
(In reply to comment #62) > (In reply to comment #61) > > (In reply to comment #59) > > > the newly added 0.25.1_p20120608 > > > > regarding the new ebuild, it seems like there is a slight path discrepancy. > > I believe this is fixed now. It looks like it is still a bit off; it now looks for "work/mythtv-mythtv-0.25.1": The source directory '/tmp/portage/media-tv/mythtv-0.25.1_p20120708/work/mythtv-mythtv-0.25.1' doesn't exist
Ah, I see it. This fixes it: < S="${WORKDIR}/${PN}-${MY_P}" --- > S="${WORKDIR}/${MY_P}"
(In reply to comment #59) > (In reply to comment #57) > I fixed this in 0.25.1 and the newly added 0.25.1_p20120608. Providing > --logpath instead. We can figure out if it would be better to use syslog or > maybe making this all configurable. You fixed not the file one I meant :) I was referring to this one (for USE="autostart"): http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-tv/mythtv/files/xinitrc
(In reply to comment #66) > (In reply to comment #59) > > (In reply to comment #57) > > I fixed this in 0.25.1 and the newly added 0.25.1_p20120608. Providing > > --logpath instead. We can figure out if it would be better to use syslog or > > maybe making this all configurable. > > You fixed not the file one I meant :) > > I was referring to this one (for USE="autostart"): > http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-tv/mythtv/ > files/xinitrc I switched things over to using a Mythbuntu like wrapper for mythfrontend that you can configure via /etc/conf.d/mythfrontend while resolving the issue you ran into. This is only in 0.25.1_p20120608.
It seems the logrotate script needs to get updated for >=0.25 to handle the new files. There's an example we can use at: http://www.mythtv.org/wiki/Logrotate_-_all_applications Also, I see the USE flag xmltv is described as "for users not using Schedules Direct". I thought Schedules Direct required xmltv -- is this not the case?
Nope. ScheduledDirect does something else, and support is built into MythTV.
I see. Thx Alec. On another note, there's a build error in latest ebuild (install phase): chmod: cannot access `/tmp/portage/media-tv/mythtv-0.25.1_p20120708/image//tmp/portage/media-tv/mythtv-0.25.1_p20120708/image/usr/share/mythtv/contrib/imports/mirobridge/mirobridge.py': No such file or directory I tracked it down to the fperms line. Here's a minimal diff that fixes the problem: --- mythtv-0.25.1_p20120708.ebuild.orig 2012-07-10 16:05:40.900228751 -0700 +++ mythtv-0.25.1_p20120708.ebuild 2012-07-10 17:57:00.300808177 -0700 @@ -272,13 +272,13 @@ # Make Python files executable and ensure they are executed by Python 2 for file in `find "${ED}" -type f -name \*.py`; do - fperms 0755 "${file}" + fperms 0755 "${file/#${ED}//}" python_convert_shebangs 2 "${file}" done # Make shell & perl scripts executable for file in `find "${ED}" -type f -name \*.sh -o -type f -name \*.pl`; do - fperms 0755 "${file}" + fperms 0755 "${file/#${ED}//}" done } but I worry that the 'for' loop is frail; if any (future) .py, .sh, or .pl file has a space in its name, the loop will fail. Perhaps this version would be more robust: --- mythtv-0.25.1_p20120708.ebuild.orig 2012-07-10 16:05:40.900228751 -0700 +++ mythtv-0.25.1_p20120708.ebuild.new 2012-07-10 17:59:29.654358552 -0700 @@ -271,14 +271,14 @@ fi # Make Python files executable and ensure they are executed by Python 2 - for file in `find "${ED}" -type f -name \*.py`; do - fperms 0755 "${file}" + find "${ED}" -type f -name '*.py' | while read file; do + fperms 0755 "${file/#${ED}//}" python_convert_shebangs 2 "${file}" done # Make shell & perl scripts executable - for file in `find "${ED}" -type f -name \*.sh -o -type f -name \*.pl`; do - fperms 0755 "${file}" + find "${ED}" -type f -name '*.sh' -o -type f -name '*.pl' | while read file; do + fperms 0755 "${file/#${ED}//}" done }
one additional diff to get rid of most of the "python_convert_shebangs(): Python scripts not found" warnings (works with either diff above): < python_convert_shebangs 2 "${file}" --- > if [[ ! "${file}" =~ /__init__[.]py$ ]]; then > python_convert_shebangs 2 "${file}" > fi note that the lack of quotes around the regex is not a typo. There are 6 remaining .py files that do not start with shebangs, but that's an upstream issue, if it's an issue at all. The warnings are purely cosmetic in any case, though, and this patch doesn't need to be applied if there is any chance it could do more harm than good.
(In reply to comment #71) > one additional diff to get rid of most of the "python_convert_shebangs(): > Python scripts not found" warnings (works with either diff above): > > < python_convert_shebangs 2 "${file}" > --- > > if [[ ! "${file}" =~ /__init__[.]py$ ]]; then > > python_convert_shebangs 2 "${file}" > > fi > > > note that the lack of quotes around the regex is not a typo. There are 6 > remaining .py files that do not start with shebangs, but that's an upstream > issue, if it's an issue at all. The warnings are purely cosmetic in any > case, though, and this patch doesn't need to be applied if there is any > chance it could do more harm than good. Thanks for looking into this. I've committed updates to the ebuild based on this. I am however looking at the repo and it appears that upstream finally has started to mark files as executable so its possible we won't need to do this in the future. I've updated the logrotate script entirely due to the way that upstream does their logging now (they've got to be different than everyone else in the world I guess) I'm afraid logrotate just plain won't work.
I'm actually going to close out this bug and let's open new bugs for new issues. I've gone ahead and unmasked the latest ebuilds as well. All that's missing now is a new mythweb.
filed Bug 426238 (mythweb) and Bug 426242 (mythtv logrotate handling). Thanks for handling all this, Doug!
Reclosing since we are tracking items in new tickets.