Opened 11 years ago

Closed 11 years ago

Last modified 10 years ago

#2823 closed defect (fixed)

Building ffmpeg failed

Reported by: Pradeep VR Owned by:
Priority: critical Component: avcodec
Version: git-master Keywords: regression
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Am trying to build ffmpeg checked out from git on July-30 on ubuntu 10.04.

Steps to reproduce:
Step 1 : Run configure command(./configure).
Step 2 : Run make command(make).

Found the below output in console and build failed.

libavcodec/avpacket.c:262: warning: ‘destruct’ is deprecated (declared at libavcodec/avcodec.h:1076)
libavcodec/avpacket.c:263: warning: ‘destruct’ is deprecated (declared at libavcodec/avcodec.h:1076)
libavcodec/avpacket.c:264: warning: ‘destruct’ is deprecated (declared at libavcodec/avcodec.h:1076)
libavcodec/avpacket.c: In function ‘av_packet_merge_side_data’:
libavcodec/avpacket.c:336: warning: ‘destruct’ is deprecated (declared at libavcodec/avcodec.h:1076)
CC libavcodec/avpicture.o
CC libavcodec/avrndec.o
CC libavcodec/avs.o
CC libavcodec/avuidec.o
CC libavcodec/avuienc.o
CC libavcodec/bethsoftvideo.o
CC libavcodec/bfi.o
CC libavcodec/bgmc.o
CC libavcodec/bink.o
CC libavcodec/binkaudio.o
CC libavcodec/binkdsp.o
CC libavcodec/bintext.o
CC libavcodec/bitstream.o
libavcodec/bitstream.c: In function ‘ff_init_vlc_sparse’:
libavcodec/bitstream.c:348: error: unable to find a register to spill in class ‘AREG’
libavcodec/bitstream.c:348: error: this is the insn:
(insn 556 555 557 94 ./libavutil/atomic_gcc.h:57 (parallel [

(set (reg:SI 1 dx [orig:82 D.9034 ] [82])

(mem/v:SI (plus:SI (reg/v/f:SI 99 [ vlc ])

(const_int 16 [0x10])) [-1 S4 A32]))

(set (mem/v:SI (plus:SI (reg/v/f:SI 99 [ vlc ])

(const_int 16 [0x10])) [-1 S4 A32])

(unspec_volatile:SI [

(mem/v:SI (plus:SI (reg/v/f:SI 99 [ vlc ])

(const_int 16 [0x10])) [-1 S4 A32])

(reg/v/f:SI 99 [ vlc ])
(reg/f:SI 1 dx [196])

] 10))

(clobber (reg:CC 17 flags))

]) 2003 {*sync_compare_and_swapsi} (expr_list:REG_DEAD (reg/f:SI 1 dx [196])
(expr_list:REG_UNUSED (reg:CC 17 flags)

(nil))))

libavcodec/bitstream.c:348: confused by earlier errors, bailing out
Preprocessed source stored into /tmp/ccQuH6Sm.out file, please attach this to your bugreport.
make: * [libavcodec/bitstream.o] Error 1

Change History (9)

comment:1 by Carl Eugen Hoyos, 11 years ago

Version: unspecifiedgit-master

Please add gcc -v output.

comment:2 by Pradeep VR, 11 years ago

Hi cehoyos below is my gcc -v output:

Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.4.3-4ubuntu5.1' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --program-suffix=-4.4 --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-plugin --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i486 --with-tune=generic --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
Thread model: posix
gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5.1)

comment:3 by redxii, 11 years ago

I get a similar error in MinGW-w64 32-bit toolchain, the 64-bit toolchain doesn't produce any errors.

CC      libavcodec/binkaudio.o
CC      libavcodec/binkdsp.o
CC      libavcodec/bintext.o
CC      libavcodec/bitstream.o
libavcodec/bitstream.c: In function 'ff_init_vlc_sparse':
libavcodec/bitstream.c:348:1: error: unable to find a register to spill in class 'AREG'
libavcodec/bitstream.c:348:1: error: this is the insn:
(insn 600 599 601 93 (parallel [
            (set (reg:SI 1 dx [orig:259 D.8365 ] [259])
                (mem/v:SI (plus:SI (reg/v/f:SI 262 [ vlc ])
                        (const_int 16 [0x10])) [-1 S4 A32]))
            (set (mem/v:SI (plus:SI (reg/v/f:SI 262 [ vlc ])
                        (const_int 16 [0x10])) [-1 S4 A32])
                (unspec_volatile:SI [
                        (mem/v:SI (plus:SI (reg/v/f:SI 262 [ vlc ])
                                (const_int 16 [0x10])) [-1 S4 A32])
                        (reg/v/f:SI 262 [ vlc ])
                        (reg/f:SI 1 dx [357])
                    ] UNSPECV_CMPXCHG))
            (set (reg:CCZ 17 flags)
                (compare:CCZ (unspec_volatile:SI [
                            (mem/v:SI (plus:SI (reg/v/f:SI 262 [ vlc ])
                                    (const_int 16 [0x10])) [-1 S4 A32])
                            (reg/v/f:SI 262 [ vlc ])
                            (reg/f:SI 1 dx [357])
                        ] UNSPECV_CMPXCHG)
                    (reg/v/f:SI 262 [ vlc ])))
        ]) ./libavutil/atomic_gcc.h:57 1843 {*sync_compare_and_swapsi}
     (expr_list:REG_DEAD (reg/f:SI 1 dx [357])
        (expr_list:REG_UNUSED (reg:CCZ 17 flags)
            (nil))))
libavcodec/bitstream.c:348: confused by earlier errors, bailing out
make: *** [libavcodec/bitstream.o] Error 1

GCC -v

$ gcc -v
Reading specs from e:/buildsys/mingw/bin/../lib/gcc/i686-w64-mingw32/4.6.3/specs
COLLECT_GCC=E:\Buildsys\MinGW\bin\gcc.exe
COLLECT_LTO_WRAPPER=e:/buildsys/mingw/bin/../libexec/gcc/i686-w64-mingw32/4.6.3/lto-wrapper.exe
Target: i686-w64-mingw32
Configured with: /home/ruben/mingw-w64/src/gcc/configure --host=i686-w64-mingw32 --build=x86_64-linux-gnu --target=i686-w64-mingw32 --with-sysroot=/home/ruben/m
ingw-w64/mingw32mingw32/mingw32 --prefix=/home/ruben/mingw-w64/mingw32mingw32/mingw32 --with-gmp=/home/ruben/mingw-w64/prereq/i686-w64-mingw32/install --with-mp
fr=/home/ruben/mingw-w64/prereq/i686-w64-mingw32/install --with-mpc=/home/ruben/mingw-w64/prereq/i686-w64-mingw32/install --with-ppl=/home/ruben/mingw-w64/prere
q/i686-w64-mingw32/install --with-cloog=/home/ruben/mingw-w64/prereq/i686-w64-mingw32/install --disable-ppl-version-check --disable-cloog-version-check --enable
-cloog-backend=isl --with-host-libstdcxx='-static -lstdc++ -lm' --enable-shared --enable-static --enable-threads=win32 --enable-plugins --disable-multilib --ena
ble-languages=c,lto,c++,objc,obj-c++,fortran,java --enable-libgomp --disable-dw2-exceptions --enable-sjlj-exceptions --enable-fully-dynamic-string --enable-libs
tdcxx-time --disable-nls --disable-werror --enable-checking=release --with-gnu-as --with-gnu-ld --disable-win32-registry --disable-rpath --disable-werror --with
-libiconv-prefix=/home/ruben/mingw-w64/prereq/i686-w64-mingw32/install --with-pkgversion=rubenvb-4.6.3-2-release --with-bugurl=mingw-w64-public@lists.sourceforg
e.net CC= CFLAGS='-O2 -march=nocona -mtune=core2 -fomit-frame-pointer -momit-leaf-frame-pointer' LDFLAGS=' -Wl,--large-address-aware'
Thread model: win32
gcc version 4.6.3 (rubenvb-4.6.3-2-release)
Last edited 11 years ago by redxii (previous) (diff)

comment:4 by Carl Eugen Hoyos, 11 years ago

Component: undeterminedavcodec
Keywords: regression added
Resolution: fixed
Status: newclosed

fate claims that this was fixed in 121fc05, thank you for the report!

comment:5 by Pradeep VR, 11 years ago

Hi cehoyos still am not able to build the code, could you please help me in building it...

comment:6 by Carl Eugen Hoyos, 11 years ago

Please provide a little more information: Which version are you trying to compile, what is your configure line, how does it fail?

in reply to:  6 comment:7 by Pradeep VR, 11 years ago

Replying to cehoyos:

Please provide a little more information: Which version are you trying to compile, what is your configure line, how does it fail?

When I run version.sh file in ffmpeg root directory it shows "N-55069-g6df20d0", I think this is the version you are mentioning about.

I don't get what "configure line" means, am trying to build ffmpeg on ubuntu 10.04.

When I run make command(after configure) I get below error:

libavcodec/avpacket.c:262: warning: ‘destruct’ is deprecated (declared at libavcodec/avcodec.h:1076)
libavcodec/avpacket.c:263: warning: ‘destruct’ is deprecated (declared at libavcodec/avcodec.h:1076)
libavcodec/avpacket.c:264: warning: ‘destruct’ is deprecated (declared at libavcodec/avcodec.h:1076)
libavcodec/avpacket.c: In function ‘av_packet_merge_side_data’:
libavcodec/avpacket.c:336: warning: ‘destruct’ is deprecated (declared at libavcodec/avcodec.h:1076)
CC libavcodec/avpicture.o
CC libavcodec/avrndec.o
CC libavcodec/avs.o
CC libavcodec/avuidec.o
CC libavcodec/avuienc.o
CC libavcodec/bethsoftvideo.o
CC libavcodec/bfi.o
CC libavcodec/bgmc.o
CC libavcodec/bink.o
CC libavcodec/binkaudio.o
CC libavcodec/binkdsp.o
CC libavcodec/bintext.o
CC libavcodec/bitstream.o
libavcodec/bitstream.c: In function ‘ff_init_vlc_sparse’:
libavcodec/bitstream.c:348: error: unable to find a register to spill in class ‘AREG’
libavcodec/bitstream.c:348: error: this is the insn:
(insn 556 555 557 94 ./libavutil/atomic_gcc.h:57 (parallel [
(set (reg:SI 1 dx [orig:82 D.9034 ] [82])
(mem/v:SI (plus:SI (reg/v/f:SI 99 [ vlc ])
(const_int 16 [0x10])) [-1 S4 A32]))
(set (mem/v:SI (plus:SI (reg/v/f:SI 99 [ vlc ])
(const_int 16 [0x10])) [-1 S4 A32])
(unspec_volatile:SI [
(mem/v:SI (plus:SI (reg/v/f:SI 99 [ vlc ])
(const_int 16 [0x10])) [-1 S4 A32])
(reg/v/f:SI 99 [ vlc ])
(reg/f:SI 1 dx [196])
] 10))
(clobber (reg:CC 17 flags))
]) 2003 {*sync_compare_and_swapsi} (expr_list:REG_DEAD (reg/f:SI 1 dx [196])
(expr_list:REG_UNUSED (reg:CC 17 flags)
(nil))))
libavcodec/bitstream.c:348: confused by earlier errors, bailing out
Preprocessed source stored into /tmp/ccQuH6Sm.out file, please attach this to your bugreport.
make: * [libavcodec/bitstream.o] Error 1

comment:8 by Carl Eugen Hoyos, 11 years ago

Please update to the latest version (git head), there were approximately 100 changes including the fix for this ticket since the version you are testing.

in reply to:  8 comment:9 by Pradeep VR, 11 years ago

Replying to cehoyos:

Please update to the latest version (git head), there were approximately 100 changes including the fix for this ticket since the version you are testing.

Ok thanks a lot will checkout the latest code and let you know if its building...

Note: See TracTickets for help on using tickets.