From: Kaijun Tang <[email protected]>
To: Janne Grunau <[email protected]>
Sent: Tuesday, 20 December 2011, 9:51
Subject: Re: [libav-tools] arm cross compile fails
From: Janne Grunau <[email protected]>
To: Kaijun Tang <[email protected]>; Usage of the libav applications
<[email protected]>
Sent: Tuesday, 20 December 2011, 0:39
Subject: Re: [libav-tools] arm cross compile fails
On 2011-12-19 12:40:30 -0800, Kaijun Tang wrote:
> When I tried to build the latest libav with angstrom tool chains, I failed at
>
> |
> /home/tang/Projects/OE/build/tmp/work/armv7a-angstrom-linux-gnueabi/libav-2_0.7+gitr0+0ea5b44275aa334528eb384a6548cc9f98c50a17-r0.2/git/libavcodec/arm/aac.h:102:5:
> error: can't find a register in class 'CORE_REGS' while reloading 'asm'
> |
> /home/tang/Projects/OE/build/tmp/work/armv7a-angstrom-linux-gnueabi/libav-2_0.7+gitr0+0ea5b44275aa334528eb384a6548cc9f98c50a17-r0.2/git/libavcodec/arm/aac.h:102:5:
> error: 'asm' operand has impossible constraints
> | make: *** [libavcodec/aacdec.o] Error 1
> | make: *** Waiting for unfinished jobs....
> | + die 'oe_runmake failed'
> | + oefatal 'oe_runmake failed'
> | + echo FATAL: 'oe_runmake failed'
> | FATAL: oe_runmake failed
> | + exit 1
>
>
> Here are compiling options
> arm-angstrom-linux-gnueabi-gcc -I.
> -I/home/tang/Projects/OE/build/tmp/work/armv7a-angstrom-linux-gnueabi/libav-2_0.7+gitr0+0ea5b44275aa334528eb384a6548cc9f98c50a17-r0.2/git
>
> --sysroot=/home/tang/Projects/OE/build/tmp/sysroots/armv7a-angstrom-linux-gnueabi
> -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
> -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DPIC -DHAVE_AV_CONFIG_H -O0
> -fno-omit-frame-pointer -ggdb3 -O0 -fno-omit-frame-pointer -ggdb3
> -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp
> -mthumb-interwork -mno-thumb
> --sysroot=/home/tang/Projects/OE/build/tmp/sysroots/armv7a-angstrom-linux-gnueabi
> -mcpu=cortex-a8 -std=c99 -fPIC -marm -pthread
> -I/home/tang/Projects/OE/build/tmp/sysroots/armv7a-angstrom-linux-gnueabi/usr/include/schroedinger-1.0
>
> -I/home/tang/Projects/OE/build/tmp/sysroots/armv7a-angstrom-linux-gnueabi/usr/include/orc-0.4
> -g -Wdeclaration-after-statement -Wall -Wno-parentheses -Wno-switch
> -Wno-format-zero-length
> -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wno-pointer-sign
>-Wcast-qual -Wwrite-strings -Wtype-limits -Wundef -Wmissing-prototypes
>-Wstrict-prototypes -fno-math-errno -fno-signed-zeros -fno-tree-vectorize
>-Werror=implicit-function-declaration -Werror=missing-prototypes -MMD -MF
>libavcodec/aacdec.d -MT libavcodec/aacdec.o -c -o libavcodec/aacdec.o
>/home/tang/Projects/OE/build/tmp/work/armv7a-angstrom-linux-gnueabi/libav-2_0.7+gitr0+0ea5b44275aa334528eb384a6548cc9f98c50a17-r0.2/git/libavcodec/aacdec.c
>
> Any idea?
It's the combination of -DPIC -fPIC -O0 -fno-omit-frame-pointer in
your CFLAGS. It's beyond me why you would want to use that flags.
If you haven't set them and libav-2 is not your custom package complain
to the package maintainer. Otherwise I'll expect you to resolve such
problems yourself.
Janne
-O0 -fno-omit-frame-pointer are used for debugging. Without -DPIC -fPIC,
application fails to link againts libav share libs.
Kai
_______________________________________________
libav-tools mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-tools