[vlc-devel] Re: vlc: svn commit r13649 (oaubert)

Filippo Carone filippo at carone.org
Sat Dec 10 13:00:45 CET 2005

On Sat, Dec 10, 2005 at 12:38:50PM +0100, Olivier Aubert wrote:
> >  Python bindings do not compile on amd64. You need to add the pic
> > keyword in vlc-config --libs and change libvlc.a in libvlc_pic.a in
> > the extra_objects.
> I guess that was the point of --enable-python-bindings that zorglub
> added in configure.ac (rev. 13397). vlc-config should get the correct
> flags then.

 Using --enable-python-bindings, without the corrections I outlined,
will not compile the code on amd64. The difference in using pic in
vlc-config --libs is in the archives used for compilation:

$ vlc-config --libs vlc builtin
modules/misc/memcpy/libmemcpymmx.a modules/video_chroma/libi420_rgb_mmx.a modules/video_chroma/libi422_yuy2_mmx.a  modules/video_chroma/libi420_ymga_mmx.a modules/video_chroma/libi420_yuy2_mmx.a modules/misc/memcpy/libmemcpymmxext.a  modules/misc/memcpy/libmemcpy3dn.a modules/video_output/x11/libxvideo.a -L/usr/local/lib  -g -lhal -ldbus-1 -lrt -lpthread -ldl -lm -lXinerama -L/usr/X11R6/lib -lX11 -lXext -lXv


$ vlc-config --libs vlc pic builtin
modules/misc/memcpy/libmemcpymmx_pic.a modules/video_chroma/libi420_rgb_mmx_pic.a modules/video_chroma/libi422_yuy2_mmx_pic.a modules/video_chroma/libi420_ymga_mmx_pic.a modules/video_chroma/libi420_yuy2_mmx_pic.a modules/misc/memcpy/libmemcpymmxext_pic.a modules/misc/memcpy/libmemcpy3dn_pic.a modules/video_output/x11/libxvideo_pic.a -L/usr/local/lib  -g -lhal -ldbus-1 -lrt -lpthread -ldl -lm -lXinerama -L/usr/X11R6/lib -lX11 -lXext -lXv

 And besides vlc-config flags there's libvlc.a hardcoded in setup.py:

 extra_objects = [ '../../lib/libvlc.a' ]

 To compile the code you need the following patch:

Index: setup.py
--- setup.py    (revision 13659)
+++ setup.py    (working copy)
@@ -37,7 +37,7 @@
         return []
        os.environ['top_builddir'] = '../..'
-        ldflags=os.popen('%s --libs vlc builtin' % vlcconfig, 'r').readline().rstrip().split()
+        ldflags=os.popen('%s --libs vlc pic builtin' % vlcconfig, 'r').readline().rstrip().split()
         return ldflags

 # To compile in a local vlc tree
@@ -45,7 +45,7 @@
                 sources = ['vlcglue.c',
                 include_dirs = ['../../include', '../../', '/usr/win32/include' ],
-                extra_objects = [ '../../lib/libvlc.a' ],
+                extra_objects = [ '../../lib/libvlc_pic.a' ],
                 extra_compile_args = get_cflags(),
                extra_link_args = [ '-L../..' ]  + get_ldflags(),

 If python bindings compile with this patch also on 32bit machines, I
think applying it would be a good idea.


This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://developers.videolan.org/lists.html

More information about the vlc-devel mailing list