[FFmpeg-trac] #1794(avcodec:new): Can't cross-compile on Intel for ARM target with zmbvenc enabled
FFmpeg
trac at avcodec.org
Tue Oct 9 15:33:59 CEST 2012
#1794: Can't cross-compile on Intel for ARM target with zmbvenc enabled
-------------------------------------+-------------------------------------
Reporter: patters | Type: defect
Status: new | Priority: normal
Component: avcodec | Version: git-
Keywords: zmbvenc | master
cross-compile ARM | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
I just checked this with the latest nightly source bz2 file and it's still
a problem. I am compiling on a Ubuntu Desktop 12. I'm compiling for
Synology NAS embedded systems that have multiple CPU architectures, using
their various GCC toolchains available here:
[http://sourceforge.net/projects/dsgpl/files/DSM%204.1%20Tool%20Chains/]
Cross-compiling using their Intel toolchain is fine, so is cross-compiling
for PowerPC-SPE (QorIQ). Only cross-compiling for ARM exhibits this
problem (native compile is actually ok), and the issue can be circumvented
by disabling the zmbv encoder at the configure stage.
Here is the error output:
{{{
...
CC libavcodec/xwddec.o
CC libavcodec/xwdenc.o
CC libavcodec/xxan.o
CC libavcodec/y41pdec.o
CC libavcodec/y41penc.o
CC libavcodec/yop.o
CC libavcodec/yuv4dec.o
CC libavcodec/yuv4enc.o
CC libavcodec/zerocodec.o
CC libavcodec/zmbv.o
CC libavcodec/zmbvenc.o
libavcodec/zmbvenc.c: In function 'encode_frame':
libavcodec/zmbvenc.c:252: internal compiler error: internal consistency
failure
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
make: *** [libavcodec/zmbvenc.o] Error 1
}}}
Here's how I'm building:
{{{
cd ~/Downloads
wget
"http://sourceforge.net/projects/dsgpl/files/DSM%204.1%20Tool%20Chains/Marvell%2088F628x%20Linux%202.6.32/gcc421_glibc25_88f6281-GPL.tgz"
tar xvzf gcc421_glibc25_88f6281-GPL.tgz
sudo mv arm-none-linux-gnueabi /usr/local
export TOOLCHAIN=/usr/local/arm-none-linux-gnueabi
export AR=${TOOLCHAIN}/bin/arm-none-linux-gnueabi-ar
export CC=${TOOLCHAIN}/bin/arm-none-linux-gnueabi-gcc
export CXX=${TOOLCHAIN}/bin/arm-none-linux-gnueabi-g++
export LD=${TOOLCHAIN}/bin/arm-none-linux-gnueabi-ld
export RANLIB=${TOOLCHAIN}/bin/arm-none-linux-gnueabi-ranlib
export CFLAGS="-I${TOOLCHAIN}/include"
export LDFLAGS="-L${TOOLCHAIN}/lib"
export PKG_CONFIG_PATH="${TOOLCHAIN}/lib/pkgconfig"
#-----fixed point maths modification for mpeg audio encoder
sed -i "s/^#define USE_FLOATS//" libavcodec/mpegaudioenc.c
./configure --arch=arm --cpu=armv5te --enable-cross-compile --cross-
prefix=${TOOLCHAIN}/bin/arm-none-linux-gnueabi- --target-os=linux
--prefix=${TOOLCHAIN} --extra-cflags='-I${TOOLCHAIN}/include' --extra-
ldflags='-L/tmp/lib' --enable-static --disable-shared --disable-ffplay
--disable-ffserver --enable-pthreads
make
}}}
Here's the toolchain's compiler version info:
{{{
Using built-in specs.
Target: arm-none-linux-gnueabi
Configured with: /home/slava/toolchain_build/crosstool/build/arm-none-
linux-gnueabi/gcc-4.2-glibc-2.5/gcc-4.2/configure --target=arm-none-linux-
gnueabi --host=i686-host_pc-linux-gnu
--prefix=/home/slava/toolchain_build/crosstool/install/gcc-4.2-glibc-2.5
/arm-none-linux-gnueabi --with-tune=marvell-f --with-
sysroot=/home/slava/toolchain_build/crosstool/install/gcc-4.2-glibc-2.5
/arm-none-linux-gnueabi/arm-none-linux-gnueabi/libc --with-local-
prefix=/home/slava/toolchain_build/crosstool/install/gcc-4.2-glibc-2.5
/arm-none-linux-gnueabi/arm-none-linux-gnueabi/libc --disable-nls
--enable-threads --with-gnu-as --with-gnu-ld --enable-symvers=gnu
--enable-__cxa_atexit --enable-languages=c,c++ --enable-shared --with-
versuffix=CodeSourcery 2007q3-51, Marvell SoC SDK 2.1 --enable-multilib
--disable-libmudflap --disable-libssp --disable-libgomp --disable-
libstdcxx-pch
Thread model: posix
gcc version 4.2.1
}}}
--
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1794>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list