[FFmpeg-user] ffmpeg built static, yet "libopenjp2.so.7: cannot open shared object file"

Carl Eugen Hoyos ceffmpeg at gmail.com
Mon Aug 14 17:41:06 EEST 2017


2017-08-14 13:51 GMT+02:00 Carl Eugen Hoyos <ceffmpeg at gmail.com>:
> 2017-08-14 11:04 GMT+02:00 Reindl Harald <h.reindl at thelounge.net>:
>> frankly without -ffat-lto-objects libx264 and/or the comibnation of static
>> libx264 and static ffmpeg just don't build
>
> The option should not be needed if your toolchain correctly supports
> lto (and it is not needed here). Is it possible that you have to add it
> because your build is not really an lto build (since something in your
> toolchain - like ar - destroys the lto information but thanks to this option,
> compilation succeeds)?

I can confirm that the reason you "need" -ffat-lto-objects is that you
are not actually building with lto.

The sad thing is that the optimized h264 cabac reader cannot be
compiled with (static) lto. I don't remember the details atm but I
suspect you have to disable this optimization in the source code to
use lto, it may be better performance-wise to not use lto at all
(depending on your exact needs).

This bug cannot be worked around with -ffat-lto-objects (you would
see the same issue I do if you would actually compile with lto).

Carl Eugen


More information about the ffmpeg-user mailing list