Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 312599 - media-video/xine-ui-0.99.6 does not compile with USE=lirc
Summary: media-video/xine-ui-0.99.6 does not compile with USE=lirc
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Gentoo Media-video project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-04-01 11:53 UTC by boris64
Modified: 2010-04-03 12:50 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
xine-ui-0.99.6 patch for working configure on lirc (xine-ui-0.99.6-lirc-configure.patch,992 bytes, patch)
2010-04-01 14:17 UTC, Matthias Fulz
Details | Diff
xine-ui-0.99.6-r1 ebuild which includes the patch for lirc (xine-ui-0.99.6-r1.ebuild,2.29 KB, text/plain)
2010-04-01 14:18 UTC, Matthias Fulz
Details
xine-ui-0.99.6 patch for working configure on lirc (xine-ui-0.99.6-lirc-configure.patch,795 bytes, patch)
2010-04-01 14:28 UTC, Matthias Fulz
Details | Diff
Set LIRC_CFLAGS and LIRC_LIBS for configure (gentoo312599.patch,454 bytes, patch)
2010-04-02 12:46 UTC, Martin von Gagern
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description boris64 2010-04-01 11:53:09 UTC
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:
Comment 1 Matthias Fulz 2010-04-01 14:17:53 UTC
Created attachment 226121 [details, diff]
xine-ui-0.99.6 patch for working configure on lirc

Patch for configure
Comment 2 Matthias Fulz 2010-04-01 14:18:46 UTC
Created attachment 226123 [details]
xine-ui-0.99.6-r1 ebuild which includes the patch for lirc

New Ebuild
Comment 3 Matthias Fulz 2010-04-01 14:28:39 UTC
Created attachment 226125 [details, diff]
xine-ui-0.99.6 patch for working configure on lirc

New patch
Comment 4 Juergen Rose 2010-04-01 17:21:40 UTC
The patch worked for me.
Comment 5 boris64 2010-04-01 18:22:24 UTC
Works for me, too. Thank you.

I'll set this bug report to "fixed"
when the patch makes it into portage .
Comment 6 Matthias Fulz 2010-04-01 18:24:05 UTC
(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.
Comment 7 Andreas K. Hüttel archtester gentoo-dev 2010-04-01 21:24:12 UTC
> 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)
Comment 8 Matthias Fulz 2010-04-02 11:10:49 UTC
(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
Comment 9 Martin von Gagern 2010-04-02 12:43:15 UTC
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 ===
Comment 10 Martin von Gagern 2010-04-02 12:46:20 UTC
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.
Comment 11 Martin von Gagern 2010-04-02 13:06:13 UTC
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.
Comment 12 Matthias Fulz 2010-04-02 13:07:27 UTC
(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.
Comment 13 Martin von Gagern 2010-04-02 13:24:13 UTC
(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.
Comment 14 Samuli Suominen (RETIRED) gentoo-dev 2010-04-02 14:18:10 UTC
should be fixed now, thanks all
Comment 15 Matthias Fulz 2010-04-02 14:31:30 UTC
(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 :)
Comment 16 Matthias Fulz 2010-04-02 16:14:01 UTC
(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'

Comment 17 Samuli Suominen (RETIRED) gentoo-dev 2010-04-02 16:53:36 UTC
Try again in hour or so.
Comment 18 Harald van Dijk (RETIRED) gentoo-dev 2010-04-03 09:57:43 UTC
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
Comment 19 Martin von Gagern 2010-04-03 10:17:24 UTC
(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.
Comment 20 Samuli Suominen (RETIRED) gentoo-dev 2010-04-03 11:25:03 UTC
Is your tree up to date?   Both USE="-lirc" and USE="lirc" works fine here.
Comment 21 Harald van Dijk (RETIRED) gentoo-dev 2010-04-03 11:33:51 UTC
(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 :)
Comment 22 Matthias Fulz 2010-04-03 12:50:48 UTC
(In reply to comment #17)
> Try again in hour or so.
> 

Did it right now and all is working fine again - THX