Re: [FFmpeg-user] ffmpeg cross compile error

2019-07-24 Thread Thomas Schmiedl

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

2019-07-24 Thread 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)
[...]
> 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-04 Thread Carl Eugen Hoyos
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 Thread Carl Eugen Hoyos
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

2018-05-14 Thread Tobias Rapp

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

2018-05-14 Thread Moritz Barsnick
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

2018-05-14 Thread Thomas Schmiedl

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".