On 8/12/2017 4:27 PM, Moritz Barsnick wrote:
On Fri, Aug 11, 2017 at 16:27:16 -0700, tlum wrote:
Wow, how did you manage to compose this email? See here, this is what
the users get:
http://ffmpeg.org/pipermail/ffmpeg-user/2017-August/036951.html
I can see it here though:
http://www.ffmpeg-archive.org/ffmpeg-built-static-yet-quot-libopenjp2-so-7-cannot-open-shared-object-file-quot-td4680895.html
Yea... terribly sorry about that. First time using that gateway... I had
no I idea it was going to munge it like that. Promise I won't do that again.
I'm having trouble adding OpenJPEG to my ffmpeg build. I'm doing a static
build, still I'm getting:
ffmpeg: error while loading shared libraries: libopenjp2.so.7: cannot open
shared object file: No such file or directory
So apparently, ffmpeg isn't static after all.
Well, in one sense it is, because most of the other libraries don't even
build shared versions, so I know it does link and work with the static
libraries. In another sense it's not, because C and C++ programs with
dependencies on glibc aren't really static. My limited understanding is
that it's kind of a hybrid.
ffmpeg is being configured like so:
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure
--prefix="$HOME/ffmpeg_build" \
--extra-cflags="-I$HOME/ffmpeg_build/include"
--extra-ldflags="-L$HOME/ffmpeg_build/lib -ldl" \
--bindir="$HOME/bin" --pkg-config-flags="--static" \
--enable-gpl \
--enable-libfdk_aac \
--enable-libfreetype \
--enable-libmp3lame \
--enable-libopus \
--enable-libvorbis \
--enable-libvpx \
--enable-libx264 \
--enable-libx265 \
--enable-nonfree \
--enable-libvidstab \
--enable-libfontconfig \
--enable-libfribidi \
--enable-libass \
--enable-libopenjpeg
[...]
configure confirms:
configure confirms:
static yes
shared no
Well, either something is going wrong during the configure or linking
process, or you are not using that ffmpeg binary.
What does
$ which ffmpeg
$ file ffmpeg
$ ldd ffmpeg
and finally
$ ffmpeg
say?
I'm sure there is only one copy of all the executables. They are
actually deployed to /root/bin so they're kept highly isolated from the
rest of the system. Since I've had so many problems with duplicate
dependencies, combing the system for them is one of the first
troubleshooting steps. I'm not opposed to shared libraries, what I'm
opposed to is installing a shared library that didn't come from a
repository in an rpm using yum. Otherwise, I find you tend to end up
with a lot of stray, unmanaged, dependencies causing conflicts, and it
makes it difficult to deploy applications when dependencies aren't
readily available. When I'm forced to, I'll do an rpmbuild and drop them
on the local repository so they're at least managed, deconflicted, and
easy to deploy, but I'd rather manage one build than one build + a bunch
of single use dependent libraries... economies of scale come from
actually sharing shared objects.
So, we have:
[root@san1srvp01 ~]# which ffmpeg
/root/bin/ffmpeg
[root@san1srvp01 ~]# file /root/bin/ffmpeg
/root/bin/ffmpeg: ELF 64-bit LSB executable, x86-64, version 1
(GNU/Linux), dynamically linked (uses shared libs), for GNU/Linux
2.6.32, BuildID[sha1]=293e48bcdcde80eed190f5514bde9862cc3a6195, stripped
[root@san1srvp01 ~]# ldd /root/bin/ffmpeg
linux-vdso.so.1 => (0x00007ffe29370000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007ff19d75e000)
libass.so.5 => /lib64/libass.so.5 (0x00007ff19d534000)
libm.so.6 => /lib64/libm.so.6 (0x00007ff19d231000)
libfontconfig.so.1 => /lib64/libfontconfig.so.1
(0x00007ff19cff4000)
libfribidi.so.0 => /lib64/libfribidi.so.0 (0x00007ff19cddb000)
libfreetype.so.6 => /lib64/libfreetype.so.6 (0x00007ff19cb34000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007ff19c82b000)
librt.so.1 => /lib64/librt.so.1 (0x00007ff19c623000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007ff19c406000)
libgomp.so.1 => /lib64/libgomp.so.1 (0x00007ff19c1e0000)
liblzma.so.5 => /lib64/liblzma.so.5 (0x00007ff19bfba000)
libz.so.1 => /lib64/libz.so.1 (0x00007ff19bda3000)
libc.so.6 => /lib64/libc.so.6 (0x00007ff19b9e2000)
/lib64/ld-linux-x86-64.so.2 (0x00007ff19d96d000)
libharfbuzz.so.0 => /lib64/libharfbuzz.so.0 (0x00007ff19b789000)
libexpat.so.1 => /lib64/libexpat.so.1 (0x00007ff19b55e000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007ff19b348000)
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007ff19b010000)
libgraphite2.so.3 => /lib64/libgraphite2.so.3 (0x00007ff19ade3000)
I am using some shared libraries:
fribidi-0.19.4-6.el7.x86_64 : Library implementing the Unicode
Bidirectional Algorithm
Repo : @base
Matched from:
Filename : /usr/lib64/libfribidi.so.0
Filename : /usr/lib64/libfribidi.so.0.3.3
fribidi-devel-0.19.4-6.el7.x86_64 : Libraries and include files for FriBidi
Repo : @base
Matched from:
Filename : /usr/lib64/libfribidi.so
fontconfig-2.10.95-10.el7.x86_64 : Font configuration and customization
library
Repo : @base
Matched from:
Filename : /usr/lib64/libfontconfig.so.1.7.0
Filename : /usr/lib64/libfontconfig.so.1
fontconfig-devel-2.10.95-10.el7.x86_64 : Font configuration and
customization library
Repo : @base
Matched from:
Filename : /usr/lib64/libfontconfig.so
freetype-2.4.11-12.el7.x86_64 : A free and portable font rendering engine
Repo : @base
Matched from:
Filename : /usr/lib64/libfreetype.so.6.10.0
Filename : /usr/lib64/libfreetype.so.6
freetype-devel-2.4.11-12.el7.x86_64 : FreeType development libraries and
header files
Repo : @base
Matched from:
Filename : /usr/lib64/libfreetype.so
libass-0.13.4-1.el7.x86_64 : Portable library for SSA/ASS subtitles
rendering
Repo : @epel
Matched from:
Filename : /usr/lib64/libass.so.5.3.2
Filename : /usr/lib64/libass.so.5
libass-devel-0.13.4-1.el7.x86_64 : Development files for libass
Repo : @epel
Matched from:
Filename : /usr/lib64/libass.so
Filename : /usr/lib64/pkgconfig/libass.pc
Right now, it's compiled without --enable-libopenjpeg because I needed
to get some work done. Otherwise you wouldn't even get the header (see
below), you'd just get the missing library error.
[root@san1srvp01 ~]# ffmpeg
ffmpeg version N-86964-gf357104 Copyright (c) 2000-2017 the FFmpeg
developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-11)
configuration: --prefix=/root/ffmpeg_build
--extra-cflags=-I/root/ffmpeg_build/include
--extra-ldflags='-L/root/ffmpeg_build/lib -ldl' --bindir=/root/bin
--pkg-config-flags=--static --enable-gpl --enable-libfdk_aac
--enable-libfreetype --enable-libmp3lame --enable-libopus
--enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265
--enable-nonfree --enable-libvidstab --enable-libfontconfig
--enable-libfribidi --enable-libass
libavutil 55. 73.100 / 55. 73.100
libavcodec 57.102.100 / 57.102.100
libavformat 57. 76.100 / 57. 76.100
libavdevice 57. 7.100 / 57. 7.100
libavfilter 6. 98.100 / 6. 98.100
libswscale 4. 7.102 / 4. 7.102
libswresample 2. 8.100 / 2. 8.100
libpostproc 54. 6.100 / 54. 6.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile
options] outfile}...
Moritz
_______________________________________________
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user
To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
_______________________________________________
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user
To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".