Opened 11 years ago
Closed 11 years ago
#3104 closed defect (worksforme)
Impossible to disable jack or SDL
Reported by: | william | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | undetermined |
Version: | unspecified | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Summary of the bug:
If you have libjack installed in the system it is impossible to build ffmpeg with linking it to libjack.so
It seems the same is valid for SDL. It may as well be for other libraries.
How to reproduce:
- Have libjack installed in the system
- ./configure --disable-indev=jack
$ cat work/ffmpeg-2.1/config.log | grep jack
jack_indev
jack_indev
jack_indev=no
jack_indev_deps='jack_jack_h sem_timedwait'
list=jack_indev
name=jack_indev
$ cat work/ffmpeg-2.1/config.h | grep -i jack
#define HAVE_JACK_PORT_GET_LATENCY_RANGE 0
#define CONFIG_JACK_INDEV 0
$ ldd work/stage/usr/local/bin/ffmpeg|grep -i jack
libjack.so.0 => /usr/local/lib/libjack.so.0 (0x803a78000)
Change History (3)
comment:1 by , 11 years ago
comment:2 by , 11 years ago
Yes, sorry, I may not have been clear enough, it is not ffmpeg binary that links to the libjack, it is libavdevice.so
readelf -a work/stage/usr/local/lib/libavdevice.so|grep jack|grep NEEDED
0x0000000000000001 (NEEDED) Shared library: [libjack.so.0]
But libavdevice is built and part of ffmpeg.
Sorry if I am missing anything.
comment:3 by , 11 years ago
Component: | build system → undetermined |
---|---|
Resolution: | → worksforme |
Status: | new → closed |
Version: | 2.1 → unspecified |
$ make distclean $ configure && make ffmpeg $ ldd ffmpeg ... libjack.so.0 => /usr/lib64/libjack.so.0 (0x00007fc7e5520000) libSDL-1.2.so.0 => /usr/lib64/libSDL-1.2.so.0 (0x00007fc7e4fa9000) ...
$ make distclean $ configure --disable-indev=jack --disable-outdev=sdl && make ffmpeg $ ldd ffmpeg (no sdl, no jack)
$ make distclean $ configure --enable-shared && make libavdevice/libavdevice.so $ ldd libavdevice/libavdevice.so ... libjack.so.0 => /usr/lib64/libjack.so.0 (0x00007fe5d8a3a000) libSDL-1.2.so.0 => /usr/lib64/libSDL-1.2.so.0 (0x00007fe5d84c3000) ...
$ make distclean $ configure --enable-shared --disable-indev=jack --disable-outdev=sdl && make libavdevice/libavdevice.so $ ldd libavdevice/libavdevice.so (no sdl, no jack)
Replying to william:
UUoC
Are you sure ffmpeg itself is linked with libjack? It could be brought by another library. You can use
objdump -p
to see the libraries ffmpeg directly links, in theNEEDED
entries.