Thanks Rene, Now I have this issue:
ty...@surak:~/pygame_movie$ python -c "import pygame.gmovie" Traceback (most recent call last): File "<string>", line 1, in <module> ImportError: /usr/lib/libavcodec.so.51: undefined symbol: av_random_init ty...@surak:~/pygame_movie$ grep "av_random_init" /usr/lib/libavcodec.so.51 Binary file /usr/lib/libavcodec.so.51 matches Is there any way to force the gmovie.so to link to a specific library file? -Tyler On Thu, May 21, 2009 at 3:05 PM, René Dudfield <ren...@gmail.com> wrote: > hello, > > you can grep the shared modules to find where that function is... > > It apppears to be in libavcodec.so > > > You can see what your gmovie.so has linked to it on linux with: > $ ldd gmovie.so > > Or on OSX with: > $ otool -L gmovie.so > > > cheers, > > > > > On Fri, May 22, 2009 at 8:00 AM, Tyler Laing <trinio...@gmail.com> wrote: > >> Sorry to bother you all again, >> >> Now when I type import pygame.gmovie, it gives this error: >> ImportError: /usr/lib/python2.5/site-packages/pygame/gmovie.so: undefined >> symbol: av_audio_convert_free >> >> So I included both the audioconvert.h and audioconvert.c files into the >> pygame source directory. But I can't figure out how to link these files into >> the gmovie.so executable. I don't have a lot of experience linking files >> together, and all of your help has been much appreciated! >> >> -Tyler >> >> >> On Thu, May 21, 2009 at 2:33 PM, Tyler Laing <trinio...@gmail.com> wrote: >> >>> Lenard, >>> >>> Thank you very much! That worked. >>> >>> -Tyler >>> >>> >>> On Thu, May 21, 2009 at 1:26 PM, Lenard Lindstrom <le...@telus.net>wrote: >>> >>>> When building ffmpeg you have to pass --enable-shared to ./configure. Do >>>> a ./configure --help to see all the options. >>>> >>>> Lenard >>>> >>>> >>>> Tyler Laing wrote: >>>> >>>>> Hello all, >>>>> >>>>> Making fast progress here. I've got a question for later, but the more >>>>> relevant one right now is this: >>>>> >>>>> The extension compiles, and it fails when linking with libavformat. >>>>> The error message is this: >>>>> gcc -pthread -shared -Wl,-O1,-Bsymbolic-functions >>>>> build/temp.linux-x86_64-2.5/src/ff_movie.o -lSDL -lavformat -lavdevice >>>>> -lavcodec -lavutil -lswscale -o >>>>> build/lib.linux-x86_64-2.5/pygame/gmovie.so >>>>> /usr/bin/ld: /usr/local/lib/avformat.a(allformats.o): relocation of >>>>> R_X86_64_32 against 'aac_demuxer' can not be used when making a shared >>>>> object; recompile with -fPIC >>>>> /usr/local/lib/libavformat.a: could not read symbols: Bad value >>>>> collect2: ld returned with 1 exit status >>>>> error: command 'gcc' failed with exit status 1 >>>>> >>>>> >>>>> In addition, to be able to get to the compilation stage one needs to do >>>>> this: >>>>> -download ffmpeg-0.5.0 >>>>> -run ./configure in ffmpeg-0.5.0 directory >>>>> -run make >>>>> -run make install (will need admin privileges?) >>>>> -cd libswscale >>>>> -run make >>>>> -run make install (will need admin privileges?) >>>>> >>>>> This will put all the correct versions of the header files in >>>>> /usr/local/include (depending on the distribution) >>>>> >>>>> -Tyler >>>>> >>>>> -- >>>>> Visit my blog at http://oddco.ca/zeroth/zblog >>>>> >>>> >>>> >>> >>> >>> -- >>> Visit my blog at http://oddco.ca/zeroth/zblog >>> >> >> >> >> -- >> Visit my blog at http://oddco.ca/zeroth/zblog >> > > -- Visit my blog at http://oddco.ca/zeroth/zblog