xine-ui-0.99.6 won't build if you enabled the USE-flag "lirc" because the "liblircclient0"(?) can't be found by ./configure. This works fine in media-video/xine-ui-0.99.5-r*. [emerge output] boris64 ~ # emerge -1 media-video/xine-ui These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild U ] media-video/xine-ui-0.99.6 [0.99.5-r2] USE="X lirc nls readline xinerama -aalib -curl -debug -libcaca -vdr" 0 kB Total: 1 package (1 upgrade), Size of downloads: 0 kB >>> Verifying ebuild manifests >>> Emerging (1 of 1) media-video/xine-ui-0.99.6 * xine-ui-0.99.6.tar.xz RMD160 SHA1 SHA256 size ;-) ... [ ok ] * checking ebuild checksums ;-) ... [ ok ] * checking auxfile checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] * CPV: media-video/xine-ui-0.99.6 * REPO: gentoo * USE: X amd64 elibc_glibc kernel_linux lirc multilib nls readline userland_GNU xinerama >>> Unpacking source... >>> Unpacking xine-ui-0.99.6.tar.xz to /tmp/portage/portage/media-video/xine-ui-0.99.6/work >>> Source unpacked in /tmp/portage/portage/media-video/xine-ui-0.99.6/work >>> Preparing source in /tmp/portage/portage/media-video/xine-ui-0.99.6/work/xine-ui-0.99.6 ... >>> Source prepared. >>> Configuring source in /tmp/portage/portage/media-video/xine-ui-0.99.6/work/xine-ui-0.99.6 ... * econf: updating xine-ui-0.99.6/config.sub with /usr/share/gnuconfig/config.sub * econf: updating xine-ui-0.99.6/config.guess with /usr/share/gnuconfig/config.guess ./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=/usr/lib64 --disable-dependency-tracking --enable-nls --enable-xinerama --enable-lirc --disable-vdr-keys --disable-nvtvsimple --disable-debug --with-x --with-readline --without-curl --without-aalib --without-caca checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for style of include used by make... GNU checking for x86_64-pc-linux-gnu-gcc... x86_64-pc-linux-gnu-gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether x86_64-pc-linux-gnu-gcc accepts -g... yes checking for x86_64-pc-linux-gnu-gcc option to accept ISO C89... none needed checking dependency style of x86_64-pc-linux-gnu-gcc... none checking for strerror in -lcposix... no checking for x86_64-pc-linux-gnu-gcc... (cached) x86_64-pc-linux-gnu-gcc checking whether we are using the GNU C compiler... (cached) yes checking whether x86_64-pc-linux-gnu-gcc accepts -g... (cached) yes checking for x86_64-pc-linux-gnu-gcc option to accept ISO C89... (cached) none needed checking dependency style of x86_64-pc-linux-gnu-gcc... (cached) none checking whether x86_64-pc-linux-gnu-gcc and cc understand -c and -o together... yes checking how to run the C preprocessor... x86_64-pc-linux-gnu-gcc -E checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking minix/config.h usability... no checking minix/config.h presence... no checking for minix/config.h... no checking whether it is safe to define __EXTENSIONS__... yes checking for ANSI C header files... (cached) yes checking whether make sets $(MAKE)... (cached) yes checking for x86_64-pc-linux-gnu-ranlib... x86_64-pc-linux-gnu-ranlib checking whether ln -s works... yes checking for x86_64-pc-linux-gnu-pkg-config... no checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking whether NLS is requested... yes checking for msgfmt... /usr/bin/msgfmt checking for gmsgfmt... /usr/bin/gmsgfmt checking for xgettext... /usr/bin/xgettext checking for msgmerge... /usr/bin/msgmerge checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking for ld used by GCC... /usr/x86_64-pc-linux-gnu/bin/ld checking if the linker (/usr/x86_64-pc-linux-gnu/bin/ld) is GNU ld... yes checking for shared library run path origin... done checking for CFPreferencesCopyAppValue... no checking for CFLocaleCopyCurrent... no checking whether NLS is requested... yes checking for GNU gettext in libc... yes checking whether to use NLS... yes checking where the gettext function comes from... libc checking for plural forms in GNU msgfmt... yes checking for iconv... yes checking for iconv declaration... install-shextern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); checking for an ANSI C-conforming const... yes checking for inline... inline checking for off_t... yes checking for size_t... yes checking for XINE... yes checking for pthread_create in -lpthread... yes checking for X... libraries , headers checking for X11... yes checking for XV... yes checking for XShmAttach in -lXext... yes checking sys/ipc.h usability... yes checking sys/ipc.h presence... yes checking for sys/ipc.h... yes checking sys/shm.h usability... yes checking sys/shm.h presence... yes checking for sys/shm.h... yes checking whether shmctl IPC_RMID allowes subsequent attaches... yes checking for X11/extensions/XShm.h... yes checking for XINERAMA... yes checking for XXF86VM... yes checking for XTEST... yes checking for readline.h... /usr/include/readline/readline.h configure: checking whether libreadline is linked against libncurses checking for cbreak in -lreadline... no checking for cbreak in -lncurses... yes configure: libreadline is not linked against libncurses; adding -lncurses checking for socket in -lsocket... no checking for gethostbyname in -lnsl... yes checking whether to have Xft support... yes checking Xft UTF-8 support... yes checking for LIBPNG... yes checking for LIRC... configure: error: Package requirements (liblircclient0) were not met: No package 'liblircclient0' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables LIRC_CFLAGS and LIRC_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. !!! Please attach the following file when seeking support: !!! /tmp/portage/portage/media-video/xine-ui-0.99.6/work/xine-ui-0.99.6/config.log * ERROR: media-video/xine-ui-0.99.6 failed: * econf failed * * Call stack: * ebuild.sh, line 48: Called src_configure * environment, line 428: Called econf '--disable-dependency-tracking' '--enable-nls' '--enable-xinerama' '--enable-lirc' '--disable-vdr-keys' '--disable-nvtvsimple' '--disable-debug' '--with-x' '--with-readline' '--without-curl' '--without-aalib' '--without-caca' * ebuild.sh, line 538: Called die * The specific snippet of code: * die "econf failed" * * If you need support, post the output of 'emerge --info =media-video/xine-ui-0.99.6', * the complete build log and the output of 'emerge -pqv =media-video/xine-ui-0.99.6'. * The complete build log is located at '/tmp/portage/portage/media-video/xine-ui-0.99.6/temp/build.log'. * The ebuild environment file is located at '/tmp/portage/portage/media-video/xine-ui-0.99.6/temp/environment'. * S: '/tmp/portage/portage/media-video/xine-ui-0.99.6/work/xine-ui-0.99.6' >>> Failed to emerge media-video/xine-ui-0.99.6, Log file: >>> '/tmp/portage/portage/media-video/xine-ui-0.99.6/temp/build.log' [/emerge output] Reproducible: Always Steps to Reproduce:
Created attachment 226121 [details, diff] xine-ui-0.99.6 patch for working configure on lirc Patch for configure
Created attachment 226123 [details] xine-ui-0.99.6-r1 ebuild which includes the patch for lirc New Ebuild
Created attachment 226125 [details, diff] xine-ui-0.99.6 patch for working configure on lirc New patch
The patch worked for me.
Works for me, too. Thank you. I'll set this bug report to "fixed" when the patch makes it into portage .
(In reply to comment #5) > Works for me, too. Thank you. > > I'll set this bug report to "fixed" > when the patch makes it into portage . > Yes but perhaps someone should contact upstream? The patch is for m4-macro file which looks via pkg-config to find liblircclient, which doesn't exists in lirc.
> The patch is for m4-macro file which looks via pkg-config to find > liblircclient, which doesn't exists in lirc. > huh? pinacolada etc # equery belongs /usr/lib64/liblirc_client.so [ Searching for file(s) /usr/lib64/liblirc_client.so in *... ] app-misc/lirc-0.8.5 (/usr/lib64/liblirc_client.so -> liblirc_client.so.0.2.1)
(In reply to comment #7) > > The patch is for m4-macro file which looks via pkg-config to find > > liblircclient, which doesn't exists in lirc. > > > > huh? > > pinacolada etc # equery belongs /usr/lib64/liblirc_client.so > [ Searching for file(s) /usr/lib64/liblirc_client.so in *... ] > app-misc/lirc-0.8.5 (/usr/lib64/liblirc_client.so -> liblirc_client.so.0.2.1) > I mean there is no pkg-config file, thats why configure failes. There is still the check for headers and lib but pkg-config failes an configure aborts
Seems Debian does add a liblircclient0.pc to their package, but that's distro-specific, and not provided by lirc upstream, not even when built from cvs. For those interested, in debian stable lirc_0.8.3-3 the file looks like this: === snip === prefix=/usr exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include Name: liblircclient0 Description: liblircclient0 Version: 0.8.3 Libs: -L${libdir} -llirc_client Cflags: -I${includedir} === snap ===
Created attachment 226269 [details, diff] Set LIRC_CFLAGS and LIRC_LIBS for configure (In reply to comment #0) > Alternatively, you may set the environment variables LIRC_CFLAGS > and LIRC_LIBS to avoid the need to call pkg-config. That's what I'd do. Avoids the need for a patch in ${FILESDIR}, as a simple ebuild modification can deal with this. Attached patch does so. Works for me. I'm giving these variables unconditionally, as I assume their values shouldn't affect a build configured with --disable-lirc, but of course it would be prudent to check this patch on a system with no lirc installed.
http://hg.debian.org/hg/xine-lib/xine-ui/log/tip/m4/_xine.m4 looks like upstream is aware of the issue, and has made some effort trying to address it. If I found a way to grab the relevant changesets as a single patch from hgweb, I'd do so, but http://mercurial.selenic.com/bts/issue354 seems like hgweb isn't up to this. Maybe someone wants to check out the whole thing and generate a patch locally.
(In reply to comment #10) > Created an attachment (id=226269) [details] > Set LIRC_CFLAGS and LIRC_LIBS for configure > > (In reply to comment #0) > > Alternatively, you may set the environment variables LIRC_CFLAGS > > and LIRC_LIBS to avoid the need to call pkg-config. > > That's what I'd do. Avoids the need for a patch in ${FILESDIR}, as a simple > ebuild modification can deal with this. Attached patch does so. Works for me. > > I'm giving these variables unconditionally, as I assume their values shouldn't > affect a build configured with --disable-lirc, but of course it would be > prudent to check this patch on a system with no lirc installed. > But what if lirc isn't installed and lirc should be enabled in xine-ui? I think that configure will be run "correctly" but it can't be build then. Perhaps we should test this.
(In reply to comment #12) > But what if lirc isn't installed and lirc should be enabled in xine-ui? > I think that configure will be run "correctly" but it can't be build then. I'm not sure if I understand you correctly. Are you referring to the case where xine-ui is configured with --enable-lirc but lirc isn't installed? The ebuild has DEPEND="lirc? ( app-misc/lirc )" (among others), so portage will ensure that is lirc is enabled, it is installed as well. Unless people start building the package using ebuild(1), they will get sensible behaviour. And those that do build manually without handling dependencies first should know how to deal with resulting compiler errors as well.
should be fixed now, thanks all
(In reply to comment #13) > (In reply to comment #12) > > But what if lirc isn't installed and lirc should be enabled in xine-ui? > > I think that configure will be run "correctly" but it can't be build then. > > I'm not sure if I understand you correctly. Are you referring to the case where > xine-ui is configured with --enable-lirc but lirc isn't installed? > Yes. > The ebuild has DEPEND="lirc? ( app-misc/lirc )" (among others), so portage will > ensure that is lirc is enabled, it is installed as well. Unless people start > building the package using ebuild(1), they will get sensible behaviour. And > those that do build manually without handling dependencies first should know > how to deal with resulting compiler errors as well. > Oh yeah you're absolutely right, didn't thought about dependency check of portage. My fault :)
(In reply to comment #14) > should be fixed now, thanks all > Not working for me: checking Xft UTF-8 support... yes checking for LIBPNG... yes checking for LIRC... configure: error: Package requirements (liblircclient0) were not met: No package 'liblircclient0' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables LIRC_CFLAGS and LIRC_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. !!! Please attach the following file when seeking support: !!! /var/tmp/portage/media-video/xine-ui-0.99.6/work/xine-ui-0.99.6/config.log * ERROR: media-video/xine-ui-0.99.6 failed: * econf failed * * Call stack: * ebuild.sh, line 54: Called src_configure * environment, line 415: Called econf '--disable-dependency-tracking' '--enable-nls' '--enable-xinerama' '--enabl e-lirc' 'LIRC_CFLAGS=' 'LIRC_LIBS=-llirc_client' '--enable-vdr-keys' '--disable-nvtvsimple' '--disable-debug' '--with -x' '--with-readline' '--without-curl' '--with-aalib' '--with-caca' * ebuild.sh, line 544: Called die * The specific snippet of code: * die "econf failed" * * If you need support, post the output of 'emerge --info =media-video/xine-ui-0.99.6', * the complete build log and the output of 'emerge -pqv =media-video/xine-ui-0.99.6'. * The complete build log is located at '/var/tmp/portage/media-video/xine-ui-0.99.6/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/media-video/xine-ui-0.99.6/temp/environment'. * S: '/var/tmp/portage/media-video/xine-ui-0.99.6/work/xine-ui-0.99.6'
Try again in hour or so.
This fix breaks USE=-lirc. x86_64-pc-linux-gnu-gcc -I/usr/include/readline -I../../src/xitk/xine-toolkit -Wall -D_FILE_OFFSET_BITS=64 -Wpointer-arith -Wnested-externs -Wcast-align -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -with-user-cflags -march=native -ggdb -O2 -DNDEBUG -Wformat=2 -Wno-format-zero-length -Wmissing-format-attribute -Wstrict-aliasing=2 -with-user-ldflags -Xlinker -O1 -Xlinker --as-needed -o xine actions.o control.o download.o errors.o event.o event_sender.o file_browser.o frequencies.o help.o kbindings.o kbindings_common.o lang.o main.o mediamark.o menus.o mrl_browser.o network.o osd.o panel.o playlist.o post.o session_common.o session.o setup.o skins.o snapshot.o splash.o stdctl.o stream_infos.o tvout.o tvset.o videowin.o viewlog.o skins_download.o -lxine ../../src/xitk/xine-toolkit/libxitk.a ../../src/xitk/Imlib-light/libImlib-light.a ../../src/xitk/oxine/liboxine.a ../../src/common/libcommon.a ../../src/common/libcommonx.a -lXxf86vm -llirc_client -lXft -lXrender -lfontconfig -lfreetype -lX11 -lXext -lXtst -lX11 -lXext -lm -lXv -lpng12 -lpthread /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0-alpha20100325/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -llirc_client collect2: ld returned 1 exit status make[4]: *** [xine] Error 1 make[4]: Leaving directory `/var/tmp/portage/media-video/xine-ui-0.99.6/work/xine-ui-0.99.6/src/xitk' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/var/tmp/portage/media-video/xine-ui-0.99.6/work/xine-ui-0.99.6/src/xitk' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/media-video/xine-ui-0.99.6/work/xine-ui-0.99.6/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/media-video/xine-ui-0.99.6/work/xine-ui-0.99.6' make: *** [all] Error 2 * ERROR: media-video/xine-ui-0.99.6 failed: * emake failed
(In reply to comment #18) > This fix breaks USE=-lirc. Which fix? My attachment or the fix Samuli committed to the portage tree? Because the latter does set LIRC_CFLAGS only for USE=lirc, so it shouldn't have any effect at all for USE=-lirc. My patch is probably broken in that respect.
Is your tree up to date? Both USE="-lirc" and USE="lirc" works fine here.
(In reply to comment #19) > Which fix? My attachment or the fix Samuli committed to the portage tree? Your attachment, which was the first fix committed to the tree. > Because the latter does set LIRC_CFLAGS only for USE=lirc, so it shouldn't have > any effect at all for USE=-lirc. My patch is probably broken in that respect. (In reply to comment #20) > Is your tree up to date? Both USE="-lirc" and USE="lirc" works fine here. Oh, that's fine then. My tree wasn't up to date, but the CVS log only showed "whitespace" and "Fix comment" commits so I didn't check them :)
(In reply to comment #17) > Try again in hour or so. > Did it right now and all is working fine again - THX