• Home
  • Help
  • Search
  • Login
  • Register
Pages: [1]
Author Topic: Cross compiling FFMPEG  (Read 11620 times)
LuisAnton
Newbie
*

Karma: 0
Posts: 10


View Profile
« on: October 19, 2009, 06:04:08 AM »

I need to cross compile ffmpeg because my main application requires it to be cross compiled too.

After some Googling, I managed to get this configuration  line:

 ./configure --enable-cross-compile --cc=..../gcc/bin/arm-none-linux-gnueabi-gcc --prefix=..../arm_build_ffmpg --enable-armv5te --disable-armv6

where ...... are my required paths. I disabled armv6 just in case, and I chosed armv5te because it was everywhere in these forums if I looked for armv Smiley

Then, when I run make, it starts compiling until I get this error:

libavformat/aviobuf.c: In function 'dyn_packet_buf_write':
./libavutil/x86/bswap.h:44: error: invalid 'asm': invalid operand for code 'w'
./libavutil/x86/bswap.h:44: error: invalid 'asm': invalid operand for code 'w'

Has anyone cross-compiled ffmpeg?

EDIT: I just found this link which points to a possible explanation...

http://nerdland.net/unstumping-the-internet/invalid-operand-for-code-w/

EDIT: I get even further adding --arch=arm

./configure --enable-cross-compile --arch=arm --cc=..../gcc/bin/arm-none-linux-gnueabi-gcc --prefix=..../arm_build_ffmpg --enable-armv5te --disable-armv6

but then I get this error, which is even uglier

libavcodec/mpegaudiodec.c: In function 'huffman_decode':
libavcodec/mpegaudiodec.c:1598: 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.

Still not working... Sad
« Last Edit: October 19, 2009, 06:26:37 AM by LuisAnton » Logged

LuisAnton
Newbie
*

Karma: 0
Posts: 10


View Profile
« Reply #1 on: October 19, 2009, 06:47:58 AM »

I managed to get rid of the 'internal consistency failure' disabling optimizations. But then I get

strip ffmpeg
strip: Unable to recognise the format of the input file `ffmpeg'

which I simply do not understand.

EDIT: It seems that I should be using arm-none-linux-gnueabi-strip, instead of my laptop's strip. I'll check that.

This is a one man thread! Cheesy
« Last Edit: October 19, 2009, 06:50:43 AM by LuisAnton » Logged

LuisAnton
Newbie
*

Karma: 0
Posts: 10


View Profile
« Reply #2 on: October 19, 2009, 06:57:17 AM »

And I finally answer myself. This is the required configuration:

./configure --enable-cross-compile --cross-prefix=..../gcc/bin/arm-none-linux-gnueabi- --arch=arm --cc=..../gcc/bin/arm-none-linux-gnueabi-gcc --prefix=..../arm_build_ffmpg --enable-armv5te --disable-armv6 --disable-mmx --enable-shared --disable-optimizations

The cross-prefix was needed in order to use the correct strip Smiley
Logged

littlebigman
Newbie
*

Karma: 0
Posts: 40


View Profile
« Reply #3 on: April 07, 2013, 03:19:42 PM »

Hello

What toolchain did you use to cross-compile ffmpeg for the SheevaPlug?

Thank you.
Logged

Pages: [1]
Print
Jump to: