5

I'm building a Linux embedded OS usingYocto in which I have to include SoX to perform downsampling of .wav files. SoX is under GPL or LGPL license (the downsampling function I use is under LGPL)

When I build my Linux, an error occurs as SoX depends on ffmpeg. When I add it, another error occurs :

ERROR: Nothing PROVIDES 'ffmpeg' (but /home/myHome/Yocto/poky/meta-openembedded/meta-multimedia/recipes-multimedia/sox/sox_14.4.2.bb DEPENDS on or otherwise requires it)
ffmpeg was skipped: because it has a restricted license 'commercial'. Which is not whitelisted in LICENSE_FLAGS_WHITELIST

If I set LICENSE_FLAGS_WHITELIST="commercial" in conf/local.conf, as suggested, it builds.

However, I have a question: why using ffmpeg does require "commercial" license, as it is licensed under the GNU Lesser General Public License (LGPL) version 2.1 or later (according to https://www.ffmpeg.org/legal.html)?

How can I avoid to set this flag?

6
  • Exactly which flags did you build ffmpeg with? Specifically, did you use --enable-nonfree to include the Fraunhofer AAC library? Commented Jan 30 at 15:12
  • well, actually I don't know, there is no information about it popping when I build my Yocto. And I'm far from being a Yocto expert ... I'll try to find it out from logs. But I did not set any flags on my own, I just add ffmpeg in my recipe
    – A.Joly
    Commented Jan 30 at 15:25
  • It looks like this flag is used in the ffmpeg_4.4.bb recipe. PACKAGECONFIG[fdk-aac] = "--enable-libfdk-aac --enable-nonfree,--disable-libfdk-aac,fdk-aac" => I suppose it concerns the library you're talking about
    – A.Joly
    Commented Jan 30 at 15:38
  • Yeah, that makes ffmpeg include a non-free library so it sounds like the correct behaviour - as the legal page makes clear, the ffmpeg code itself is under the LGPL but it can include/be linked with non-LGPL code. If this answers your question, let me know and I'll write it up as an answer. Commented Jan 30 at 16:01
  • 1
    From a brief search I believe questions about configuring Yocto are on-topic at Unix & Linux SE so consider asking there - but please review their on-topic guidelines first as I am not an active user there. Commented Jan 30 at 16:25

1 Answer 1

3

As discussed in comments, your build of FFmpeg was created with the --enable-nonfree option which means it links with the non-free Fraunhofer AAC library, so while you are correct that the FFmpeg code itself is free software, the the combined work is non-free.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.