Page 1 of 1

Building 0.8.1 on Mandrake 10.1

Posted: 16 Nov 2004 21:15
by mntbighker
I started by installing the 0.8.0 rpms and VLC did not work at all. Every function failed to respond including the preferences. I uninstalled the rpms and tried to build 0.8.1. I used the configure script to identify most of the packages I was missing and built and installed them. Now the VLC build mostly completes but fails on something ffmpeg related. Can someone help me out here?

Code: Select all

gcc -Wsign-compare -Wall -pipe -o vlc src/vlc-vlc.o lib/libvlc.a ./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/codec/ffmpeg/libffmpeg.a ./modules/video_output/x11/libxvideo.a -L/usr/local/lib -lrt -lpthread -ldl -lm -lavcodec -lm -lXinerama -L/usr/X11R6/lib -lX11 -lXext -lXv -lxml2 ./modules/codec/ffmpeg/libffmpeg.a(libffmpeg_a-video_filter.o)(.text+0x22): In function `CloseFilter__ffmpeg': : undefined reference to `avpicture_free' ./modules/codec/ffmpeg/libffmpeg.a(libffmpeg_a-video_filter.o)(.text+0x45): In function `CloseFilter__ffmpeg': : undefined reference to `avpicture_free' ./modules/codec/ffmpeg/libffmpeg.a(libffmpeg_a-video_filter.o)(.text+0x384): In function `OpenFilter__ffmpeg': : undefined reference to `avpicture_alloc' ./modules/codec/ffmpeg/libffmpeg.a(libffmpeg_a-chroma.o)(.text+0x1c0): In function `OpenChroma__ffmpeg': : undefined reference to `avpicture_alloc' ./modules/codec/ffmpeg/libffmpeg.a(libffmpeg_a-chroma.o)(.text+0x6b7): In function `CloseChroma__ffmpeg': : undefined reference to `avpicture_free' collect2: ld returned 1 exit status make[2]: *** [vlc] Error 1 make[2]: Leaving directory `/home/moorcroft/build/VLC/vlc-0.8.1' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/moorcroft/build/VLC/vlc-0.8.1' make: *** [all] Error 2
And by the way the ffmpeg build completed but it was a mess of warnings and such.

Posted: 17 Nov 2004 13:03
by The DJ
Use a current copy of ffmpeg? Looks like this one might be outdated

Current

Posted: 17 Nov 2004 19:22
by mntbighker
Use a current copy of ffmpeg? Looks like this one might be outdated
I downloaded and built the 0.4.9-pre1. Do I need the actual CVS source to get it to build?

--MM

Posted: 18 Nov 2004 03:42
by The DJ
well maybe VLC cannot find the new headers of this ffmpeg build...
Try in a console:
locate ffmpeg.h

see if there are multiple versions of the headers installed on your machine

ffmpeg.h

Posted: 18 Nov 2004 05:19
by mntbighker
well maybe VLC cannot find the new headers of this ffmpeg build...
Try in a console:
locate ffmpeg.h

see if there are multiple versions of the headers installed on your machine
The only ffmpeg.h on my system is in the vlc build tree (the one in the tarball). There is no ffmpeg.h in the ffmpeg build directory before or after the build. The only ffmpeg files in the ffmpeg build directory after the ffmpeg build are ffmpeg.c and ffmpeg.o (and the executable of course).

--MM

Posted: 18 Nov 2004 11:41
by The DJ
sorry, avcodec.h

/usr/lib/ffmpeg

Posted: 18 Nov 2004 22:16
by mntbighker
sorry, avcodec.h
So I deleted the /usr/lib/ffmpeg folder and rebuilt ffmpeg. It installs in /usr/local. First I didn't have shared libs building and now that I do vlc errors with something about postprocessing. My first attempt at building ffmpeg with postprocessing failed, but shared-postprocessing worked (go figure). It seems there may be a very specific combination of ffmpeg options needed and they are not the defaults. I wish I knew what they were. Building ffmpeg with --enable-pp fails with..

Code: Select all

/usr/lib/libpostproc.so.0: undefined reference to `fast_memcpy' collect2: ld returned 1 exit status make: *** [ffmpeg_g] Error 1
and vlc fails with..

Code: Select all

gcc -Wsign-compare -Wall -pipe -o vlc src/vlc-vlc.o lib/libvlc.a ./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/codec/ffmpeg/libffmpeg.a ./modules/video_output/x11/libxvideo.a -L/usr/local/lib -lrt -lpthread -ldl -lm -lavcodec -lm -lXinerama -L/usr/X11R6/lib -lX11 -lXext -lXv -lxml2 ./modules/codec/ffmpeg/libffmpeg.a(libffmpeg_a-postprocess.o)(.text+0x358): In function `InitPostproc__ffmpeg': : undefined reference to `pp_get_context' ./modules/codec/ffmpeg/libffmpeg.a(libffmpeg_a-postprocess.o)(.text+0x56b): In function `PostprocPict__ffmpeg': : undefined reference to `pp_postprocess' ./modules/codec/ffmpeg/libffmpeg.a(libffmpeg_a-postprocess.o)(.text+0x5d8): In function `ClosePostproc__ffmpeg': : undefined reference to `pp_free_mode' ./modules/codec/ffmpeg/libffmpeg.a(libffmpeg_a-postprocess.o)(.text+0x5e6): In function `ClosePostproc__ffmpeg': : undefined reference to `pp_free_context' ./modules/codec/ffmpeg/libffmpeg.a(libffmpeg_a-postprocess.o)(.text+0x649): In function `PPQCallback': : undefined reference to `pp_get_mode_by_name_and_quality' ./modules/codec/ffmpeg/libffmpeg.a(libffmpeg_a-postprocess.o)(.text+0x6ec): In function `PPQCallback': : undefined reference to `pp_get_mode_by_name_and_quality' collect2: ld returned 1 exit status make[2]: *** [vlc] Error 1 make[2]: Leaving directory `/home/moorcroft/build/VLC/vlc-0.8.1' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/moorcroft/build/VLC/vlc-0.8.1' make: *** [all] Error 2

Posted: 19 Nov 2004 11:45
by Simba
Have exactly the same problem while trying to build vlc under RedHat Linux. Also have the 0.4.9-pre1 version of ffmpeg, built with the default settings... :(

Posted: 19 Nov 2004 14:57
by Simba
Now it builds!
I build libpostproc.so library, and copied it to /usr/lib, then configured ffmpeg:

Code: Select all

./configure --enable-gpl --enable-pp --enable-shared --enable-shared-pp
Now ffmpeg and vlc both have been successfully built.

Oopss... But while trying to run vlc I have an error:

Code: Select all

[00000402] main private error: cannot pre fill buffer [00000406] main private error: cannot pre fill buffer Segmentation fault
Going to find solution...

libpostproc.so

Posted: 19 Nov 2004 22:15
by mntbighker
Now it builds!
I build libpostproc.so library, and copied it to /usr/lib, then configured ffmpeg:
Am I to understand that you built libpostproc from the ffmpeg source as a seperate operation and (re)placed the one in /usr/lib? Mine existing libpostproc.so is obviously not the one built by ffmpeg unless the Mandrake rpm manager placed it there for some other reason before I started this process.

--MM

Re: Building 0.8.1 on Mandrake 10.1

Posted: 15 Mar 2005 06:10
by leicestershire2000
Hi,

I have installed ffmpeg-0.4.8 on my linux redhat machine.
I try to compile the VLC source code using:
1. ./configure --prefix=/usr --enable-wxwindows (looks good)
2. make --->I got some errors :

: undefined reference to `avpicture_alloc'
./modules/codec/ffmpeg/libffmpeg.a(libffmpeg_a-video_filter.o)(.text+0x9a5): In function `CloseFilter__ffmpeg':
: undefined reference to `avpicture_free'
./modules/codec/ffmpeg/libffmpeg.a(libffmpeg_a-chroma.o)(.text+0x17d): In function `OpenChroma__ffmpeg':
: undefined reference to `avpicture_alloc'
./modules/codec/ffmpeg/libffmpeg.a(libffmpeg_a-chroma.o)(.text+0x4dd): In function `CloseChroma__ffmpeg':
: undefined reference to `avpicture_free'
collect2: ld returned 1 exit status
make[2]: *** [vlc] Error 1
make[2]: Leaving directory `/home/eric/vlc-0.8.1'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/eric/vlc-0.8.1'
make: *** [all] Error 2

Can anybody please tell me how to solve it ...