[vlc-devel] commit: x264: Use -Bsymbolic to fix static link (Pierre	Ynard )
    git version control 
    git at videolan.org
       
    Sun Mar 29 18:41:34 CEST 2009
    
    
  
vlc | branch: master | Pierre Ynard <linkfanel at yahoo.fr> | Thu Mar 26 18:11:17 2009 +0100| [c20cca8148346e2a3b1a7c0bae69fa74675731ed] | committer: Jean-Baptiste Kempf 
x264: Use -Bsymbolic to fix static link
On my linux x86_64 system, when trying to statically link the x264
module against libx264, I get the following error:
/usr/bin/ld: /usr/local/lib/libx264.a(cabac-a.o): relocation
R_X86_64_PC32 against symbol `x264_cabac_range_lps' can not be used when
making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
Even though libx264 was compiled as PIC. Dynamically linking against the
shared library, built during the same process, works well.
The x264 folks said that VLC needed to use the -Bsymbolic flag to allow
conversation of a static PIC library into a shared library, so that's
what I did, and it works for me.
Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=c20cca8148346e2a3b1a7c0bae69fa74675731ed
---
 configure.ac |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac
index 8ae1003..ffc4d36 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3748,7 +3748,7 @@ if test "${enable_x264}" != "no"; then
       VLC_ADD_LIBS([x264],[-L${real_x264_tree}])
       PKG_CHECK_MODULES(X264,x264, [
         VLC_ADD_PLUGIN([x264])
-        VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
+        VLC_ADD_LDFLAGS([x264],[${X264_LIBS} -Wl,-Bsymbolic])
         VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
         if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
           VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
@@ -3764,7 +3764,7 @@ if test "${enable_x264}" != "no"; then
   else
       PKG_CHECK_MODULES(X264,x264, [
         VLC_ADD_PLUGIN([x264])
-        VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
+        VLC_ADD_LDFLAGS([x264],[${X264_LIBS} -Wl,-Bsymbolic])
         VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
         if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
           VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
    
    
More information about the vlc-devel
mailing list