On 18.03.2024 01:32, Rémi Denis-Courmont wrote:
Le 17 mars 2024 14:13:18 GMT-07:00, Timo Rothenpieler <t...@rothenpieler.org> a
écrit :
On 17.03.2024 18:37, Rémi Denis-Courmont wrote:
Le 17 mars 2024 10:29:39 GMT-07:00, Andreas Rheinhardt
<andreas.rheinha...@outlook.com> a écrit :
Rémi Denis-Courmont:
Le 16 mars 2024 13:58:23 GMT-07:00, James Almer <jamr...@gmail.com> a écrit :
Seems the conflict comes from
https://code.videolan.org/videolan/libbluray/-/blob/master/src/libbluray/disc/dec.c?ref_type=heads#L287
and
https://github.com/FFmpeg/FFmpeg/commit/c4de5778bceab3c15f1239f1f16816749a7fd3b6
Perhaps you could also try asking libbluray if they could use an internal
prefix. Otherwise you might need to do a rename of that function on
ffmpeg's side.
libbluray 100% needs to either prefix it, or hid it so it's not exported. It's
a library, so it should not be exporting such simple and short unprefix named
symbols.
AFAICT, FFmpeg is just as guilty as Libbluray there. To support static linking,
all non-static symbols should be name-spaced, and here both FFmpeg and
libbluray are failing, and thus both should be fixed IMO.
You forgot that FFmpeg's dec_init is in fftools/the executable, whereas
libbluray's is in the library.
Oh well then it's 100% a problem with FFmpeg, or with the build system used by
OP (Possibly a problem with Apple's tools). A static library being imported is
not supposed to be able to cause symbol conflicts.
A static library, as opposed to a shared one, has no concept of private symbols.
The symbol already is not exported by libbr, but in the case of static linking,
there is no distinction between exported and hidden symbols.
Yes. But an symbol from an import library is not supposed to conflict with a
symbol from the executable (or library) being linked. Hence this looks like a
bug in the FFmpeg build system (or whatever OP did with it).
How would it be a bug in the ffmpeg build system?
What is it supposed to do? When statically linking, there simply is
nothing that can be done about it.
Again: static linking has no concept of public and private symbols. It's
just pulling in object files relatively mindlessly.
Of course libbr should not leak unprefixed symbols regardless, but that's *not*
the root cause.
Yes, as long as they claim to support static linking, having such
symbols is definitely an issue on their side.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".