[FFmpeg-user] Can't compile current git: "undefined reference to `ff_mix_6_to_1_fltp_flt_fma4'"

Peter B. pb at das-werkstatt.com
Thu Sep 6 16:02:49 CEST 2012


Quoting "Peter B." <pb at das-werkstatt.com>:

> On the same machine I've compiled ffmpeg a thousand times now,  
> without problems, I suddenly can't compile the current git version,  
> and "make" exits with the following error:
>
> [quote]
> libavresample/libavresample.a(audio_mix_init.o): In function  
> `ff_audio_mix_init_x86':
> /home/xxx/install/ffmpeg/ffmpeg-git/libavresample/x86/audio_mix_init.c:207:  
> undefined reference to `ff_mix_3_to_1_fltp_flt_fma4'
> ...
> ...
> /home/xxx/install/ffmpeg/ffmpeg-git/libavresample/x86/audio_mix_init.c:212:  
> undefined reference to `ff_mix_8_to_2_s16p_flt_fma4'
> collect2: ld returned 1 exit status
> [/quote]
>
> I've tried a fresh "git pull" into an empty directory - same error.

The culprit was "libavresample".
After reading Michael's post about integration and support of  
libavresample in ffmpeg [1], I tried compiling without  
"--enable-avresample" and now it works.

Unfortunately, the reason why I had avresample enabled, was that I  
tried to fix a very strange A/V async problem using one of the audio  
filters [2] like "asyncts" or so. I don't remember which one it was  
which required libavresample, though.

However, what is the current opinion/status of libavresample not  
compiling with the current git head?

Pb

PS: I think the problem causing the error message is that there's a  
placeholder "libavresample/x86/audio_mix_init.c" used in the "extern  
void" declarations of "ff_mix_ ## chan ## _to_1_*" routines. The  
define "DEFINE_MIX_3_8_TO_1_2(chan)" is called with channels 3-8, but  
my Debian Squeeze's compiler setup seems to be unable to handle this  
at the moment...


== References:
[1] http://lists.ffmpeg.org/pipermail/ffmpeg-devel/2012-April/123746.html
[2] http://ffmpeg.org/ffmpeg.html#Audio-Filters



More information about the ffmpeg-user mailing list