[FFmpeg-devel] [PATCH] configure: Silence Xcode warnings about duplicate libraries

Martin Storsjö martin at martin.st
Mon Oct 14 23:51:18 EEST 2024


On Mon, 14 Oct 2024, Martin Storsjö wrote:

> On Sun, 13 Oct 2024, Michael Niedermayer wrote:
>
>> On Wed, Sep 25, 2024 at 03:16:40PM +0300, Martin Storsjö wrote:
>>> Since Xcode 15, macOS developer tools use a new linker. The new
>>> linker by default warns for duplicate -l options. As this is a
>>> known and expected thing, not to be considered an issue, ask for
>>> the warning to be silenced.
>>> 
>>> This silences linker warnings like this:
>>>
>>>     ld: warning: ignoring duplicate libraries: '-lc++', '-lcrypto', '-lm', 
>>> '-logg', '-lpthread', '-lssl', '-lvorbis', '-lvpx', '-lz'
>>> 
>>> The linker can also warn about duplicate -rpath options, and there's
>>> currently no option to silence those warnings.
>>> ---
>>>  configure | 1 +
>>>  1 file changed, 1 insertion(+)
>>> 
>>> diff --git a/configure b/configure
>>> index d77a55b653..a450b3c8d8 100755
>>> --- a/configure
>>> +++ b/configure
>>> @@ -6480,6 +6480,7 @@ check_cc intrinsics_sse2 emmintrin.h "__m128i test = 
>>> _mm_setzero_si128()"
>>>
>>>  check_ldflags -Wl,--as-needed
>>>  check_ldflags -Wl,-z,noexecstack
>>> +check_ldflags -Wl,-no_warn_duplicate_libraries
>>>
>>>  if ! disabled network; then
>>>      check_func getaddrinfo $network_extralibs
>> 
>> this causes problems with build and
>> also there is a:
>> -rwxr-x---   1 michael michael  317432 Oct 13 21:39 
>> _warn_duplicate_libraries*
>> 
>> also if i replace this by -Wl,-no_warn_catgirl i get
>> 
>> -rwxr-x---   1 michael michael 178629347 Oct 13 21:45 _warn_catgirl
>> 
>> with no warning
>
> That's odd...
>
> What version of ld is this using (is it a distro provided mingw toolchain - 
> what distro/version in that case)?
>
> I can reproduce this, that the option does get accepted with binutils 2.25, 
> but not with binutils 2.38.

Turns out that ld.bfd, both for mingw but also for linux, had this bug, up 
until version 2.36 where it was fixed. See the patch I just posted, to 
avoid even trying to use this option unless we're compiling for a darwin 
target.

// Martin


More information about the ffmpeg-devel mailing list