[FFmpeg-user] Compile ffmpeg on mips-qemu
Martin Vignali
martin.vignali at gmail.com
Fri Jul 1 14:39:28 CEST 2016
2016-06-30 23:33 GMT+02:00 Carl Eugen Hoyos <cehoyos at ag.or.at>:
> Martin Vignali <martin.vignali <at> gmail.com> writes:
>
> > Configure result :
> > ./configure --arch=mips64 --prefix=../build --disable-ffplay
> > --disable-ffprobe --disable-ffserver --enable-zlib --disable-asm
> > --disable-videotoolbox --disable-audiotoolbox --disable-vda
> > --disable-everything --enable-demuxer=image2 --enable-muxer=framecrc
> > --disable-decoders --enable-decoder=exr --enable-protocol=file
> > --enable-protocol=pipe --enable-encoder=rawvideo --disable-doc
> > --extra-ldflags=-static
>
> --disable-videotoolbox --disable-audiotoolbox --disable-vda and
> --enable-zlib have no effect and make reading the other options
> more difficult (that's how I missed --disable-asm).
>
> I compile inside qemu, so no cross-compile
I try, without the static, and whitout the arch
./configure --prefix=../build --disable-ffplay --disable-ffprobe
--disable-ffserver --disable-asm --disable-everything
--enable-demuxer=image2 --enable-muxer=framecrc --disable-decoders
--enable-decoder=exr --enable-protocol=file --enable-protocol=pipe
--enable-encoder=rawvideo --disable-doc
install prefix ../build
source path .
C compiler gcc
C library glibc
ARCH c (generic)
big-endian yes
runtime cpu detection 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 no
threading support pthreads
safe bitstream reader yes
SDL support no
opencl enabled no
JNI support no
texi2html enabled no
perl enabled yes
pod2man enabled yes
makeinfo enabled yes
makeinfo supports HTML no
Enabled programs:
ffmpeg
External libraries:
iconv zlib
External libraries providing hardware acceleration:
Libraries:
avcodec avformat swresample
avdevice avutil swscale
avfilter
Enabled decoders:
exr
Enabled encoders:
rawvideo
Enabled hwaccels:
Enabled parsers:
Enabled demuxers:
image2
Enabled muxers:
framecrc
Enabled protocols:
file pipe
Enabled filters:
aformat format setpts
anull null trim
atrim
Enabled bsfs:
Enabled indevs:
Enabled outdevs:
License: LGPL version 2.1 or later
Creating config.mak, config.h, and doc/config.texi...
libavutil/avconfig.h is unchanged
WARNING: pkg-config not found, library detection may fail.
WARNING: generic cpu selected
libavcodec/bsf_list.c is unchanged
libavformat/protocol_list.c is unchanged
==> Still have Illegal instruction, when lauching ffmpeg
> Is this a cross- or a native compiler?
>
Is the compiler able to produce non-crashing executables
> with the compiler options used here? (Use make V=1 ffmpeg.o
> to show the used options.)
>
==> Not sure i understand this part.
I run make V=1 ffmpeg.o
This is the result :
make V=1 ffmpeg.o
gcc -I. -I./ -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DZLIB_CONST -std=c99
-fomit-frame-pointer -mips32r2 -mhard-float -mfp64 -mdsp -mdspr2 -pthread
-g -Wdeclaration-after-statement -Wall -Wdisabled-optimization
-Wpointer-arith -Wredundant-decls -Wwrite-strings -Wtype-limits -Wundef
-Wmissing-prototypes -Wno-pointer-to-int-cast -Wstrict-prototypes
-Wempty-body -Wno-parentheses -Wno-switch -Wno-format-zero-length
-Wno-pointer-sign -O3 -fno-math-errno -fno-signed-zeros -fno-tree-vectorize
-Werror=format-security -Werror=implicit-function-declaration
-Werror=missing-prototypes -Werror=return-type -Werror=vla -Wformat -MMD
-MF ffmpeg.d -MT ffmpeg.o -c -o ffmpeg.o ffmpeg.c
I try to compile, a simple hello world program, with the same kind of line
:
gcc -I. -I./ -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DZLIB_CONST -std=c99
-fomit-frame-pointer -mips32r2 -mhard-float -mfp64 -mdsp -mdspr2 -pthread
-g -Wdeclaration-after-statement -Wall -Wdisabled-optimization
-Wpointer-arith -Wredundant-decls -Wwrite-strings -Wtype-limits -Wundef
-Wmissing-prototypes -Wno-pointer-to-int-cast -Wstrict-prototypes
-Wempty-body -Wno-parentheses -Wno-switch -Wno-format-zero-length
-Wno-pointer-sign -O3 -fno-math-errno -fno-signed-zeros -fno-tree-vectorize
-Werror=format-security -Werror=implicit-function-declaration
-Werror=missing-prototypes -Werror=return-type -Werror=vla -Wformat -MMD
-MF main.d -MT main.o -c -o main.o main.c
gcc main.o -o executable
/usr/bin/ld: Warning: executable uses -msingle-float, main.o uses -mips32r2
-mfp64
If i launch this basic program, it's work.
> Why do you need -static? Is it unavoidable?
>
> If this is not a cross-compiler, --arch may (or will?) cause
> issues.
>
Martin
More information about the ffmpeg-user
mailing list