pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: xine-ui versus XF86VidModeSwitchToMode



On Sun 31 Oct 2010 at 22:42:50 +0100, Rhialto wrote:
> videowin.o: In function `video_window_adapt_size':
> videowin.c:(.text+0x10b9): undefined reference to `XF86VidModeSwitchToMode'
> videowin.c:(.text+0x11d7): undefined reference to `XF86VidModeSetViewPort'
> videowin.c:(.text+0x1b22): undefined reference to `XF86VidModeSwitchToMode'
> videowin.c:(.text+0x1b4e): undefined reference to `XF86VidModeSetViewPort'
> videowin.o: In function `video_window_exit':
> videowin.c:(.text+0x2bdd): undefined reference to `XF86VidModeSwitchToMode'
> videowin.c:(.text+0x2c09): undefined reference to `XF86VidModeSetViewPort'
> videowin.o: In function `video_window_init':
> videowin.c:(.text+0x3d8b): undefined reference to `XF86VidModeQueryExtension'
> videowin.c:(.text+0x3dae): undefined reference to `XF86VidModeQueryVersion'
> videowin.c:(.text+0x3e02): undefined reference to `XF86VidModeGetAllModeLines'
> videowin.c:(.text+0x3e7b): undefined reference to 
> `XF86VidModeValidateModeLine'

These functions appear to be part of libXxf86vm of the *base system*.
Apparently configure detects its presence, see config.h:

/* Define this if you have libXxf86vm installed */
#define HAVE_XF86VIDMODE /**/

but the link-time options don't get detected/remembered, see config.log:

XXF86VM_CFLAGS=''
XXF86VM_LIBS=''

Apparently the call
"/pkg_comp/obj/pkgsrc/multimedia/xine-ui/default/.tools/bin/pkg-config
--libs xxf86vm" returns the error

Package xf86vidmodeproto was not found in the pkg-config search path.
Perhaps you should add the directory containing `xf86vidmodeproto.pc'
to the PKG_CONFIG_PATH environment variable
Package 'xf86vidmodeproto', required by 'Xxf86vm', not found

but the package xf86vidmodeproto *is* installed, and
/usr/pkg/lib/pkgconfig/xf86vidmodeproto.pc is present.

"xxf86vm.pc" is found in /usr/X11R7/lib/pkgconfig/ and there is also the
desired xf86vidmodeproto.pc there.

x11/libXxf86vm/buildlink3.mk includes
"../../x11/xf86vidmodeproto/buildlink3.mk" only when ${X11_TYPE} ==
"modular". For my case it includes "../../mk/x11.buildlink3.mk".

I am guessing that this prevents the xf86vidmodeproto.pc from being
buildlinked.

The normally installed pkg-config somehow *does* know where to find
everyhing:

pkg_comp:default.conf# pkg-config --libs xxf86vm
-Wl,-R/usr/X11R7/lib -L/usr/X11R7/lib -lXxf86vm

So, as a horrible workaround, I added these lines to xine-ui/Makefile:

# Workaround for not finding the right .pc files in the sandbox:
#XXF86VM_LIBS!=         pkg-config --libs xxf86vm
XXF86VM_LIBS:=          -Wl,-R/usr/X11R7/lib -L/usr/X11R7/lib -lXxf86vm
CONFIGURE_ENV+=         "XXF86VM_LIBS=${XXF86VM_LIBS}"

#XXF86VM_CFLAGS!=       pkg-config --cflags xxf86vm
XXF86VM_CFLAGS:=        -D_REENTRANT -I/usr/X11R7/include
CONFIGURE_ENV+=         "XXF86VM_CFLAGS=${XXF86VM_CFLAGS}"

Apparently the assignments with != get delayed, and also run inside the
sandbox, and therefore fail in the same way. So I had to resort to
hard-coding the values as I got them manually.

This is certainly NOT a fix, I hope that somebody who knows what they're
doing looks at it properly.

-Olaf.
-- 
___ Olaf 'Rhialto' Seibert  -- There's no point being grown-up if you 
\X/ rhialto/at/xs4all.nl    -- can't be childish sometimes. -The 4th Doctor
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*


Home | Main Index | Thread Index | Old Index