Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2 1/1] package/ffmpeg: Disable rtmpdump support when PolarSSL is enabled
@ 2015-10-15 19:55 Bernd Kuhls
  2015-10-15 22:02 ` Thomas Petazzoni
  0 siblings, 1 reply; 3+ messages in thread
From: Bernd Kuhls @ 2015-10-15 19:55 UTC (permalink / raw)
  To: buildroot

Using rtmpdump with PolarSSL breaks ffmpeg configure:
/home/test/autobuild/instance-1/output/host/usr/mips64el-buildroot-linux-gnu/sysroot/usr/lib/librtmp.so: undefined reference to `havege_random'
/home/test/autobuild/instance-1/output/host/usr/mips64el-buildroot-linux-gnu/sysroot/usr/lib/librtmp.so: undefined reference to `havege_init'

This problem could be fixed by enabling POLARSSL_HAVEGE_C:
http://freetz.org/browser/trunk/make/libs/polarssl/patches/050-activate-havege-random-generator-needed-by-rtmpdump.polarssl.patch?rev=10797

This option is however accompanied by a warning in
include/polarssl/config.h:

 * Warning: the HAVEGE random generator is dependent on timing and specific
 *          processor traits. It is therefore not advised to use HAVEGE as
 *          your applications primary random generator or primary entropy pool
 *          input. As a secondary input to your entropy pool, it IS able add
 *          the (limited) extra entropy it provides.

Since rtmpdump is not a vital part of ffmpeg it is save to disable
rtmpdump support when PolarSSL is used.

Fixes
http://autobuild.buildroot.net/results/ae0/ae0c4bab7975ed2ad77a9f9fd6a300d1327d56b9/
http://autobuild.buildroot.net/results/45d/45dd9adbac449ce0ed66af5b4655b4d9b37faa62/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
v2: fix rtmpdump/PolarSSL detection (Yann)

 package/ffmpeg/ffmpeg.mk | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/package/ffmpeg/ffmpeg.mk b/package/ffmpeg/ffmpeg.mk
index f361970..c37a8ac 100644
--- a/package/ffmpeg/ffmpeg.mk
+++ b/package/ffmpeg/ffmpeg.mk
@@ -246,7 +246,8 @@ else
 FFMPEG_CONF_OPTS += --disable-libbluray
 endif
 
-ifeq ($(BR2_PACKAGE_RTMPDUMP),y)
+# rtmpdump is broken with polarssl
+ifeq ($(BR2_PACKAGE_RTMPDUMP):$(BR2_PACKAGE_POLARSSL),y:)
 FFMPEG_CONF_OPTS += --enable-librtmp
 FFMPEG_DEPENDENCIES += rtmpdump
 else
-- 
2.6.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [Buildroot] [PATCH v2 1/1] package/ffmpeg: Disable rtmpdump support when PolarSSL is enabled
  2015-10-15 19:55 [Buildroot] [PATCH v2 1/1] package/ffmpeg: Disable rtmpdump support when PolarSSL is enabled Bernd Kuhls
@ 2015-10-15 22:02 ` Thomas Petazzoni
  2015-10-15 22:28   ` Gustavo Zacarias
  0 siblings, 1 reply; 3+ messages in thread
From: Thomas Petazzoni @ 2015-10-15 22:02 UTC (permalink / raw)
  To: buildroot

Dear Bernd Kuhls,

On Thu, 15 Oct 2015 21:55:21 +0200, Bernd Kuhls wrote:
> Using rtmpdump with PolarSSL breaks ffmpeg configure:
> /home/test/autobuild/instance-1/output/host/usr/mips64el-buildroot-linux-gnu/sysroot/usr/lib/librtmp.so: undefined reference to `havege_random'
> /home/test/autobuild/instance-1/output/host/usr/mips64el-buildroot-linux-gnu/sysroot/usr/lib/librtmp.so: undefined reference to `havege_init'

This indicates that polarssl doesn't provide all the symbols needed by
librtmp.

So the problem should not be fixed at the ffmpeg level, but at the
librtmp level: any other package that will try to link with librtmp
will have the same issue.


> diff --git a/package/ffmpeg/ffmpeg.mk b/package/ffmpeg/ffmpeg.mk
> index f361970..c37a8ac 100644
> --- a/package/ffmpeg/ffmpeg.mk
> +++ b/package/ffmpeg/ffmpeg.mk
> @@ -246,7 +246,8 @@ else
>  FFMPEG_CONF_OPTS += --disable-libbluray
>  endif
>  
> -ifeq ($(BR2_PACKAGE_RTMPDUMP),y)
> +# rtmpdump is broken with polarssl
> +ifeq ($(BR2_PACKAGE_RTMPDUMP):$(BR2_PACKAGE_POLARSSL),y:)
>  FFMPEG_CONF_OPTS += --enable-librtmp
>  FFMPEG_DEPENDENCIES += rtmpdump
>  else

The fix should be done in rtmpdump.mk, by disabling the possibility of
using polarssl as the crypto library. I guess it has to do with the API
change of PolarSSL (Gustavo ?).

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Buildroot] [PATCH v2 1/1] package/ffmpeg: Disable rtmpdump support when PolarSSL is enabled
  2015-10-15 22:02 ` Thomas Petazzoni
@ 2015-10-15 22:28   ` Gustavo Zacarias
  0 siblings, 0 replies; 3+ messages in thread
From: Gustavo Zacarias @ 2015-10-15 22:28 UTC (permalink / raw)
  To: buildroot

On 15/10/15 19:02, Thomas Petazzoni wrote:

> Dear Bernd Kuhls,
>
> On Thu, 15 Oct 2015 21:55:21 +0200, Bernd Kuhls wrote:
>> Using rtmpdump with PolarSSL breaks ffmpeg configure:
>> /home/test/autobuild/instance-1/output/host/usr/mips64el-buildroot-linux-gnu/sysroot/usr/lib/librtmp.so: undefined reference to `havege_random'
>> /home/test/autobuild/instance-1/output/host/usr/mips64el-buildroot-linux-gnu/sysroot/usr/lib/librtmp.so: undefined reference to `havege_init'
>
> This indicates that polarssl doesn't provide all the symbols needed by
> librtmp.
>
> So the problem should not be fixed at the ffmpeg level, but at the
> librtmp level: any other package that will try to link with librtmp
> will have the same issue.

Hi Thomas, definitely...

> The fix should be done in rtmpdump.mk, by disabling the possibility of
> using polarssl as the crypto library. I guess it has to do with the API
> change of PolarSSL (Gustavo ?).

Those are part of the 1.2 API so no issues there.
However rtmpdump has severe issues with it's Makefile and the resulting 
librtmp.pc.
librtmp.pc.in says:

Requires: @CRYPTO_REQ@

The Makefile says (condensed):

CRYPTO=OPENSSL
#CRYPTO=GNUTLS
...
REQ_GNUTLS=gnutls,hogweed,nettle
REQ_OPENSSL=libssl,libcrypto
...
CRYPTO_REQ=$(REQ_$(CRYPTO))

Hence polarssl is never thrown into the pkgconfig fail, hence it will 
always fail.

So, as it is, rtmpdump is useless with polarssl even if it builds with 
it, so your fix is the right one unless rtmpdump is fixed.

Regards.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-10-15 22:28 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-15 19:55 [Buildroot] [PATCH v2 1/1] package/ffmpeg: Disable rtmpdump support when PolarSSL is enabled Bernd Kuhls
2015-10-15 22:02 ` Thomas Petazzoni
2015-10-15 22:28   ` Gustavo Zacarias

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox