[FFmpeg-user] How to build for static ffmpeg executable

Reindl Harald h.reindl at thelounge.net
Thu Jan 21 20:58:26 CET 2016

Am 21.01.2016 um 20:27 schrieb G A:
> of course it is enough.  it works on unix/osx, i build ffmpeg with 40 plugins from the repo every few days and these flags work.

pure nonsense, you need .a files and not .so for static linking

[root at buildserver:~]$ rpm -q --filesbypkg x264-latest
x264-latest               /usr/local/x264/libx264.a
x264-latest               /usr/local/x264/x264.h
x264-latest               /usr/local/x264/x264_config.h

guess what - libx264 is static linked

--extra-ldflags="-I%{_prefix}/local/x264 -L%{_prefix}/local/x264 -ldl'

the others are *not* - ask "ldd" if you don't believe it

[root at buildserver:~]$ ldd /usr/local/bin/ffmpeg
         linux-vdso.so.1 (0x00007ffd5c4f9000)
         libdl.so.2 => /lib64/libdl.so.2 (0x00007f2b15dee000)
         libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f2b15bd2000)
         libssl.so.10 => /lib64/libssl.so.10 (0x00007f2b15960000)
         libcrypto.so.10 => /lib64/libcrypto.so.10 (0x00007f2b15568000)
         libvpx.so.1 => /lib64/libvpx.so.1 (0x00007f2b151e1000)
         libm.so.6 => /lib64/libm.so.6 (0x00007f2b14ed8000)
         libtheoraenc.so.1 => /lib64/libtheoraenc.so.1 (0x00007f2b14c98000)
         libtheoradec.so.1 => /lib64/libtheoradec.so.1 (0x00007f2b14a7f000)
         libmp3lame.so.0 => /lib64/libmp3lame.so.0 (0x00007f2b147c6000)
         liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f2b1459d000)
         libbz2.so.1 => /lib64/libbz2.so.1 (0x00007f2b1438d000)
         libz.so.1 => /lib64/libz.so.1 (0x00007f2b14175000)
         libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f2b13f5e000)
         libc.so.6 => /lib64/libc.so.6 (0x00007f2b13b9e000)
         /lib64/ld-linux-x86-64.so.2 (0x000055f75aec0000)
         libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 
         libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007f2b1366a000)
         libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f2b13466000)
         libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007f2b13232000)
         libgomp.so.1 => /lib64/libgomp.so.1 (0x00007f2b13010000)
         libogg.so.0 => /lib64/libogg.so.0 (0x00007f2b12e09000)
         libkrb5support.so.0 => /lib64/libkrb5support.so.0 
         libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007f2b129f5000)
         libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f2b127d9000)
         libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f2b125b5000)
         libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f2b12344000)

>> On Jan 21, 2016, at 11:22, Reindl Harald <h.reindl at thelounge.net> wrote:
>> Am 21.01.2016 um 20:12 schrieb G A:
>>> specify -—disable-shared —enable-static
>> that's not enough if your shared libraries are just dll/so files
>> they *all* need to be built static

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: OpenPGP digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-user/attachments/20160121/afc710c3/attachment.sig>

More information about the ffmpeg-user mailing list