Opened 12 years ago

Closed 12 years ago

#1269 closed defect (invalid)

FFMPEG won't compile on RedHat el5

Reported by: Alexandre benoit Owned by: Michael Niedermayer
Priority: normal Component: undetermined
Version: git-master Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Dear FFMPEG contributors,

After libc6 update, the cluster i use based on redHat linux version do not want to compile FFMPEG anymore in 64bit mode (and we do need 64bit).

Here is an information about the systeme : uname -r = 2.6.18-274.7.1.el5

I currently use the git version of ffmpeg but trying to compile any previous version 0.10.2, 0.9.1 or previous present the same problems. I also tried various options regarding --arch option, various gcc versions (3.4, 4.1, 4.4) the error and warnings are always the same.

Here is the script i use to configure compilation :

after a : git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg

# update from git
cd /uds_data/listic/install/ffmpeg_package/ffmpeg
git pull
# move to the opencv main directory
./configure --prefix="/uds_data/listic/install/ffmpeg_package/install" --disable-yasm --enable-shared --cc=gcc44 --ld=gcc44
# old version : ./configure --prefix="/uds_data/listic/install/ffmpeg_package/install" --enable-shared --disable-yasm --arch=x86
# compile
make clean
make
make install

I send you as attached file the comile log

Hope it helps.
Best regards.

Attachments (1)

ffmpeg_bugreport.txt (74.9 KB ) - added by Alexandre benoit 12 years ago.
compilation log

Download all attachments as: .zip

Change History (4)

by Alexandre benoit, 12 years ago

Attachment: ffmpeg_bugreport.txt added

compilation log

comment:1 by Carl Eugen Hoyos, 12 years ago

Component: avutilundetermined
Keywords: 64bit assembler removed
Priority: criticalnormal

Please test ./configure && make, if it fails please run make again, run make V=1 and provide the complete, uncut output of the last make run (please do NOT post the complete, uncut of the first make run).

If you cannot install yasm (please understand that this severely hurts FFmpeg performance), use ./configure --disable-yasm && make

Please post the output of gcc44 -v, if this really is gcc-4.4.0, then please update your compiler.

comment:2 by Alexandre benoit, 12 years ago

Hi,

Here are my results :
gcc version is : gcc44 -v
Using built-in specs.
Target: x86_64-redhat-linux6E
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-cxa_atexit --disable-libunwind-exceptions --enable-languages=c,c++,fortran --disable-libgcj --with-mpfr=/builddir/build/BUILD/gcc-4.4.0-20090514/obj-x86_64-redhat-linux6E/mpfr-install/ --with-ppl=/builddir/build/BUILD/gcc-4.4.0-20090514/obj-x86_64-redhat-linux6E/ppl-install --with-cloog=/builddir/build/BUILD/gcc-4.4.0-20090514/obj-x86_64-redhat-linux6E/cloog-install --with-tune=generic --with-arch_32=i586 --build=x86_64-redhat-linux6E
Thread model: posix
gcc version 4.4.0 20090514 (Red Hat 4.4.0-6) (GCC)

Then, when trying to configure, i cannot do a simple ./configure but rather ./configure --disable-yasm
Afterwards make fails. Here is the make V=1 output :
make V=1
gcc -I. -I./ -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DHAVE_AV_CONFIG_H -std=c99 -fomit-frame-pointer -pthread -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -g -Wdeclaration-after-statement -Wall -Wno-parentheses -Wno-switch -Wno-format-zero-length -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -Wwrite-strings -Wundef -Wmissing-prototypes -Wno-pointer-to-int-cast -Wstrict-prototypes -O3 -fno-math-errno -fno-tree-vectorize -MMD -MF libavfilter/x86/gradfun.d -MT libavfilter/x86/gradfun.o -c -o libavfilter/x86/gradfun.o libavfilter/x86/gradfun.c
In file included from ./libavfilter/avfilter.h:25,

from ./libavfilter/gradfun.h:25,
from libavfilter/x86/gradfun.c:23:

./libavutil/avutil.h: In function ‘av_x_if_null’:
./libavutil/avutil.h:340: warning: cast to pointer from integer of different size
/tmp/ccYaVX0Y.s: Assembler messages:
/tmp/ccYaVX0Y.s:63: Error: `(%rcx,%esi)' is not a valid base/index expression
/tmp/ccYaVX0Y.s:64: Error: `(%rax,%esi)' is not a valid base/index expression
/tmp/ccYaVX0Y.s:74: Error: `(%rdi,%esi)' is not a valid base/index expression
/tmp/ccYaVX0Y.s:75: Error: `(%r8,%esi)' is not a valid base/index expression
/tmp/ccYaVX0Y.s:76: Error: `(%r8,%esi)' is not a valid base/index expression
/tmp/ccYaVX0Y.s:78: Error: `(%rdx,%esi)' is not a valid base/index expression
/tmp/ccYaVX0Y.s:113: Error: `(%rcx,%esi)' is not a valid base/index expression
/tmp/ccYaVX0Y.s:114: Error: `(%rax,%esi)' is not a valid base/index expression
/tmp/ccYaVX0Y.s:124: Error: `(%rdi,%esi)' is not a valid base/index expression
/tmp/ccYaVX0Y.s:125: Error: `(%r8,%esi)' is not a valid base/index expression
/tmp/ccYaVX0Y.s:126: Error: `(%r8,%esi)' is not a valid base/index expression
/tmp/ccYaVX0Y.s:128: Error: `(%rdx,%esi)' is not a valid base/index expression
/tmp/ccYaVX0Y.s:193: Error: `(%r12,%eax)' is not a valid base/index expression
/tmp/ccYaVX0Y.s:194: Error: `(%rbp,%eax)' is not a valid base/index expression
/tmp/ccYaVX0Y.s:210: Error: `(%r13,%eax)' is not a valid base/index expression
/tmp/ccYaVX0Y.s:303: Error: `(%r12,%eax)' is not a valid base/index expression
/tmp/ccYaVX0Y.s:304: Error: `(%rbp,%eax)' is not a valid base/index expression
/tmp/ccYaVX0Y.s:322: Error: `(%r13,%eax)' is not a valid base/index expression
make: * [libavfilter/x86/gradfun.o] Error 1

Regarding ./configure --disable-yasm, here was the result :
Hope it helps. Best regards.

install prefix /usr/local
source path .
C compiler gcc
ARCH x86 (generic)
big-endian no
runtime cpu detection no
yasm no
MMX enabled yes
MMX2 enabled yes
3DNow! enabled yes
3DNow! extended enabled yes
SSE enabled yes
SSSE3 enabled yes
AVX enabled yes
CMOV enabled yes
CMOV is fast yes
EBX available yes
EBP available yes
debug symbols yes
strip symbols yes
optimize for size no
optimizations yes
static yes
shared no
postprocessing support no
new filter support yes
network support yes
threading support pthreads
safe bitstream reader yes
SDL support yes
libdxva2 enabled no
libva enabled no
libvdpau enabled no
AVISynth enabled no
frei0r enabled no
gnutls enabled no
libaacplus enabled no
libass enabled no
libcdio support no
libcelt enabled no
libdc1394 support no
libfaac enabled no
libgsm enabled no
libmodplug enabled no
libmp3lame enabled no
libnut enabled no
libopencore-amrnb support no
libopencore-amrwb support no
libopencv support no
libopenjpeg enabled no
libpulse enabled no
librtmp enabled no
libschroedinger enabled no
libspeex enabled no
libstagefright-h264 enabled no
libtheora enabled no
libutvideo enabled no
libv4l2 enabled no
libvo-aacenc support no
libvo-amrwbenc support no
libvorbis enabled no
libvpx enabled no
libx264 enabled no
libxavs enabled no
libxvid enabled no
openal enabled no
openssl enabled no
zlib enabled yes
bzlib enabled yes

Enabled decoders:
aac cljr loco
aac_latm cook mace3
aasc cscd mace6
ac3 cyuv mdec
adpcm_4xm dca microdvd
adpcm_adx dfa mimic
adpcm_ct dirac mjpeg
adpcm_ea dnxhd mjpegb
adpcm_ea_maxis_xa dpx mlp
adpcm_ea_r1 dsicinaudio mmvideo
adpcm_ea_r2 dsicinvideo motionpixels
adpcm_ea_r3 dvbsub mp1
adpcm_ea_xas dvdsub mp1float
adpcm_g722 dvvideo mp2
adpcm_g726 dxa mp2float
adpcm_ima_amv dxtory mp3
adpcm_ima_apc eac3 mp3adu
adpcm_ima_dk3 eacmv mp3adufloat
adpcm_ima_dk4 eamad mp3float
adpcm_ima_ea_eacs eatgq mp3on4
adpcm_ima_ea_sead eatgv mp3on4float
adpcm_ima_iss eatqi mpc7
adpcm_ima_qt eightbps mpc8
adpcm_ima_smjpeg eightsvx_exp mpeg1video
adpcm_ima_wav eightsvx_fib mpeg2video
adpcm_ima_ws escape124 mpeg4
adpcm_ms escape130 mpeg_xvmc
adpcm_sbpro_2 exr mpegvideo
adpcm_sbpro_3 ffv1 msmpeg4v1
adpcm_sbpro_4 ffvhuff msmpeg4v2
adpcm_swf ffwavesynth msmpeg4v3
adpcm_thp flac msrle
adpcm_xa flashsv msvideo1
adpcm_yamaha flashsv2 mszh
alac flic mxpeg
als flv nellymoser
amrnb fourxm nuv
amrwb fraps pam
amv frwu pbm
anm g723_1 pcm_alaw
ansi g729 pcm_bluray
ape gif pcm_dvd
ass gsm pcm_f32be
asv1 gsm_ms pcm_f32le
asv2 h261 pcm_f64be
atrac1 h263 pcm_f64le
atrac3 h263i pcm_lxf
aura h264 pcm_mulaw
aura2 huffyuv pcm_s16be
avrp idcin pcm_s16le
avs idf pcm_s16le_planar
ayuv iff_byterun1 pcm_s24be
bethsoftvid iff_ilbm pcm_s24daud
bfi imc pcm_s24le
bink indeo2 pcm_s32be
binkaudio_dct indeo3 pcm_s32le
binkaudio_rdft indeo4 pcm_s8
bintext indeo5 pcm_s8_planar
bmp interplay_dpcm pcm_u16be
bmv_audio interplay_video pcm_u16le
bmv_video jpeg2000 pcm_u24be
c93 jpegls pcm_u24le
cavs jv pcm_u32be
cdgraphics kgv1 pcm_u32le
cdxl kmvc pcm_u8
cinepak lagarith pcm_zork
pcx snow vmnc
pgm sol_dpcm vorbis
pgmyuv sonic vp3
pgssub sp5x vp5
pictor srt vp6
png sunrast vp6a
ppm svq1 vp6f
prores svq3 vp8
prores_lgpl targa vqa
ptx theora wavpack
qcelp thp wmalossless
qdm2 tiertexseqvideo wmapro
qdraw tiff wmav1
qpeg tmv wmav2
qtrle truehd wmavoice
r10k truemotion1 wmv1
r210 truemotion2 wmv2
ra_144 truespeech wmv3
ra_288 tscc wmv3image
ralf tta wnv1
rawvideo twinvq ws_snd1
rl2 txd xan_dpcm
roq ulti xan_wc3
roq_dpcm utvideo xan_wc4
rpza v210 xbin
rv10 v210x xbm
rv20 v308 xl
rv30 v408 xsub
rv40 v410 xwd
s302m vb y41p
sgi vble yop
shorten vc1 yuv4
sipr vc1image zerocodec
smackaud vcr1 zlib
smacker vmdaudio zmbv
smc vmdvideo

Enabled encoders:
a64multi huffyuv png
a64multi5 jpeg2000 ppm
aac jpegls prores
ac3 ljpeg prores_anatoliy
ac3_fixed mjpeg prores_kostya
adpcm_adx mp2 qtrle
adpcm_g722 mpeg1video r10k
adpcm_g726 mpeg2video r210
adpcm_ima_qt mpeg4 ra_144
adpcm_ima_wav msmpeg4v2 rawvideo
adpcm_ms msmpeg4v3 roq
adpcm_swf msvideo1 roq_dpcm
adpcm_yamaha nellymoser rv10
alac pam rv20
amv pbm sgi
ass pcm_alaw snow
asv1 pcm_f32be sonic
asv2 pcm_f32le sonic_ls
avrp pcm_f64be srt
ayuv pcm_f64le sunrast
bmp pcm_mulaw svq1
cljr pcm_s16be targa
dca pcm_s16le tiff
dnxhd pcm_s24be v210
dpx pcm_s24daud v308
dvbsub pcm_s24le v408
dvdsub pcm_s32be v410
dvvideo pcm_s32le vorbis
eac3 pcm_s8 wmav1
ffv1 pcm_u16be wmav2
ffvhuff pcm_u16le wmv1
flac pcm_u24be wmv2
flashsv pcm_u24le xbm
flashsv2 pcm_u32be xsub
flv pcm_u32le xwd
g723_1 pcm_u8 y41p
gif pcx yuv4
h261 pgm zlib
h263 pgmyuv zmbv
h263p

Enabled hwaccels:

Enabled parsers:
aac dvdsub mpegaudio
aac_latm flac mpegvideo
ac3 gsm pnm
adx h261 rv30
cavsvideo h263 rv40
cook h264 vc1
dca mjpeg vorbis
dirac mlp vp3
dnxhd mpeg4video vp8
dvbsub

Enabled demuxers:
aac idf pcm_u24be
ac3 iff pcm_u24le
act image2 pcm_u32be
adf image2pipe pcm_u32le
adx ingenient pcm_u8
aea ipmovie pmp
aiff iss pva
amr iv8 qcp
anm ivf r3d
apc jv rawvideo
ape latm rl2
asf lmlm4 rm
ass loas roq
au lxf rpl
avi m4v rso
avs matroska rtp
bethsoftvid mgsts rtsp
bfi microdvd sap
bink mjpeg sbg
bintext mlp sdp
bit mm segafilm
bmv mmf shorten
c93 mov siff
caf mp3 smacker
cavsvideo mpc smjpeg
cdg mpc8 sol
cdxl mpegps sox
daud mpegts spdif
dfa mpegtsraw srt
dirac mpegvideo str
dnxhd msnwc_tcp swf
dsicin mtv thp
dts mvi tiertexseq
dv mxf tmv
dxa mxg truehd
ea nc tta
ea_cdata nsv tty
eac3 nut txd
ffm nuv vc1
ffmetadata ogg vc1t
filmstrip oma vmd
flac pcm_alaw voc
flic pcm_f32be vqf
flv pcm_f32le w64
fourxm pcm_f64be wav
g722 pcm_f64le wc3
g723_1 pcm_mulaw wsaud
g729 pcm_s16be wsvqa
gsm pcm_s16le wtv
gxf pcm_s24be wv
h261 pcm_s24le xa
h263 pcm_s32be xbin
h264 pcm_s32le xmv
hls pcm_s8 xwma
ico pcm_u16be yop
idcin pcm_u16le yuv4mpegpipe

Enabled muxers:
a64 ipod pcm_s16be
ac3 ismv pcm_s16le
adts ivf pcm_s24be
adx latm pcm_s24le
aiff m4v pcm_s32be
amr matroska pcm_s32le
asf matroska_audio pcm_s8
asf_stream md5 pcm_u16be
ass microdvd pcm_u16le
au mjpeg pcm_u24be
avi mkvtimestamp_v2 pcm_u24le
avm2 mlp pcm_u32be
bit mmf pcm_u32le
caf mov pcm_u8
cavsvideo mp2 psp
crc mp3 rawvideo
daud mp4 rm
dirac mpeg1system roq
dnxhd mpeg1vcd rso
dts mpeg1video rtp
dv mpeg2dvd rtsp
eac3 mpeg2svcd sap
ffm mpeg2video segment
ffmetadata mpeg2vob smjpeg
filmstrip mpegts sox
flac mpjpeg spdif
flv mxf srt
framecrc mxf_d10 swf
framemd5 null tg2
g722 nut tgp
g723_1 ogg truehd
gif oma vc1t
gxf pcm_alaw voc
h261 pcm_f32be wav
h263 pcm_f32le webm
h264 pcm_f64be wtv
image2 pcm_f64le yuv4mpegpipe
image2pipe pcm_mulaw

Enabled protocols:
applehttp hls pipe
cache http rtmp
concat httpproxy rtp
crypto md5 tcp
file mmsh udp
gopher mmst

Enabled filters:
abuffer earwax pixdesctest
abuffersink fade removelogo
aconvert fieldorder rgbtestsrc
aevalsrc fifo scale
aformat format select
amerge gradfun setdar
amovie hflip setfield
anull idet setpts
anullsink life setsar
anullsrc lut settb
aresample lutrgb showinfo
ashowinfo lutyuv silencedetect
asplit mandelbrot slicify
astreamsync movie split
bbox negate swapuv
blackdetect noformat testsrc
buffersink null thumbnail
cellauto nullsink tile
color nullsrc transpose
copy overlay unsharp
crop pad vflip
deshake pan volume
drawbox

Enabled bsfs:
aac_adtstoasc mjpeg2jpeg mp3_header_decompress
chomp mjpega_dump_header noise
dump_extradata mov2textsub remove_extradata
h264_mp4toannexb mp3_header_compress text2movsub
imx_dump_header

Enabled indevs:
alsa fbdev oss
dv1394 lavfi v4l2

Enabled outdevs:
alsa oss sdl

License: LGPL version 2.1 or later
Creating config.mak and config.h...
libavutil/avconfig.h is unchanged

comment:3 by reimar, 12 years ago

Resolution: invalid
Status: newclosed

./libavutil/avutil.h:340: warning: cast to pointer from integer of different size

That is this line:

return (void *)(intptr_t)(p ? p : x);

So this means that intptr_t is 32-bit for a 64-bit build. This is consistent with the other errors you get.
This is a _severely_ broken build environment. Do _not_ use that compiler to compile _anything_.
It will create binaries that have major, but non-obvious bugs (at least if intptr_t is used in the code).
I can't say for sure whether the issue is in stdint.h or the compiler itself, but there is no question it is broken and that whatever the issue is it has nothing at all to do with FFmpeg.

Note: See TracTickets for help on using tickets.