vlc, gobject and -Wl,nodelete

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

vlc, gobject and -Wl,nodelete

Stuart Henderson-10
On 2015/07/13 13:48, Stuart Henderson wrote:

> CVSROOT: /cvs
> Module name: ports
> Changes by: [hidden email] 2015/07/13 13:48:13
> Added files:
> x11/vlc/patches: patch-bin_Makefile_am
> Log message:
> Force LD_PRELOAD=/usr/local/lib/libgobject-2.0.so when running vlc-cache-gen,
> working around an intermittent crash during build. ok brad@ aja@ robert@
> "Some of the plugins are linked (indirectly) to gobject. During the generation
> of the plugin cache, these plugins are loaded and unloaded again. In some
> circumstances this causes gobject to be unloaded at the wrong time and
> vlc-cache-gen crashes." (debian bug 752544)

This was supposed to have been fixed in glib2 (gobject) upstream by using
-Wl,nodelete when linking gobject:

$ LD_DEBUG=1 ./vlc-cache-gen -f ../modules/ 2>&1 | grep -i nodel
objname /usr/lib/libpthread.so.19.0 is nodelete
objname /usr/local/lib/libgobject-2.0.so.4200.1 is nodelete

But it doesn't appear to be working here.

$ LD_DEBUG=1 ./vlc-cache-gen -f ../modules/ 2>&1 | grep -i unload.*libgobject | uniq -c
  34 unload_shlib called on /usr/local/lib/libgobject-2.0.so.4200.1

Does anyone have an idea why nodelete doesn't seem to be working here?