View Single Post
Old 09-06-06, 09:30 AM   #1
PrakashP
gentoo ~x86_64 user
 
PrakashP's Avatar
 
Join Date: Jul 2004
Location: Germania
Posts: 213
Default 8774: xine and xvmc won't work with --as-needed linker flag

When the --as-needed linker flag is given to xine, xine won't detect nvidia's xvmc, due to linker errors:

Accoriding to gentoo dev, Nvidia needs to fix it.
http://bugs.gentoo.org/show_bug.cgi?id=146543

This is from config.log:
Code:
configure:33674: x86_64-pc-linux-gnu-gcc -o conftest -DENABLE_IPV6 -march=k8 -msse3 -O2 -pipe -frename-registers -ffunction-sections   -Wl,-O1 -Wl,--as-needed -Wl,--hash-style=both conftest.c -lXvMCNVIDIA -L//usr/lib64 -lXvMC  -L/usr/lib64  -lSM -lICE -lXv -lXext   >&5
//usr/lib64/libXvMCNVIDIA.so: undefined reference to `XvMCQueryExtension'
//usr/lib64/libXvMCNVIDIA.so: undefined reference to `_xvmc_destroy_subpicture'
//usr/lib64/libXvMCNVIDIA.so: undefined reference to `_xvmc_destroy_surface'
//usr/lib64/libXvMCNVIDIA.so: undefined reference to `_xvmc_create_surface'
//usr/lib64/libXvMCNVIDIA.so: undefined reference to `_xvmc_create_subpicture'
//usr/lib64/libXvMCNVIDIA.so: undefined reference to `_xvmc_create_context'
//usr/lib64/libXvMCNVIDIA.so: undefined reference to `_xvmc_destroy_context'
//usr/lib64/libXvMCNVIDIA.so: undefined reference to `XvGetPortAttribute'
collect2: ld returned 1 exit status
configure:33680: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define XINE_MAJOR 1
| #define XINE_MINOR 1
| #define XINE_SUB 2
| #define XINE_TEXTDOMAIN "libxine1"
| #define PACKAGE "xine-lib"
| #define VERSION "1.1.2"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #define HAVE_ICONV 1
| #define ICONV_CONST 
| #define ENABLE_NLS 1
| #define HAVE_GETTEXT 1
| #define HAVE_DCGETTEXT 1
| #define HAVE_NL_LANGINFO 1
| #define inline inline __attribute__ ((__always_inline__))
| #define SIZEOF_LONG 8
| #define _GNU_SOURCE 1
| #define HAVE_LRINTF 1
| #define _ISOC9X_SOURCE 1
| #define HAVE_RINTF 1
| #define HAVE_INT_FAST8_T 1
| #define HAVE_FFMPEG 1
| #define HAVE_X11 1
| #define LIBX11_SO "libX11.so.6"
| #define LIBXV_SO "libXv.so.1"
| #define HAVE_POSIX_TIMERS 1
| #define HAVE_OPENGL 1
| #define HAVE_GLU 1
| #define HAVE_XV 1
| /* end confdefs.h.  */
| 
| /* Override any GCC internal prototype to avoid an error.
|    Use char because int might match the return type of a GCC
|    builtin and then its argument prototype would still apply.  */
| #ifdef __cplusplus
| extern "C"
| #endif
| char XvMCCreateContext ();
| int
| main ()
| {
| return  tman();
|   ;
|   return 0;
| }

Last edited by PrakashP; 09-06-06 at 09:42 AM.
PrakashP is offline   Reply With Quote