Re: [FFmpeg-user] ffmpeg cross compile error
Thanks Moritz, it works now. Am 24.07.2019 um 16:04 schrieb Moritz Barsnick: On Wed, Jul 24, 2019 at 15:28:04 +0200, Thomas Schmiedl wrote: Hello, I try to cross compile ffmpeg (git) using this toolchain https://freetz.github.io/ for a MIPS-based router. My goal is to extract a single image from this mjpeg-webcam-stream http://gwm.ccshpraha.cz:8087/. Attached are the make output and config.log (contains the configure parameters) [...] CC libavdevice/alldevices.o In file included from /home/user/freetz/toolchain/build/mips_gcc-5.5.0_uClibc-1.0.14-nptl_kernel-3.10/mips-linux-uclibc/include/stdlib.h:32:0, from /home/user/freetz/toolchain/build/mips_gcc-5.5.0_uClibc-1.0.14-nptl_kernel-3.10/mips-linux-uclibc/include/bits/sched.h:116, from /home/user/freetz/toolchain/build/mips_gcc-5.5.0_uClibc-1.0.14-nptl_kernel-3.10/mips-linux-uclibc/include/sched.h:34, from /home/user/freetz/toolchain/build/mips_gcc-5.5.0_uClibc-1.0.14-nptl_kernel-3.10/mips-linux-uclibc/include/pthread.h:24, from ./libavutil/thread.h:30, from libavdevice/alldevices.c:22: ./config.h:17:19: error: expected identifier or '(' before 'void' #define getenv(x) NULL ^ ./config.h:17:19: error: expected ')' before numeric constant #define getenv(x) NULL ^ In file included from ./libavutil/internal.h:176:0, from ./libavutil/common.h:491, from ./libavutil/avutil.h:296, from ./libavutil/samplefmt.h:24, from ./libavcodec/avcodec.h:31, from ./libavformat/avformat.h:317, from ./libavformat/internal.h:27, from libavdevice/alldevices.c:23: ./libavutil/libm.h:54:32: error: static declaration of 'cbrt' follows non-static declaration static av_always_inline double cbrt(double x) ^ This looks like this: https://github.com/openwrt/packages/issues/6735 and the workaround seems to be adding "--cpu=". See https://github.com/openwrt/packages/pull/6743/commits/8067051bfc99f48d02aec52265fc9b78f8e60dee I don't know if there's a real bug in ffmpeg's source here. This here: ./config.h:17:19: error: expected identifier or '(' before 'void' #define getenv(x) NULL indicates that the NULL macro is different on MIPS, and ffmpeg's macro might have to be: #define getenv(x) (NULL) just in case?? Moritz ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe". ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] ffmpeg cross compile error
On Wed, Jul 24, 2019 at 15:28:04 +0200, Thomas Schmiedl wrote: > Hello, > > I try to cross compile ffmpeg (git) using this toolchain > https://freetz.github.io/ for a MIPS-based router. My goal is to extract > a single image from this mjpeg-webcam-stream > http://gwm.ccshpraha.cz:8087/. Attached are the make output and > config.log (contains the configure parameters) [...] > CClibavdevice/alldevices.o > In file included from > /home/user/freetz/toolchain/build/mips_gcc-5.5.0_uClibc-1.0.14-nptl_kernel-3.10/mips-linux-uclibc/include/stdlib.h:32:0, > from > /home/user/freetz/toolchain/build/mips_gcc-5.5.0_uClibc-1.0.14-nptl_kernel-3.10/mips-linux-uclibc/include/bits/sched.h:116, > from > /home/user/freetz/toolchain/build/mips_gcc-5.5.0_uClibc-1.0.14-nptl_kernel-3.10/mips-linux-uclibc/include/sched.h:34, > from > /home/user/freetz/toolchain/build/mips_gcc-5.5.0_uClibc-1.0.14-nptl_kernel-3.10/mips-linux-uclibc/include/pthread.h:24, > from ./libavutil/thread.h:30, > from libavdevice/alldevices.c:22: > ./config.h:17:19: error: expected identifier or '(' before 'void' > #define getenv(x) NULL >^ > ./config.h:17:19: error: expected ')' before numeric constant > #define getenv(x) NULL >^ > In file included from ./libavutil/internal.h:176:0, > from ./libavutil/common.h:491, > from ./libavutil/avutil.h:296, > from ./libavutil/samplefmt.h:24, > from ./libavcodec/avcodec.h:31, > from ./libavformat/avformat.h:317, > from ./libavformat/internal.h:27, > from libavdevice/alldevices.c:23: > ./libavutil/libm.h:54:32: error: static declaration of 'cbrt' follows > non-static declaration > static av_always_inline double cbrt(double x) > ^ This looks like this: https://github.com/openwrt/packages/issues/6735 and the workaround seems to be adding "--cpu=". See https://github.com/openwrt/packages/pull/6743/commits/8067051bfc99f48d02aec52265fc9b78f8e60dee I don't know if there's a real bug in ffmpeg's source here. This here: > ./config.h:17:19: error: expected identifier or '(' before 'void' > #define getenv(x) NULL indicates that the NULL macro is different on MIPS, and ffmpeg's macro might have to be: > #define getenv(x) (NULL) just in case?? Moritz ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] ffmpeg cross compile error
2018-06-03 21:25 GMT+02:00, Rafael Lima : > I'm trying to cross-compile ffmpeg for android and i'm not linux/compiler > specialist so far i've spent 10 days with much effort in order to prepare > all the dependencies i need to the job > --target-os=linux \ This looks wrong. > however i'm 100% sure about the required libs being correclty compiled and > instaled under ${PREFIX} i keep getting the message: > > ERROR: libfdk_aac not found Is this the only message you see or is there something else printed? Carl Eugen ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] ffmpeg cross-compile
2018-05-14 12:28 GMT+02:00, Thomas Schmiedl: > I tested with ffmpeg-4.0.tar.bz2 Please remember that only current FFmpeg git head is supported here. > I got this error: 'ERROR: libxml-2.0 not found using pkg-config'. The reason is apparently that FFmpeg cannot know in advance where the necessary headers are installed. I will likely send a patch that would fix the issue for you (with --extra-cflags=/path/to/libxml) but there is a high chance that it will be rejected: Building for less common systems is unfortunately not welcome;-( My suggestion is you simply patch away the check from configure or edit config.h and config.mak after running configure to enable libxml2 and add the necessary path. Carl Eugen ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] ffmpeg cross-compile
On 14.05.2018 15:33, Moritz Barsnick wrote: On Mon, May 14, 2018 at 12:28:13 +0200, Thomas Schmiedl wrote: I'm only an end-user, maybe someone could help me? Perhaps someone at the freetz site? I got this error: 'ERROR: libxml-2.0 not found using pkg-config'. But the freetz-toolchain does not contain pkg-config. Is it possible to use pkg-config from the Debian 9 host system? Hmm, this file from freetz at least mentions the pkg-config file: https://github.com/Freetz/freetz/blob/c763e9066d06d21bcd815e15b3f8fa494b3b2007/make/libs/libxml2/libxml2.mk But yes, if you know hwo pkg-config works, you can easily "fake" a libxml-2.0.pc file and have ffmpeg use it. When calling ffmpeg's configure without '--enable-libxml2', there is no pkg-config error. But a warning: 'mips-linux-pkg-config not found, library detection may fail.' Hmm, that means you don't have a pkg-config tool for cross build either? I would also fake this, but there may be a better way. On Ubuntu there is a package "pkg-config-mips-linux-gnu" which provides /usr/bin/mips-linux-gnu-pkg-config (actually just a symlink to /usr/share/pkg-config-crosswrapper). Don't know how this is handled on Debian. Regards, Tobias ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] ffmpeg cross-compile
On Mon, May 14, 2018 at 12:28:13 +0200, Thomas Schmiedl wrote: > I'm only an end-user, maybe someone could help me? Perhaps someone at the freetz site? > I got this error: 'ERROR: libxml-2.0 not found using pkg-config'. But > the freetz-toolchain does not contain pkg-config. Is it possible to use > pkg-config from the Debian 9 host system? Hmm, this file from freetz at least mentions the pkg-config file: https://github.com/Freetz/freetz/blob/c763e9066d06d21bcd815e15b3f8fa494b3b2007/make/libs/libxml2/libxml2.mk But yes, if you know hwo pkg-config works, you can easily "fake" a libxml-2.0.pc file and have ffmpeg use it. > When calling ffmpeg's configure without '--enable-libxml2', there is no > pkg-config error. But a warning: 'mips-linux-pkg-config not found, > library detection may fail.' Hmm, that means you don't have a pkg-config tool for cross build either? I would also fake this, but there may be a better way. Moritz ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-user] ffmpeg cross-compile
Hello, I try to cross-compile ffmpeg for my router using this toolchain https://github.com/Freetz/freetz. It is an alternative firmware for AVM routers (https://web.archive.org/web/20171105112501/http://freetz.org:80/wiki/help/howtos/common/newbie.en). I need support for 'https' and 'dash' (libxml2). I tested with ffmpeg-4.0.tar.bz2, libxml2-2.9.8.tar.gz and openssl-1.0.2o.tar.gz. openssl: ./configure --host=mips-linux-gnu --target=mips-linux CC=mips-linux-gcc AR=mips-linux-ar LD=mips-linux-ld RANLIB=mips-linux-ranlib --prefix=/home/user/ffmpeg-mips --without-zlib --without-python make make install libxml2: ./Configure linux-generic32 shared --cross-compile-prefix=mips-linux- --prefix=/home/user/ffmpeg-mips make make install ffmpeg: ./configure --prefix=/home/user/ffmpeg-mips --enable-cross-compile --cross-prefix=mips-linux- --arch=mips --target-os=linux --enable-openssl --enable-libxml2 --extra-cflags='-I/home/user/ffmpeg-mips/include -Wl,-rpath=/home/user/ffmpeg-mips/lib' --extra-ldflags='-L/home/user/ffmpeg-mips/lib -Wl,-rpath=/home/user/ffmpeg-mips/lib' --extra-cxxflags='-I/home/user/ffmpeg-mips/include -Wl,-rpath=/home/user/ffmpeg-mips/lib' --disable-mips32r2 --disable-mipsdsp --disable-mipsdspr2 --disable-mipsfpu I got this error: 'ERROR: libxml-2.0 not found using pkg-config'. But the freetz-toolchain does not contain pkg-config. Is it possible to use pkg-config from the Debian 9 host system? When calling ffmpeg's configure without '--enable-libxml2', there is no pkg-config error. But a warning: 'mips-linux-pkg-config not found, library detection may fail.' I'm only an end-user, maybe someone could help me? Thanks, Thomas ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".