GNU bug report logs -
#61988
error compiling emacs
Previous Next
Reported by: Ugo Tomei <utomei <at> tiscali.it>
Date: Sun, 5 Mar 2023 19:03:02 UTC
Severity: normal
Done: Stefan Kangas <stefankangas <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
Message #36 received at 61988 <at> debbugs.gnu.org (full text, mbox):
Eli Zaretskii <eliz <at> gnu.org> writes:
> reopen 61988
> thanks
>
>> From: Po Lu <luangruo <at> yahoo.com>
>> Cc: utomei <at> tiscali.it, 61988-done <at> debbugs.gnu.org
>> Date: Mon, 06 Mar 2023 21:43:06 +0800
>>
>> Eli Zaretskii <eliz <at> gnu.org> writes:
>>
>> >> From: Po Lu <luangruo <at> yahoo.com>
>> >> Cc: 61988 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>
>> >> Date: Mon, 06 Mar 2023 18:35:05 +0800
>> >>
>> >> >> - WEBP_MODULE="libwebpdemux >= $WEBP_REQUIRED"
>> >> >> + WEBP_MODULE="libwebpdemux >= $WEBP_REQUIRED libwebpdecoder >= $WEBP_REQUIRED"
>> >> >> EMACS_CHECK_MODULES([WEBP], [$WEBP_MODULE])
>> >> >> AC_SUBST([WEBP_CFLAGS])
>> >> >>
>> >> >> Everyone else, make sure to link to *EVERYTHING* that you depend on, not
>> >> >> just one library that happens to link to everything you depend on.
>> >> >> Thanks.
>> >>
>> >> Thanks. Eli, is this safe for Emacs 29?
>> >
>> > Yes, thanks.
>>
>> Thanks, I installed the patch and am closing this bug.
>
> Sorry, I wasn't paying close attention, and though that you are adding
> libwebpdemux. With linwebpdecoder, the test fails on my system, since
> libwebpdecoder is not installed and neither is its pkg-config file.
> And is not needed: we don't use any API from that library, AFAICT.
>
> So I've reverted that change for now, and I'm reopening the bug.
>
> I'd like to know why requiring libwebpdecoder is essential for the
> build to work on the OP's system. It isn't on mine, and if you look
> at init_webp_functions, you will see that on Windows we load functions
> only from libwebp and libwebpdemux. Why is the third library needed?
It is here, because Emacs needs the function ``WebPGetInfo'', and on
GNU/Linux systems that function is in libwebpdecoder.so:
libwebpdecoder.so.3.1.5: file format elf64-x86-64
[...]
000000000000a160 g DF .text 00000000000000a1 Base WebPGetInfo
and here, I have a pkg-config file named libwebpdecoder.pc
prefix=/usr
exec_prefix=${prefix}
libdir=${prefix}/lib64
includedir=${prefix}/include
Name: libwebpdecoder
Description: Library for the WebP graphics format (decode only)
Version: 1.2.4
Cflags: -I${prefix}/include
Libs: -L${prefix}/lib64 -lwebpdecoder
Libs.private: -lm
while the pkg-config file for libwebpdemux only links to -lwebpdemux,
not -lwebpdecoder.
GNU ld does not allow you to link to symbols in dependencies of shared
libraries, so asking for libwebpdemux while using symbols in
libwebpdecoder does not work.
This bug report was last modified 1 year and 314 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.