Compile errors: postproc

*nix specific usage questions
mikeh
New Cone
New Cone
Posts: 3
Joined: 01 Apr 2006 17:16

Compile errors: postproc

Postby mikeh » 01 Apr 2006 18:39

I get postprocess errors when trying to compile vlc. The errors are:
./modules/codec/ffmpeg/libffmpeg.a(libffmpeg_a-postprocess.o): In function `InitPostproc__ffmpeg':
postprocess.c: (.text+0x2dd): undefined reference to `pp_get_context'
./modules/codec/ffmpeg/libffmpeg.a(libffmpeg_a-postprocess.o): In function `PostprocPict__ffmpeg':
postprocess.c: (.text+0x516): undefined reference to `pp_postprocess'
./modules/codec/ffmpeg/libffmpeg.a(libffmpeg_a-postprocess.o): In function `ClosePostproc__ffmpeg':
postprocess.c: (.text+0x583): undefined reference to `pp_free_mode'
postprocess.c: (.text+0x590): undefined reference to `pp_free_context'
./modules/codec/ffmpeg/libffmpeg.a(libffmpeg_a-postprocess.o): In function `PPQCallback':
postprocess.c: (.text+0x60b): undefined reference to `pp_get_mode_by_name_and_quality'
postprocess.c: (.text+0x699): undefined reference to `pp_get_mode_by_name_and_quality'
collect2: ld returned 1 exit status
make[2]: *** [vlc] Error 1
I have spent hours searching and trying different options. Still no luck. Here's what I do:

1. Configure and compile ffmpeg. Here's what I do:

Code: Select all

./configure --enable-mp3lame --enable-libogg --enable-faad --enable-faac --enable-pp --enable-gpl --prefix=/usr make make install
2. Configure faad2. Here's what I do:

Code: Select all

./configure --prefix=/usr make make install
3. Configure vlc. Here are my configure options:

Code: Select all

./configure --enable-faad --with-faad-tree=/files2/src/faad2/faad2 --enable-livedotcom --with-livedotcom-tree=/usr/bin/live --with-ffmpeg-tree=/files2/src/ffmpeg_all/ffmpeg --disable-hal --prefix=/usr
(I have verified that the "-tree" paths are correct).

Here are a few random thoughts:

First, I have postprocess.h in /usr/include/postproc. I read somewhere that vlc might look for postprocess.h in /usr/include/libpostproc, so I symlinked the postproc directory to libpostproc.

Second, I'm running suse 10 amd64. I've had problems in the past unintentionally trying to link 32-bit applications to 64-bit libraries and vice-versa, or having an application look for libraries in lib instead of lib64 and vice-versa. I don't see that happening here, but who knows, it might be a factor.

Third, I have installed binary versions of some libraries, e.g., ffmpeg. I'm pretty sure I have uninstalled all of the old rpms, but I don't know if that might be causing a problem.

Anyone know why I'm getting these postproc errors?

mikeh
New Cone
New Cone
Posts: 3
Joined: 01 Apr 2006 17:16

Postby mikeh » 02 Apr 2006 19:13

I got around this problem. I still don't know what was causing it under v. 0.8.4a. However, I decided to try building v. 0.8.5-test1 beta, and the new version works fine. Same environment variables, same configure options, etc. If anyone experiences similar behavior, see if the new version fixes the problem.

jdkaye

vlc 8.5 test

Postby jdkaye » 07 Apr 2006 10:56

Thanks Mikeh,
I'm running Debian Etch 2.6.15-i686 I had the same problem as you with 8.4a. I followed your advice and compiled 8.5-test. No probs. Works a treat. Thanks alot.
Jonathan

gibus92
Blank Cone
Blank Cone
Posts: 66
Joined: 10 Apr 2006 16:09
Location: Antony, France
Contact:

ffmpeg library evolution

Postby gibus92 » 10 Apr 2006 16:23

You've got this error message because the linking process is missing libpostproc references and fails.

Recently - certainly between february and april 2006, ffmpeg has evolved to have a separate libpostproc, but linking libraries list has not evolved in older sources : vlc-0.8.2 and vlc-0.8.4 are stable versions which do not take this problem into account at the time they have been released.

Try the following patch on vlc-0.8.4a/configure.ac (I have regenerated a new vlc-0.8.4a successfuly) :

--- configure.ac.org 2005-12-27 00:36:11.000000000 +0100
+++ configure.ac.new 2006-04-10 15:27:22.000000000 +0200
@@ -2223,7 +2223,10 @@
fi
VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}])
VLC_ADD_LDFLAGS([ffmpeg],[${FFMPEG_LIBS}])
-
+ dnl newer ffmpeg have a separate libpostproc
+ PKG_CHECK_MODULES(POSTPROC, libpostproc,[
+ VLC_ADD_LDFLAGS([ffmpeg],[${POSTPROC_LIBS}])
+ ],[ true ])
],[

dnl

Next, you have to perform a " bootstrap " command in order to regenerate new Makefile.in files for each level, and a " configure " command to have also new Makefile

nicolapom

similar problem

Postby nicolapom » 13 Apr 2006 11:49

Hej, this look like my problem is very similar to the one explained in this thread.

I try to compile vlc-0.8.4a on windows XP using cygwin and i came the following errors :


./modules/codec/ffmpeg/libffmpeg.a(libffmpeg_a-postprocess.o): In function `InitPostproc__ffmpeg':
/cygdrive/c/Documents and Settings/mr/vlc-0.8.4a/modules/codec/ffmpeg/postprocess.c:164: undefined reference to `_pp_get_context'

./modules/codec/ffmpeg/libffmpeg.a(libffmpeg_a-postprocess.o): In function `PostprocPict__ffmpeg':
/cygdrive/c/Documents and Settings/mr/vlc-0.8.4a/modules/codec/ffmpeg/po
stprocess.c:191: undefined reference to `_pp_postprocess'

./modules/codec/ffmpeg/libffmpeg.a(libffmpeg_a-postprocess.o): In function `ClosePostproc__ffmpeg':
/cygdrive/c/Documents and Settings/mr/vlc-0.8.4a/modules/codec/ffmpeg/postprocess.c:209: undefined reference to `_pp_free_mode'
/cygdrive/c/Documents and Settings/mr/vlc-0.8.4a/modules/codec/ffmpeg/po
stprocess.c:210: undefined reference to `_pp_free_context'

./modules/codec/ffmpeg/libffmpeg.a(libffmpeg_a-postprocess.o): In function `PPQCallback':
/cygdrive/c/Documents and Settings/mr/vlc-0.8.4a/modules/codec/ffmpeg/postprocess.c:244: undefined reference to `_pp_get_mode_by_name_and_quality'
/cygdrive/c/Documents and Settings/mr/vlc-0.8.4a/modules/codec/ffmpeg/postprocess.c:244: undefined reference to `_pp_get_mode_by_name_and_quality'
collect2: ld returned 1 exit status

Make[2]: *** [vlc.exe] Error 1
Make[2]: Leaving directory `/cygdrive/c/Documents and Settings/mr/vlc-0.
8.4a'
Make[1]: *** [all-recursive] Error 1
Make[1]: Leaving directory `/cygdrive/c/Documents and Settings/mr/vlc-0.8.4a'

Make: *** [all] Error 2


I'm not sure to understand how to deal with the ffmpeg lib since on the "developper's how to" (http://developers.videolan.org/vlc/vlc/INSTALL.win32) they do not talk about compiling the ffmepg lib at first, but on many other FAQ it is told to compile the ffmpeg lib using --enable-pp --enable-gpl

Is it possible to compile vlc-0.8.4a without compiling any lib before ?

I tried to modify the config.ac as you said but i got the same mistakes.

If you have any idea or wants more details, tell me please.

nicolapom

sorry

Postby nicolapom » 13 Apr 2006 15:17

forget my previous requests, it works fine actually with the modification in configure.ac,

sorry

Guest

Re: sorry

Postby Guest » 02 May 2006 08:39

forget my previous requests, it works fine actually with the modification in configure.ac,

sorry
would u please tell me how to modify the configure.ac?


Return to “VLC media player for Linux and friends Troubleshooting”

Who is online

Users browsing this forum: No registered users and 23 guests