[FFmpeg-trac] #10816(avcodec:new): lgpl build impossible under linux

FFmpeg trac at avcodec.org
Mon Jan 22 19:49:43 EET 2024


#10816: lgpl build impossible under linux
-------------------------------------+-------------------------------------
             Reporter:               |                     Type:  license
  AudioVideoIT                       |  violation
               Status:  new          |                 Priority:  normal
            Component:  avcodec      |                  Version:  6.1
             Keywords:  disable-gpl  |               Blocked By:
  ignored                            |
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 Summary of the bug:
 I cannot build a clean LGPL licensed shared object set under linux.
 The configure script ignores all my settings and I do not know how to
 build the wanted shared libraries manually. As soon I am adding the option
 --enabled-shared the hole build is GPL again!

 This makes it impossible for my company to provide closed software under
 Linux based on FFmpeg.

 This would be the changes that a GPL FFmpeg library can stay side by side
 with my renamed custom build FFmpeg on a linux system:

 mv libavcodec.so lgpl_avcodec.so
 mv libavcodec.so  lgpl_avcodec.so
 mv libavdevice.so lgpl_avdevice.so
 mv libavfilter.so lgpl_avfilter.so
 mv libavformat.so lgpl_avformat.so
 mv libavutil.so lgpl_avutil.so
 mv libswresample.so lgpl_avresample.so
 mv libswscale.so lgpl_swscale.so

 patchelf --replace-needed libavformat.so.60 lgpl_avformat.so
 lgpl_avfilter.so
 patchelf --replace-needed libavcodec.so.60 lgpl_avcodec.so
 lgpl_avfilter.so
 patchelf --replace-needed libavutil.so.58 lgpl_avutil.so  lgpl_avfilter.so
 patchelf --replace-needed libswresample.so.4 lgpl_avresample.so
 lgpl_avfilter.so
 patchelf --replace-needed libswscale.so.7 lgpl_swscale.so
 lgpl_avfilter.so
 patchelf --replace-needed libavutil.so.58 lgpl_avutil.so  lgpl_avcodec.so
 patchelf --replace-needed libswresample.so.4 lgpl_swresample.so
 lgpl_avcodec.so
 patchelf --replace-needed libavutil.so.58 lgpl_avutil.so
 lgpl_avresample.so
 patchelf --replace-needed libavutil.so.58 lgpl_avutil.so  lgpl_swscale.so

 How to reproduce:
 {{{
 ./configure --disable-gpl --disable-libx264 --disable-libx265 --disable-
 frei0r
 make
 ./ffmpeg -L
 ffmpeg version 6.1 Copyright (c) 2000-2023 the FFmpeg developers
   built with gcc 13.2.1 (GCC) 20230801
   configuration: --disable-gpl --disable-libx264 --disable-libx265
 --disable-frei0r --enable-shared
   WARNING: library configuration mismatch
   avutil      configuration: --prefix=/usr --disable-debug --disable-
 static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-
 llvm --enable-lto --enable-fontconfig --enable-frei0r --enable-gmp
 --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-
 libass --enable-libbluray --enable-libbs2b --enable-libdav1d --enable-
 libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-
 libharfbuzz --enable-libiec61883 --enable-libjack --enable-libjxl
 --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb
 --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopenmpt
 --enable-libopus --enable-libplacebo --enable-libpulse --enable-librav1e
 --enable-librsvg --enable-librubberband --enable-libsnappy --enable-
 libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-
 libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab
 --enable-libvmaf --enable-libvorbis --enable-libvpl --enable-libvpx
 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb
 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-nvdec
 --enable-nvenc --enable-opencl --enable-opengl --enable-shared --enable-
 version3 --enable-vulkan
 }}}
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/10816>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list