ffmpegthumbnailer icon indicating copy to clipboard operation
ffmpegthumbnailer copied to clipboard

Add a flag that will allow for a static build?

Open sxiii opened this issue 5 years ago • 2 comments

FFMPEG has a static build options.

It would be so cool if ffmpegthumnailer also had some (and then I would try to build it in Alpine Docker container).

Thanks

sxiii avatar Sep 02 '20 12:09 sxiii

These options are available

option(ENABLE_SHARED "Build shared library" ON) option(ENABLE_STATIC "Build static library" OFF)

dirkvdb avatar Sep 02 '20 12:09 dirkvdb

Hi @dirkvdb . Thanks for fast answer. I've tried this flags:

cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_GIO=ON -DENABLE_THUMBNAILER=ON -DENABLE_SHARED=OFF -DENABLE_STATIC=ON ..

However, after 'make-ing' the build of ffmpegthumbnailer on ubuntu, I did checked for the results:

$ ldd ./ffmpegthumbnailer 
	linux-vdso.so.1 (0x00007fff74d33000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f9d42963000)
	libavformat.so.58 => /lib/x86_64-linux-gnu/libavformat.so.58 (0x00007f9d426eb000)
	libavcodec.so.58 => /lib/x86_64-linux-gnu/libavcodec.so.58 (0x00007f9d4112e000)
	libavutil.so.56 => /lib/x86_64-linux-gnu/libavutil.so.56 (0x00007f9d41005000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f9d40fe2000)
	libavfilter.so.7 => /lib/x86_64-linux-gnu/libavfilter.so.7 (0x00007f9d40c62000)
	libpng16.so.16 => /lib/x86_64-linux-gnu/libpng16.so.16 (0x00007f9d40c28000)
	libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f9d40a47000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f9d408f8000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f9d408dd000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9d406eb000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f9d429bb000)
	libxml2.so.2 => /lib/x86_64-linux-gnu/libxml2.so.2 (0x00007f9d40531000)
	libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007f9d4051c000)
	libgme.so.0 => /lib/x86_64-linux-gnu/libgme.so.0 (0x00007f9d404cf000)
	libopenmpt.so.0 => /lib/x86_64-linux-gnu/libopenmpt.so.0 (0x00007f9d402e2000)
	libchromaprint.so.1 => /lib/x86_64-linux-gnu/libchromaprint.so.1 (0x00007f9d402cc000)
	libbluray.so.2 => /lib/x86_64-linux-gnu/libbluray.so.2 (0x00007f9d4027b000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f9d4025f000)
	libgnutls.so.30 => /lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007f9d40087000)
	libssh-gcrypt.so.4 => /lib/x86_64-linux-gnu/libssh-gcrypt.so.4 (0x00007f9d3fffb000)
	libswresample.so.3 => /lib/x86_64-linux-gnu/libswresample.so.3 (0x00007f9d3ffd9000)
	libvpx.so.6 => /lib/x86_64-linux-gnu/libvpx.so.6 (0x00007f9d3fda1000)
	libwebpmux.so.3 => /lib/x86_64-linux-gnu/libwebpmux.so.3 (0x00007f9d3fb97000)
	libwebp.so.6 => /lib/x86_64-linux-gnu/libwebp.so.6 (0x00007f9d3f92e000)
	liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f9d3f903000)
	librsvg-2.so.2 => /lib/x86_64-linux-gnu/librsvg-2.so.2 (0x00007f9d3f013000)
	libgobject-2.0.so.0 => /lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007f9d3efb3000)
	libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f9d3ee8a000)
	libcairo.so.2 => /lib/x86_64-linux-gnu/libcairo.so.2 (0x00007f9d3ed67000)
	libzvbi.so.0 => /lib/x86_64-linux-gnu/libzvbi.so.0 (0x00007f9d3ecd8000)
	libsnappy.so.1 => /lib/x86_64-linux-gnu/libsnappy.so.1 (0x00007f9d3eccb000)
	libaom.so.0 => /lib/x86_64-linux-gnu/libaom.so.0 (0x00007f9d3e82d000)
	libcodec2.so.0.9 => /lib/x86_64-linux-gnu/libcodec2.so.0.9 (0x00007f9d3da49000)
	libgsm.so.1 => /lib/x86_64-linux-gnu/libgsm.so.1 (0x00007f9d3da3a000)
	libmp3lame.so.0 => /lib/x86_64-linux-gnu/libmp3lame.so.0 (0x00007f9d3d9c2000)
	libopenjp2.so.7 => /lib/x86_64-linux-gnu/libopenjp2.so.7 (0x00007f9d3d96c000)
	libopus.so.0 => /lib/x86_64-linux-gnu/libopus.so.0 (0x00007f9d3d90b000)
	libshine.so.3 => /lib/x86_64-linux-gnu/libshine.so.3 (0x00007f9d3d700000)
	libspeex.so.1 => /lib/x86_64-linux-gnu/libspeex.so.1 (0x00007f9d3d6e2000)
	libtheoraenc.so.1 => /lib/x86_64-linux-gnu/libtheoraenc.so.1 (0x00007f9d3d6a5000)
	libtheoradec.so.1 => /lib/x86_64-linux-gnu/libtheoradec.so.1 (0x00007f9d3d685000)
	libtwolame.so.0 => /lib/x86_64-linux-gnu/libtwolame.so.0 (0x00007f9d3d65f000)
	libvorbis.so.0 => /lib/x86_64-linux-gnu/libvorbis.so.0 (0x00007f9d3d62f000)
	libvorbisenc.so.2 => /lib/x86_64-linux-gnu/libvorbisenc.so.2 (0x00007f9d3d584000)
	libwavpack.so.1 => /lib/x86_64-linux-gnu/libwavpack.so.1 (0x00007f9d3d558000)
	libx264.so.155 => /lib/x86_64-linux-gnu/libx264.so.155 (0x00007f9d3d29a000)
	libx265.so.179 => /lib/x86_64-linux-gnu/libx265.so.179 (0x00007f9d3c32c000)
	libxvidcore.so.4 => /lib/x86_64-linux-gnu/libxvidcore.so.4 (0x00007f9d3c219000)
	libva.so.2 => /lib/x86_64-linux-gnu/libva.so.2 (0x00007f9d3c1ee000)
	libva-drm.so.2 => /lib/x86_64-linux-gnu/libva-drm.so.2 (0x00007f9d3c1e9000)
	libva-x11.so.2 => /lib/x86_64-linux-gnu/libva-x11.so.2 (0x00007f9d3c1e1000)
	libvdpau.so.1 => /lib/x86_64-linux-gnu/libvdpau.so.1 (0x00007f9d3c1db000)
	libX11.so.6 => /lib/x86_64-linux-gnu/libX11.so.6 (0x00007f9d3c09e000)
	libdrm.so.2 => /lib/x86_64-linux-gnu/libdrm.so.2 (0x00007f9d3c088000)
	libOpenCL.so.1 => /lib/x86_64-linux-gnu/libOpenCL.so.1 (0x00007f9d3be7d000)
	libswscale.so.5 => /lib/x86_64-linux-gnu/libswscale.so.5 (0x00007f9d3bde8000)
	libpostproc.so.55 => /lib/x86_64-linux-gnu/libpostproc.so.55 (0x00007f9d3bdc6000)
	libbs2b.so.0 => /lib/x86_64-linux-gnu/libbs2b.so.0 (0x00007f9d3bdbf000)
	liblilv-0.so.0 => /lib/x86_64-linux-gnu/liblilv-0.so.0 (0x00007f9d3bda4000)
	librubberband.so.2 => /lib/x86_64-linux-gnu/librubberband.so.2 (0x00007f9d3bd65000)
	libmysofa.so.1 => /lib/x86_64-linux-gnu/libmysofa.so.1 (0x00007f9d3bd54000)
	libflite_cmu_us_awb.so.1 => /lib/x86_64-linux-gnu/libflite_cmu_us_awb.so.1 (0x00007f9d3b95d000)
	libflite_cmu_us_kal.so.1 => /lib/x86_64-linux-gnu/libflite_cmu_us_kal.so.1 (0x00007f9d3b7f7000)
	libflite_cmu_us_kal16.so.1 => /lib/x86_64-linux-gnu/libflite_cmu_us_kal16.so.1 (0x00007f9d3b41d000)
	libflite_cmu_us_rms.so.1 => /lib/x86_64-linux-gnu/libflite_cmu_us_rms.so.1 (0x00007f9d3af82000)
	libflite_cmu_us_slt.so.1 => /lib/x86_64-linux-gnu/libflite_cmu_us_slt.so.1 (0x00007f9d3ab88000)
	libflite.so.1 => /lib/x86_64-linux-gnu/libflite.so.1 (0x00007f9d3ab4f000)
	libfribidi.so.0 => /lib/x86_64-linux-gnu/libfribidi.so.0 (0x00007f9d3ab32000)
	libass.so.9 => /lib/x86_64-linux-gnu/libass.so.9 (0x00007f9d3a8ff000)
	libvidstab.so.1.1 => /lib/x86_64-linux-gnu/libvidstab.so.1.1 (0x00007f9d3a8eb000)
	libzmq.so.5 => /lib/x86_64-linux-gnu/libzmq.so.5 (0x00007f9d3a845000)
	libfontconfig.so.1 => /lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007f9d3a7fc000)
	libfreetype.so.6 => /lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f9d3a73d000)
	libicuuc.so.66 => /lib/x86_64-linux-gnu/libicuuc.so.66 (0x00007f9d3a557000)
	libmpg123.so.0 => /lib/x86_64-linux-gnu/libmpg123.so.0 (0x00007f9d3a4f7000)
	libvorbisfile.so.3 => /lib/x86_64-linux-gnu/libvorbisfile.so.3 (0x00007f9d3a4ec000)
	libp11-kit.so.0 => /lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007f9d3a3b4000)
	libidn2.so.0 => /lib/x86_64-linux-gnu/libidn2.so.0 (0x00007f9d3a393000)
	libunistring.so.2 => /lib/x86_64-linux-gnu/libunistring.so.2 (0x00007f9d3a211000)
	libtasn1.so.6 => /lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007f9d3a1fb000)
	libnettle.so.7 => /lib/x86_64-linux-gnu/libnettle.so.7 (0x00007f9d3a1c1000)
	libhogweed.so.5 => /lib/x86_64-linux-gnu/libhogweed.so.5 (0x00007f9d3a189000)
	libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f9d3a103000)
	libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007f9d39fe5000)
	libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007f9d39fc2000)
	libgssapi_krb5.so.2 => /lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007f9d39f75000)
	libsoxr.so.0 => /lib/x86_64-linux-gnu/libsoxr.so.0 (0x00007f9d39f0a000)
	libcairo-gobject.so.2 => /lib/x86_64-linux-gnu/libcairo-gobject.so.2 (0x00007f9d39efc000)
	libgdk_pixbuf-2.0.so.0 => /lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0 (0x00007f9d39ed4000)
	libgio-2.0.so.0 => /lib/x86_64-linux-gnu/libgio-2.0.so.0 (0x00007f9d39cf3000)
	libpangocairo-1.0.so.0 => /lib/x86_64-linux-gnu/libpangocairo-1.0.so.0 (0x00007f9d39ce1000)
	libpango-1.0.so.0 => /lib/x86_64-linux-gnu/libpango-1.0.so.0 (0x00007f9d39c92000)
	libffi.so.7 => /lib/x86_64-linux-gnu/libffi.so.7 (0x00007f9d39c86000)
	libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f9d39c11000)
	libpixman-1.so.0 => /lib/x86_64-linux-gnu/libpixman-1.so.0 (0x00007f9d39b6a000)
	libxcb-shm.so.0 => /lib/x86_64-linux-gnu/libxcb-shm.so.0 (0x00007f9d39b65000)
	libxcb.so.1 => /lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f9d39b3b000)
	libxcb-render.so.0 => /lib/x86_64-linux-gnu/libxcb-render.so.0 (0x00007f9d39b2c000)
	libXrender.so.1 => /lib/x86_64-linux-gnu/libXrender.so.1 (0x00007f9d39922000)
	libXext.so.6 => /lib/x86_64-linux-gnu/libXext.so.6 (0x00007f9d3990b000)
	libogg.so.0 => /lib/x86_64-linux-gnu/libogg.so.0 (0x00007f9d398fe000)
	libnuma.so.1 => /lib/x86_64-linux-gnu/libnuma.so.1 (0x00007f9d398f1000)
	libXfixes.so.3 => /lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007f9d398e9000)
	libserd-0.so.0 => /lib/x86_64-linux-gnu/libserd-0.so.0 (0x00007f9d398c6000)
	libsord-0.so.0 => /lib/x86_64-linux-gnu/libsord-0.so.0 (0x00007f9d398ba000)
	libsratom-0.so.0 => /lib/x86_64-linux-gnu/libsratom-0.so.0 (0x00007f9d398ae000)
	libsamplerate.so.0 => /lib/x86_64-linux-gnu/libsamplerate.so.0 (0x00007f9d39542000)
	libfftw3.so.3 => /lib/x86_64-linux-gnu/libfftw3.so.3 (0x00007f9d3933c000)
	libflite_usenglish.so.1 => /lib/x86_64-linux-gnu/libflite_usenglish.so.1 (0x00007f9d39311000)
	libflite_cmulex.so.1 => /lib/x86_64-linux-gnu/libflite_cmulex.so.1 (0x00007f9d39278000)
	libasound.so.2 => /lib/x86_64-linux-gnu/libasound.so.2 (0x00007f9d3917d000)
	libharfbuzz.so.0 => /lib/x86_64-linux-gnu/libharfbuzz.so.0 (0x00007f9d39078000)
	libgomp.so.1 => /lib/x86_64-linux-gnu/libgomp.so.1 (0x00007f9d39036000)
	libsodium.so.23 => /lib/x86_64-linux-gnu/libsodium.so.23 (0x00007f9d38fde000)
	libpgm-5.2.so.0 => /lib/x86_64-linux-gnu/libpgm-5.2.so.0 (0x00007f9d38f8d000)
	libnorm.so.1 => /lib/x86_64-linux-gnu/libnorm.so.1 (0x00007f9d38e32000)
	libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f9d38e04000)
	libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f9d38dfb000)
	libicudata.so.66 => /lib/x86_64-linux-gnu/libicudata.so.66 (0x00007f9d3733a000)
	libkrb5.so.3 => /lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007f9d3725b000)
	libk5crypto.so.3 => /lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f9d3722a000)
	libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f9d37223000)
	libkrb5support.so.0 => /lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f9d37214000)
	libgmodule-2.0.so.0 => /lib/x86_64-linux-gnu/libgmodule-2.0.so.0 (0x00007f9d3720e000)
	libmount.so.1 => /lib/x86_64-linux-gnu/libmount.so.1 (0x00007f9d371ae000)
	libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007f9d37181000)
	libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f9d37165000)
	libpangoft2-1.0.so.0 => /lib/x86_64-linux-gnu/libpangoft2-1.0.so.0 (0x00007f9d3714c000)
	libthai.so.0 => /lib/x86_64-linux-gnu/libthai.so.0 (0x00007f9d37141000)
	libXau.so.6 => /lib/x86_64-linux-gnu/libXau.so.6 (0x00007f9d3713b000)
	libXdmcp.so.6 => /lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f9d37131000)
	libgraphite2.so.3 => /lib/x86_64-linux-gnu/libgraphite2.so.3 (0x00007f9d37104000)
	libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f9d370fd000)
	libblkid.so.1 => /lib/x86_64-linux-gnu/libblkid.so.1 (0x00007f9d370a6000)
	libpcre2-8.so.0 => /lib/x86_64-linux-gnu/libpcre2-8.so.0 (0x00007f9d37014000)
	libdatrie.so.1 => /lib/x86_64-linux-gnu/libdatrie.so.1 (0x00007f9d3700a000)
	libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007f9d36ff0000)

So this does not look like static to me. :+)

For ffmpeg, I found only one way to statically compile it - use the "ffmpeg-static" repo...

I don't know if it's achievable here...

sxiii avatar Sep 03 '20 09:09 sxiii