[MPlayer-users] Compile error on FreeBSD with x264

Oliver Seitz info at vtnd.de
Tue Jul 7 09:02:01 CEST 2009


Hi!

It might be a problem in configure, or a stupid user :-)

It's FreeBSD-7.1/amd64.

I've installed x264 through FreeBSD's ports collection, the version is
indicated as 0.0.20081218

This might be a little old, but configure accepts it:

============ Checking for x264 ============

#include <inttypes.h>
#include <x264.h>
#if X264_BUILD < 65
#error We do not support old versions of x264. Get the latest from SVN.
#endif
int main(void) { x264_encoder_open((void*)0); return 0; }

cc -Wundef -Wdisabled-optimization -Wno-pointer-sign
-Wdeclaration-after-statement -std=gnu99 -Wall -Wno-switch -Wpointer-arith
-Wredundant-decls -O4 -march=native -mtune=native -pipe -ffast-math
-fomit-frame-pointer -Ilibdvdread4 -I.  -I/usr/local/include
-D_THREAD_SAFE -I/usr/local/include     -L/usr/local/lib -ffast-math 
-liconv -lncurses -lpng -lz -ljpeg -lz -lbz2 -L/usr/local/lib -ltheora
-logg   -lamrnb -lamrwb -lxvidcore -lm   -lXext -lX11 -lpthread -lXxf86vm
-lGL  -lfaac  -lfaac -o /tmp/mplayer-conf--23372
/tmp/mplayer-conf--23372.c -lx264 -lpthread


Result is: yes (in libavcodec: yes)
##########################################


But it does not compile: (or, well, assemble... it's yasm 0.8.0.2194)


In file included from h264.c:42:
x86/h264_i386.h: In function 'decode_significance_x86':
x86/h264_i386.h:41: warning: cast from pointer to integer of different size
x86/h264_i386.h:42: warning: cast from pointer to integer of different size
x86/h264_i386.h: In function 'decode_significance_8x8_x86':
x86/h264_i386.h:94: warning: cast from pointer to integer of different size
h264.c: In function 'pred_direct_motion':
h264.c:1048: warning: assignment from incompatible pointer type
h264.c:1049: warning: assignment from incompatible pointer type
h264.c: In function 'filter_mb_fast':
h264.c:6294: warning: dereferencing type-punned pointer will break
strict-aliasing rules
h264.c: In function 'filter_mb_dir':
h264.c:6351: warning: initialization from incompatible pointer type
h264.c:6352: warning: initialization from incompatible pointer type
In file included from h264.c:8191:
svq3.c: In function 'svq3_decode_init':
svq3.c:870: warning: dereferencing type-punned pointer will break
strict-aliasing rules
{standard input}: Assembler messages:
{standard input}:18: Error: `ff_h264_lps_range(%eax,%esi,2)' is not a
valid 64 bit base/index expression
{standard input}:28: Error: `ff_h264_norm_shift(%esi)' is not a valid 64
bit base/index expression
{standard input}:30: Error: `ff_h264_mlps_state+128(%eax)' is not a valid
64 bit base/index expression
{standard input}:42: Error: `-1(%ebx)' is not a valid 64 bit base/index
expression
{standard input}:45: Error: `ff_h264_norm_shift(%ecx)' is not a valid 64
bit base/index expression
{standard input}:6511: Error: `ff_h264_lps_range(%eax,%esi,2)' is not a
valid 64 bit base/index expression


[-- saving the mail servers from 561 more error lines like this --]


{standard input}:31004: Error: `ff_h264_lps_range(%eax,%esi,2)' is not a
valid 64 bit base/index expression
{standard input}:31014: Error: `ff_h264_norm_shift(%esi)' is not a valid
64 bit base/index expression
{standard input}:31016: Error: `ff_h264_mlps_state+128(%eax)' is not a
valid 64 bit base/index expression
{standard input}:31028: Error: `-1(%ebx)' is not a valid 64 bit base/index
expression
{standard input}:31031: Error: `ff_h264_norm_shift(%ecx)' is not a valid
64 bit base/index expression
gmake[1]: *** [h264.o] Error 1
gmake: *** [libavcodec/libavcodec.a] Error 2




More information about the MPlayer-users mailing list