diff mbox

ffmpeg: disable for mips64r2 and mips64r6

Message ID 1464192852-53397-1-git-send-email-Vincent.Riera@imgtec.com
State Superseded
Headers show

Commit Message

Vicente Olivert Riera May 25, 2016, 4:14 p.m. UTC
MIPS architecture detection is not accurate and is always detected as
mips64 even if we are using mips64r2 or mips64r6. Due to that, ffmpeg's
build system will pass the -mips64 flag which will conflict with the
-march option that our toolchain wrapper uses, and it will fail to build
showing errors like this one:

error: '-mips64' conflicts with the other architecture options, which
specify a mips64r2 processor

This problem has been already fixed upstream, but we would need to
backport 17 patches plus some changes in the ffmpeg.mk file. This is too
much, so better to just disable ffmpeg for mips64r2 and mips64r6 for the
upcoming Buildroot release.

This commit can be reverted in the next ffmpeg's version bump.

Fixes:

  http://autobuild.buildroot.net/results/7fd/7fd8187c0110cdcac622e667f4a81d2db84f11ef/

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
---
 package/ffmpeg/Config.in | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Bernd Kuhls May 26, 2016, 5:26 a.m. UTC | #1
Hi,

Am Wed, 25 May 2016 17:14:12 +0100 schrieb Vicente Olivert Riera:

> This commit can be reverted in the next ffmpeg's version bump.

[...]
> +	# MIPS architecture detection is not accurate for 64-bit
> +	# variants. This has been already fixed upstream, so please
> +	# remove it in the next version bump.
> +	depends on !BR2_mips_64r2 && !BR2_mips_64r6

you need to propagate this exception as reverse dependency to the following packages:

- gst1-libav
- kodi
- minidlna
- mpd
- mpv
- opencv
- opencv3
- squeezelite
- tovid

Imho this is too much work, we should live with the build error and
bump ffmpeg to 3.0.2 after the next buildroot release to fix the
problem. On github you can test my patch series already:

https://github.com/bkuhls/buildroot/tree/ffmpeg3

The main problem is that vlc 2.2.x is incompatible with ffmpeg3, only
vlc master branch works, this branch will be released as vlc 3.0
sometime in the future. We would carry a pre-released version of vlc
in buildroot, which is something we want to avoid if possible.

Before the ffmpeg 3 vs. vlc problem arose I thought we could remove
the vlc warning in its Config.in:
https://git.busybox.net/buildroot/tree/package/vlc/Config.in#n2

When bumping to a pre-release version we should keep it ;)

Regards, Bernd
Vicente Olivert Riera May 26, 2016, 9:36 a.m. UTC | #2
Hello Bernd,

On 26/05/16 06:26, Bernd Kuhls wrote:
> Hi,
> 
> Am Wed, 25 May 2016 17:14:12 +0100 schrieb Vicente Olivert Riera:
> 
>> This commit can be reverted in the next ffmpeg's version bump.
> 
> [...]
>> +	# MIPS architecture detection is not accurate for 64-bit
>> +	# variants. This has been already fixed upstream, so please
>> +	# remove it in the next version bump.
>> +	depends on !BR2_mips_64r2 && !BR2_mips_64r6
> 
> you need to propagate this exception as reverse dependency to the following packages:
> 
> - gst1-libav
> - kodi
> - minidlna
> - mpd
> - mpv
> - opencv
> - opencv3
> - squeezelite
> - tovid
> 
> Imho this is too much work, we should live with the build error and
> bump ffmpeg to 3.0.2 after the next buildroot release to fix the
> problem. On github you can test my patch series already:
> 
> https://github.com/bkuhls/buildroot/tree/ffmpeg3

I can mark this patch as rejected and live with the build error by now.

> The main problem is that vlc 2.2.x is incompatible with ffmpeg3, only
> vlc master branch works, this branch will be released as vlc 3.0
> sometime in the future. We would carry a pre-released version of vlc
> in buildroot, which is something we want to avoid if possible.
> 
> Before the ffmpeg 3 vs. vlc problem arose I thought we could remove
> the vlc warning in its Config.in:
> https://git.busybox.net/buildroot/tree/package/vlc/Config.in#n2
> 
> When bumping to a pre-release version we should keep it ;)

I was wondering why you marked as superseded your patches to bump ffmpeg.

Ok, then let's wait.

Regards,

Vincent.

> Regards, Bernd
> 
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
>
Thomas Petazzoni May 26, 2016, 2:48 p.m. UTC | #3
Hello,

On Thu, 26 May 2016 07:26:26 +0200, Bernd Kuhls wrote:

> > +	# MIPS architecture detection is not accurate for 64-bit
> > +	# variants. This has been already fixed upstream, so please
> > +	# remove it in the next version bump.
> > +	depends on !BR2_mips_64r2 && !BR2_mips_64r6  
> 
> you need to propagate this exception as reverse dependency to the following packages:
> 
> - gst1-libav
> - kodi
> - minidlna
> - mpd
> - mpv
> - opencv
> - opencv3
> - squeezelite
> - tovid
> 
> Imho this is too much work, we should live with the build error and
> bump ffmpeg to 3.0.2 after the next buildroot release to fix the
> problem. On github you can test my patch series already:

ffmpeg already has an architecture exception for nios2. So we could
also replace that with a BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS option, and
therefore easily add the exception for mips64r2/r6.

We're down to very few build failures per day, so I would really like
to get this issue out of the way, and see what other failures we have.
ffmpeg on mips64r2/r6 is now the #1 failure.

Thomas
Vicente Olivert Riera May 26, 2016, 3:55 p.m. UTC | #4
Hello Thomas,

On 26/05/16 15:48, Thomas Petazzoni wrote:
> Hello,
> 
> On Thu, 26 May 2016 07:26:26 +0200, Bernd Kuhls wrote:
> 
>>> +	# MIPS architecture detection is not accurate for 64-bit
>>> +	# variants. This has been already fixed upstream, so please
>>> +	# remove it in the next version bump.
>>> +	depends on !BR2_mips_64r2 && !BR2_mips_64r6  
>>
>> you need to propagate this exception as reverse dependency to the following packages:
>>
>> - gst1-libav
>> - kodi
>> - minidlna
>> - mpd
>> - mpv
>> - opencv
>> - opencv3
>> - squeezelite
>> - tovid
>>
>> Imho this is too much work, we should live with the build error and
>> bump ffmpeg to 3.0.2 after the next buildroot release to fix the
>> problem. On github you can test my patch series already:
> 
> ffmpeg already has an architecture exception for nios2. So we could
> also replace that with a BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS option, and
> therefore easily add the exception for mips64r2/r6.

Done and marked this patch as superseded.

Regards,

Vincent.

> We're down to very few build failures per day, so I would really like
> to get this issue out of the way, and see what other failures we have.
> ffmpeg on mips64r2/r6 is now the #1 failure.
> 
> Thomas
>
diff mbox

Patch

diff --git a/package/ffmpeg/Config.in b/package/ffmpeg/Config.in
index a273aea..debef0a 100644
--- a/package/ffmpeg/Config.in
+++ b/package/ffmpeg/Config.in
@@ -2,6 +2,10 @@  menuconfig BR2_PACKAGE_FFMPEG
 	bool "ffmpeg"
 	# fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW on nios2
 	depends on !BR2_nios2
+	# MIPS architecture detection is not accurate for 64-bit
+	# variants. This has been already fixed upstream, so please
+	# remove it in the next version bump.
+	depends on !BR2_mips_64r2 && !BR2_mips_64r6
 	help
 	  FFmpeg is a complete, cross-platform solution to record, convert
 	  and stream audio and video.