Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 142488 - xine-lib-1.1.2-r2 + dxr3: missing xine_plugin_info symbol video out plugin
Summary: xine-lib-1.1.2-r2 + dxr3: missing xine_plugin_info symbol video out plugin
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Diego Elio Pettenò (RETIRED)
URL: http://xinehq.de/
Whiteboard:
Keywords:
: 146199 146220 (view as bug list)
Depends on:
Blocks:
 
Reported: 2006-08-01 17:33 UTC by Alejandro Homs-Puron
Modified: 2006-09-08 06:21 UTC (History)
3 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alejandro Homs-Puron 2006-08-01 17:33:30 UTC
Hi,

When installing xine-lib-1.1.2-r2, my dxr3 output does not work, giving the error:

load_plugins: can't get plugin info from /usr/lib/xine/plugins/1.1.2/xineplug_vo_out_dxr3.so:
/usr/lib/xine/plugins/1.1.2/xineplug_vo_out_dxr3.so: undefined symbol: xine_plugin_info
load_plugins: plugin dxr3-mpeg2 failed to instantiate itself.

Using nm, I saw that the file

src/dxr3/.libs/xineplug_vo_out_dxr3_la-video_out_dxr3.o

had the xine_plugin_info defined as local, and hence it did not appear in
the shared library dynamic symbol table. Adding EXPORTED to the xine_plugin_info definition, as shown in the following patch, solved the problem:

-----------------------------------------------------------------

--- xine-lib-1.1.2-orig/src/dxr3/video_out_dxr3.c       2006-07-09 16:37:34.000000000 +0200
+++ xine-lib-1.1.2/src/dxr3/video_out_dxr3.c    2006-08-02 02:01:47.000000000 +0200
@@ -91,7 +91,7 @@
   XINE_VISUAL_TYPE_AA  /* visual type     */
 };

-const plugin_info_t      xine_plugin_info[] = {
+const plugin_info_t      xine_plugin_info[] EXPORTED = {
   /* type, API, "name", version, special_info, init_function */
 #ifdef HAVE_X11
   { PLUGIN_VIDEO_OUT, 21, "dxr3", XINE_VERSION_CODE, &vo_info_dxr3_x11, &dxr3_x11_init_plugin },

-----------------------------------------------------------------

Could you please fix this in the Portage repository?

Thanks a lot

Alejandro
Comment 1 Diego Elio Pettenò (RETIRED) gentoo-dev 2006-08-31 11:33:59 UTC
Thanks for reporting, I bumped the patchset version to 59, but didn't revbump the ebuild, as it's a minor problem (dxr3 users are a minority, after all, and a rebuild is needed only for them); the 1.1.3 prerelease is fixed already.
Comment 2 subs 2006-09-03 15:44:31 UTC
xine-lib no longer compiles here with the dxr3 use flag set after this change.  

../../src/input/libdvdnav -fvisibility=hidden -DNDEBUG -D_REENTRANT -D_FILE_OFFS ET_BITS=64 -DXINE_COMPILE -DENABLE_IPV6 -O2 -pipe -march=pentium4 -fomit-frame-p ointer -frename-registers -ffunction-sections -Wformat=2 -Wno-format-zero-length  -Wmissing-format-attribute -Wstrict-aliasing=2 -c video_out_dxr3.c  -fPIC -DPIC  -o .libs/xineplug_vo_out_dxr3_la-video_out_dxr3.o
video_out_dxr3.c:94: error: expected expression before '__attribute__'
video_out_dxr3.c: In function 'dxr3_vo_open_plugin':
video_out_dxr3.c:409: warning: passing argument 4 of 'config->register_enum' fro m incompatible pointer type
video_out_dxr3.c:464: warning: passing argument 4 of 'config->register_enum' fro m incompatible pointer type
video_out_dxr3.c: In function 'dxr3_update_frame_format':
video_out_dxr3.c:737: warning: passing argument 3 of 'xine_xmalloc_aligned' from  incompatible pointer type
video_out_dxr3.c:765: warning: passing argument 3 of 'xine_xmalloc_aligned' from  incompatible pointer type
libtool-nofpic: link: warning: `/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/../../..//l ibfreetype.la' seems to be moved
i686-pc-linux-gnu-gcc -shared  .libs/xineplug_decode_dxr3_video_la-dxr3_decode_v ideo.o  -Wl,--rpath -Wl,/var/tmp/portage/xine-lib-1.1.2-r2/work/xine-lib-1.1.2/s rc/xine-engine/.libs ../../src/xine-engine/.libs/libxine.so -L/usr/lib/gcc/i686- pc-linux-gnu/4.1.1/../../../  -march=pentium4 -Wl,-O1 -Wl,-soname -Wl,xineplug_d ecode_dxr3_video.so -o .libs/xineplug_decode_dxr3_video.so
make[3]: *** [xineplug_vo_out_dxr3_la-video_out_dxr3.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
creating xineplug_decode_dxr3_video.la
(cd .libs && rm -f xineplug_decode_dxr3_video.la && ln -s ../xineplug_decode_dxr 3_video.la xineplug_decode_dxr3_video.la)
make[3]: Leaving directory `/var/tmp/portage/xine-lib-1.1.2-r2/work/xine-lib-1.1 .2/src/dxr3'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/xine-lib-1.1.2-r2/work/xine-lib-1.1 .2/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/xine-lib-1.1.2-r2/work/xine-lib-1.1 .2'
make: *** [all] Error 2

!!! ERROR: media-libs/xine-lib-1.1.2-r2 failed.
Call stack:
  ebuild.sh, line 1543:   Called dyn_compile
  ebuild.sh, line 938:   Called src_compile
  xine-lib-1.1.2-r2.ebuild, line 227:   Called die

!!! emake failed
!!! If you need support, post the topmost build error, and the call stack if rel evant.

emerge --info:
System uname: 2.6.17-gentoo-r7 i686 Intel(R) Pentium(R) 4 CPU 2.53GHz
Gentoo Base System version 1.12.4
Last Sync: Sun, 03 Sep 2006 18:29:01 +0000
app-admin/eselect-compiler: [Not Present]
dev-lang/python:     2.4.3-r3
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     [Not Present]
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.13-r3
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=pentium4 -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-O2 -pipe -march=pentium4 -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://gentoo.cites.uiuc.edu/pub/gentoo/ http://gentoo.chem.wisc.edu/gentoo/ http://prometheus.cs.wmich.edu/gentoo http://gentoo.mirrors.tds.net/gentoo"
LANG="en_US"
LC_ALL="en_US"
LDFLAGS="-Wl,-O1"
LINGUAS="en"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/portage-xgl /usr/local/overlays/xgl-coffee"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 X a52 aac alsa avi berkdb bitmap-fonts bzip2 cairo cdr cli crypt cups curl dbus dlloader dri dvd dvdr dxr3 eds elibc_glibc emboss encode esd exif fam firefox flac fortran gdbm gif gimp gimpprint glitz gnome gnutls gphoto2 gpm gstreamer gtk gtkhtml guile hal howl idn imagemagick imlib input_devices_keyboard input_devices_mouse ipv6 isdnlog java joystick jpeg kernel_linux lcms libg++ linguas_en mad mikmod mmx mmxext mng mp3 mpeg ncurses nls nptl nptlonly nsplugin offensive ogg opengl pam pcre pdflib perl png ppds pppd python quicktime readline real reflection samba sdl seamonkey session spell spl sse sse2 ssl svg tcltk tcpd tiff truetype truetype-fonts type1-fonts udev unicode usb userland_GNU video_cards_fglrx vorbis win32codecs xine xml xorg xv zlib"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_RSYNC_EXTRA_OPTS

Comment 3 Jakub Moc (RETIRED) gentoo-dev 2006-09-03 23:57:50 UTC
*** Bug 146199 has been marked as a duplicate of this bug. ***
Comment 4 Jakub Moc (RETIRED) gentoo-dev 2006-09-03 23:58:49 UTC
Reopen, this broke it much worse.
Comment 5 Jakub Moc (RETIRED) gentoo-dev 2006-09-03 23:59:47 UTC
*** Bug 146220 has been marked as a duplicate of this bug. ***
Comment 6 Diego Elio Pettenò (RETIRED) gentoo-dev 2006-09-08 06:21:39 UTC
Fixed now, sorry I forgot to bump the patchset once again.