GNU bug report logs - #61988
error compiling emacs

Previous Next

Package: emacs;

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):

From: Po Lu <luangruo <at> yahoo.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: utomei <at> tiscali.it, 61988 <at> debbugs.gnu.org
Subject: Re: bug#61988: error compiling emacs
Date: Tue, 07 Mar 2023 08:34:18 +0800
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.