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:


Apparently the call
--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/ includes
"../../x11/xf86vidmodeproto/" only when ${X11_TYPE} ==
"modular". For my case it includes "../../mk/".

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

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

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

#XXF86VM_CFLAGS!=       pkg-config --cflags xxf86vm
XXF86VM_CFLAGS:=        -D_REENTRANT -I/usr/X11R7/include

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 'Rhialto' Seibert  -- There's no point being grown-up if you 
\X/ rhialto/at/    -- can't be childish sometimes. -The 4th Doctor

Home | Main Index | Thread Index | Old Index