* bug#74606: 31.0.50; Another rsvg API change
@ 2024-11-29 16:42 Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-30 11:06 ` Eli Zaretskii
0 siblings, 1 reply; 13+ messages in thread
From: Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-11-29 16:42 UTC (permalink / raw)
To: 74606
Hi,
This is not a bug (yet) per se but here is a new warning I get from
compiling Emacs with librsvg version 2.59.2:
CC image.o
image.c: In function 'svg_load_image':
image.c:12360:3: warning: 'rsvg_handle_get_pixbuf' is deprecated: Use 'rsvg_handle_get_pixbuf_and_error' instead [-Wdeprecated-declarations]
12360 | pixbuf = rsvg_handle_get_pixbuf (rsvg_handle);
| ^~~~~~
In file included from /usr/local/include/librsvg-2.0/librsvg/rsvg.h:1332,
from image.c:11652:
/usr/local/include/librsvg-2.0/librsvg/rsvg-pixbuf.h:55:12: note: declared here
55 | GdkPixbuf *rsvg_handle_get_pixbuf (RsvgHandle *handle);
| ^~~~~~~~~~~~~~~~~~~~~~
In GNU Emacs 31.0.50 (build 4, x86_64-unknown-openbsd7.6, X toolkit) of
2024-11-29 built on computer
Repository revision: a52ad71cc5d036f1973ff2e504e45992fec3fc04
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101014
System Description: OpenBSD computer 7.6 GENERIC.MP#458 amd64
Configured using:
'configure CC=egcc CPPFLAGS=-I/usr/local/include
LDFLAGS=-L/usr/local/lib MAKEINFO=gmakeinfo --prefix=/home/manuel/emacs
--bindir=/home/manuel/bin --with-x-toolkit=lucid
--with-toolkit-scroll-bars=no --without-cairo
--without-compress-install'
Configured features:
DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG LCMS2 LIBOTF
LIBXML2 M17N_FLT MODULES NOTIFY KQUEUE PDUMPER PNG RSVG SQLITE3 THREADS
TIFF TREE_SITTER WEBP X11 XAW3D XDBE XFT XIM XINPUT2 XPM LUCID ZLIB
Important settings:
value of $LC_CTYPE: en_US.UTF-8
locale-coding-system: utf-8-unix
Major mode: Fundamental
Minor modes in effect:
display-time-mode: t
display-battery-mode: t
desktop-save-mode: t
exwm-randr-mode: t
server-mode: t
electric-pair-mode: t
override-global-mode: t
repeat-mode: t
global-eldoc-mode: t
show-paren-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
minibuffer-regexp-mode: t
line-number-mode: t
indent-tabs-mode: t
transient-mark-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
Load-path shadows:
/home/manuel/prog/elisp/exwm/exwm hides /home/manuel/.emacs.d/elpa/exwm-0.32/exwm
/home/manuel/prog/elisp/exwm/exwm-xsettings hides /home/manuel/.emacs.d/elpa/exwm-0.32/exwm-xsettings
/home/manuel/prog/elisp/exwm/exwm-xim hides /home/manuel/.emacs.d/elpa/exwm-0.32/exwm-xim
/home/manuel/prog/elisp/exwm/exwm-workspace hides /home/manuel/.emacs.d/elpa/exwm-0.32/exwm-workspace
/home/manuel/prog/elisp/exwm/exwm-randr hides /home/manuel/.emacs.d/elpa/exwm-0.32/exwm-randr
/home/manuel/prog/elisp/exwm/exwm-manage hides /home/manuel/.emacs.d/elpa/exwm-0.32/exwm-manage
/home/manuel/prog/elisp/exwm/exwm-layout hides /home/manuel/.emacs.d/elpa/exwm-0.32/exwm-layout
/home/manuel/prog/elisp/exwm/exwm-input hides /home/manuel/.emacs.d/elpa/exwm-0.32/exwm-input
/home/manuel/prog/elisp/exwm/exwm-floating hides /home/manuel/.emacs.d/elpa/exwm-0.32/exwm-floating
/home/manuel/prog/elisp/exwm/exwm-systemtray hides /home/manuel/.emacs.d/elpa/exwm-0.32/exwm-systemtray
/home/manuel/prog/elisp/exwm/exwm-core hides /home/manuel/.emacs.d/elpa/exwm-0.32/exwm-core
/home/manuel/prog/elisp/exwm/exwm-background hides /home/manuel/.emacs.d/elpa/exwm-0.32/exwm-background
/home/manuel/.emacs.d/elpa/ada-mode-8.1.0/prj hides /home/manuel/.emacs.d/elpa/gpr-query-1.0.4/prj
/home/manuel/.emacs.d/elpa/ef-themes-1.9.0/theme-loaddefs hides /home/manuel/emacs/share/emacs/31.0.50/lisp/theme-loaddefs
Features:
(shadow sort mail-extr emacsbug org-agenda cus-start on-screen
org-indent autoconf autoconf-mode oc-basic org-element org-persist
org-id org-element-ast inline avl-tree ol-eww ol-rmail ol-mhe ol-irc
ol-info ol-gnus nnselect ol-docview doc-view filenotify image-mode exif
ol-bibtex bibtex ol-bbdb ol-w3m ol-doi org-link-doi gnus-icalendar
org-capture org-refile org ob ob-tangle ob-ref ob-lob ob-table ob-exp
org-macro org-src ob-comint org-pcomplete org-list org-footnote
org-faces org-entities org-version ob-emacs-lisp ob-core ob-eval
org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs
org-compat org-macs reveal jka-compr tar-mode view conf-mode css-mode
sgml-mode facemenu imenu eww vtable mule-util url-queue mm-url sh-script
smie treesit executable vc-hg vc-bzr vc-src vc-sccs vc-svn erlang tempo
align vc-dir ewoc whitespace macrostep-c cmacexp vc-git diff-mode
track-changes gnus-dired vc-cvs vc-rcs log-view log-edit add-log
pcvs-util vc vc-dispatcher debbugs-browse bug-reference make-mode time
battery desktop frameset exwm-randr xcb-randr exwm exwm-input
xcb-keysyms xcb-xkb exwm-manage exwm-floating xcb-cursor xcb-render
exwm-layout exwm-workspace exwm-core xcb-ewmh xcb-icccm xcb xcb-xproto
xcb-types xcb-debug server ef-kassio-theme ef-themes
modus-operandi-theme modus-themes zone speed-type url-http url-auth
url-gw nsm ytdious mpdired transmission color calc-bin calc-ext calc
calc-loaddefs rect calc-macs supercite regi ebdb-gnus gnus-msg gnus-art
mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-sum shr pixel-fill
kinsoku url-file svg dom gnus-group gnus-undo gnus-start gnus-dbus dbus
xml gnus-cloud nnimap nnmail mail-source utf7 nnoo gnus-spec gnus-int
gnus-range gnus-win ebdb-message message yank-media puny rfc822 mml
mml-sec epa epg rfc6068 epg-config mm-decode mm-bodies mm-encode
mail-parse rfc2231 gmm-utils mailheader ebdb-mua ebdb-com crm
ebdb-format ebdb mailabbrev eieio-opt speedbar ezimage dframe find-func
eieio-base timezone icalendar gnus nnheader gnus-util range sendmail
rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils web-mode
derived disp-table erlang-start skeleton cc-mode cc-fonts cc-guess
cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs slime-asdf
grep slime-tramp tramp rx trampver tramp-integration files-x
tramp-message tramp-compat xdg shell pcomplete parse-time iso8601
time-date format-spec tramp-loaddefs slime-fancy slime-indentation
slime-cl-indent cl-indent slime-trace-dialog slime-fontifying-fu
slime-package-fu slime-references slime-compiler-notes-tree advice
slime-scratch slime-presentations bridge slime-macrostep macrostep
compat slime-mdot-fu slime-enclosing-context slime-fuzzy
slime-fancy-trace slime-fancy-inspector slime-c-p-c
slime-editing-commands slime-autodoc slime-repl slime-parse slime
apropos compile text-property-search etags fileloop generator xref
project arc-mode archive-mode noutline outline comint ansi-osc
ansi-color ring hyperspec thingatpt elec-pair edmacro kmacro
use-package-bind-key bind-key appt diary-lib diary-loaddefs cal-menu
calendar cal-loaddefs pcase dired-x dired-aux dired dired-loaddefs
use-package-core repeat easy-mmode cus-edit pp cus-load wid-edit
ada-mode-autoloads debbugs-autoloads ebdb-autoloads cl-extra help-mode
ef-themes-autoloads exwm-autoloads gpr-query-autoloads
gnat-compiler-autoloads guru-mode-autoloads hyperbole-autoloads
kotl-autoloads hact set hhist on-screen-autoloads osm-autoloads
pdf-tools-autoloads rust-mode-autoloads slime-autoloads
macrostep-autoloads speed-type-autoloads svg-clock-autoloads
tablist-autoloads transmission-autoloads uniquify-files-autoloads info
wisi-autoloads xelb-autoloads ytdious-autoloads package browse-url url
url-proxy url-privacy url-expand url-methods url-history url-cookie
generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse
auth-source cl-seq eieio eieio-core cl-macs icons password-cache json
subr-x map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib
rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook
vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win
term/common-win x-dnd touch-screen tool-bar dnd fontset image regexp-opt
fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode
register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select
scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors
frame minibuffer nadvice seq simple cl-generic indonesian philippine
cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese composite emoji-zwj charscript
charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure
cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp
files window text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget keymap hashtable-print-readable backquote
threads dbusbind kqueue lcms2 dynamic-setting system-font-setting
font-render-setting x-toolkit xinput2 x multi-tty move-toolbar
make-network-process emacs)
Memory information:
((conses 16 964347 636120) (symbols 48 54773 7)
(strings 32 259457 38112) (string-bytes 1 6534665)
(vectors 16 155489) (vector-slots 8 2164039 45468) (floats 8 604 125)
(intervals 56 24628 204) (buffers 992 167))
--
Manuel Giraud
^ permalink raw reply [flat|nested] 13+ messages in thread
* bug#74606: 31.0.50; Another rsvg API change
2024-11-29 16:42 bug#74606: 31.0.50; Another rsvg API change Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-11-30 11:06 ` Eli Zaretskii
2024-12-01 13:09 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 13+ messages in thread
From: Eli Zaretskii @ 2024-11-30 11:06 UTC (permalink / raw)
To: Manuel Giraud; +Cc: 74606
> Date: Fri, 29 Nov 2024 17:42:19 +0100
> From: Manuel Giraud via "Bug reports for GNU Emacs,
> the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
>
> This is not a bug (yet) per se but here is a new warning I get from
> compiling Emacs with librsvg version 2.59.2:
>
> CC image.o
> image.c: In function 'svg_load_image':
> image.c:12360:3: warning: 'rsvg_handle_get_pixbuf' is deprecated: Use 'rsvg_handle_get_pixbuf_and_error' instead [-Wdeprecated-declarations]
> 12360 | pixbuf = rsvg_handle_get_pixbuf (rsvg_handle);
> | ^~~~~~
> In file included from /usr/local/include/librsvg-2.0/librsvg/rsvg.h:1332,
> from image.c:11652:
> /usr/local/include/librsvg-2.0/librsvg/rsvg-pixbuf.h:55:12: note: declared here
> 55 | GdkPixbuf *rsvg_handle_get_pixbuf (RsvgHandle *handle);
> | ^~~~~~~~~~~~~~~~~~~~~~
The way to fix this is to add code conditioned on librsvg version that
uses rsvg_handle_get_pixbuf_and_error when available.
Thanks.
^ permalink raw reply [flat|nested] 13+ messages in thread
* bug#74606: 31.0.50; Another rsvg API change
2024-11-30 11:06 ` Eli Zaretskii
@ 2024-12-01 13:09 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-01 14:55 ` Eli Zaretskii
0 siblings, 1 reply; 13+ messages in thread
From: Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-01 13:09 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 74606
[-- Attachment #1: Type: text/plain, Size: 1257 bytes --]
Eli Zaretskii <eliz@gnu.org> writes:
>> Date: Fri, 29 Nov 2024 17:42:19 +0100
>> From: Manuel Giraud via "Bug reports for GNU Emacs,
>> the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
>>
>> This is not a bug (yet) per se but here is a new warning I get from
>> compiling Emacs with librsvg version 2.59.2:
>>
>> CC image.o
>> image.c: In function 'svg_load_image':
>> image.c:12360:3: warning: 'rsvg_handle_get_pixbuf' is deprecated: Use 'rsvg_handle_get_pixbuf_and_error' instead [-Wdeprecated-declarations]
>> 12360 | pixbuf = rsvg_handle_get_pixbuf (rsvg_handle);
>> | ^~~~~~
>> In file included from /usr/local/include/librsvg-2.0/librsvg/rsvg.h:1332,
>> from image.c:11652:
>> /usr/local/include/librsvg-2.0/librsvg/rsvg-pixbuf.h:55:12: note: declared here
>> 55 | GdkPixbuf *rsvg_handle_get_pixbuf (RsvgHandle *handle);
>> | ^~~~~~~~~~~~~~~~~~~~~~
>
> The way to fix this is to add code conditioned on librsvg version that
> uses rsvg_handle_get_pixbuf_and_error when available.
Ok. According to this:
https://gitlab.gnome.org/GNOME/librsvg/-/blob/main/include/librsvg/rsvg-pixbuf.h?ref_type=heads#L52
this API is deprecated since 2.58 so here is the patch for this change.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Update-to-version-2.58-of-librsvg-API-bug-74606.patch --]
[-- Type: text/x-patch, Size: 3064 bytes --]
From 767bef2e8355c1e3ac514fa1f3a342a36f643316 Mon Sep 17 00:00:00 2001
From: Manuel Giraud <manuel@ledu-giraud.fr>
Date: Sun, 1 Dec 2024 13:50:05 +0100
Subject: [PATCH] Update to version 2.58 of librsvg API (bug#74606)
* src/image.c (init_svg_functions): Declare new function.
(svg_load_image): Use it.
---
src/image.c | 26 +++++++++++++++++++++++---
1 file changed, 23 insertions(+), 3 deletions(-)
diff --git a/src/image.c b/src/image.c
index db7f6acd171..88b0f91413e 100644
--- a/src/image.c
+++ b/src/image.c
@@ -11706,7 +11706,11 @@ DEF_DLL_FN (void, rsvg_handle_get_dimensions,
DEF_DLL_FN (gboolean, rsvg_handle_set_stylesheet,
(RsvgHandle *, const guint8 *, gsize, GError **));
# endif
+# if LIBRSVG_CHECK_VERSION (2, 58, 0)
+DEF_DLL_FN (GdkPixbuf *, rsvg_handle_get_pixbuf_and_error, (RsvgHandle *, GError **));
+# else
DEF_DLL_FN (GdkPixbuf *, rsvg_handle_get_pixbuf, (RsvgHandle *));
+# endif
DEF_DLL_FN (int, gdk_pixbuf_get_width, (const GdkPixbuf *));
DEF_DLL_FN (int, gdk_pixbuf_get_height, (const GdkPixbuf *));
DEF_DLL_FN (guchar *, gdk_pixbuf_get_pixels, (const GdkPixbuf *));
@@ -11765,8 +11769,11 @@ init_svg_functions (void)
#if LIBRSVG_CHECK_VERSION (2, 48, 0)
LOAD_DLL_FN (library, rsvg_handle_set_stylesheet);
#endif
+#if LIBRSVG_CHECK_VERSION (2, 58, 0)
+ LOAD_DLL_FN (library, rsvg_handle_get_pixbuf_and_error);
+#else
LOAD_DLL_FN (library, rsvg_handle_get_pixbuf);
-
+#endif
LOAD_DLL_FN (gdklib, gdk_pixbuf_get_width);
LOAD_DLL_FN (gdklib, gdk_pixbuf_get_height);
LOAD_DLL_FN (gdklib, gdk_pixbuf_get_pixels);
@@ -11811,7 +11818,11 @@ init_svg_functions (void)
# if LIBRSVG_CHECK_VERSION (2, 48, 0)
# undef rsvg_handle_set_stylesheet
# endif
-# undef rsvg_handle_get_pixbuf
+# if LIBRSVG_CHECK_VERSION (2, 58, 0)
+# undef rsvg_handle_get_pixbuf_and_error
+# else
+# undef rsvg_handle_get_pixbuf
+# endif
# if LIBRSVG_CHECK_VERSION (2, 32, 0)
# undef g_file_new_for_path
# undef g_memory_input_stream_new_from_data
@@ -11852,7 +11863,11 @@ init_svg_functions (void)
# if LIBRSVG_CHECK_VERSION (2, 48, 0)
# define rsvg_handle_set_stylesheet fn_rsvg_handle_set_stylesheet
# endif
-# define rsvg_handle_get_pixbuf fn_rsvg_handle_get_pixbuf
+# if LIBRSVG_CHECK_VERSION (2, 58, 0)
+# define rsvg_handle_get_pixbuf_and_error fn_rsvg_handle_get_pixbuf_and_error
+# else
+# define rsvg_handle_get_pixbuf fn_rsvg_handle_get_pixbuf
+# endif
# if LIBRSVG_CHECK_VERSION (2, 32, 0)
# define g_file_new_for_path fn_g_file_new_for_path
# define g_memory_input_stream_new_from_data \
@@ -12357,8 +12372,13 @@ svg_load_image (struct frame *f, struct image *img, char *contents,
/* We can now get a valid pixel buffer from the svg file, if all
went ok. */
+#if LIBRSVG_CHECK_VERSION (2, 58, 0)
+ pixbuf = rsvg_handle_get_pixbuf_and_error (rsvg_handle, &err);
+ if (err) goto rsvg_error;
+#else
pixbuf = rsvg_handle_get_pixbuf (rsvg_handle);
if (!pixbuf) goto rsvg_error;
+#endif
g_object_unref (rsvg_handle);
xfree (wrapped_contents);
--
2.47.0
[-- Attachment #3: Type: text/plain, Size: 18 bytes --]
--
Manuel Giraud
^ permalink raw reply related [flat|nested] 13+ messages in thread
* bug#74606: 31.0.50; Another rsvg API change
2024-12-01 13:09 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-01 14:55 ` Eli Zaretskii
2024-12-02 11:58 ` Osama Rebach
0 siblings, 1 reply; 13+ messages in thread
From: Eli Zaretskii @ 2024-12-01 14:55 UTC (permalink / raw)
To: Manuel Giraud; +Cc: 74606-done
> From: Manuel Giraud <manuel@ledu-giraud.fr>
> Cc: 74606@debbugs.gnu.org
> Date: Sun, 01 Dec 2024 14:09:26 +0100
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> >> Date: Fri, 29 Nov 2024 17:42:19 +0100
> >> From: Manuel Giraud via "Bug reports for GNU Emacs,
> >> the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
> >>
> >> This is not a bug (yet) per se but here is a new warning I get from
> >> compiling Emacs with librsvg version 2.59.2:
> >>
> >> CC image.o
> >> image.c: In function 'svg_load_image':
> >> image.c:12360:3: warning: 'rsvg_handle_get_pixbuf' is deprecated: Use 'rsvg_handle_get_pixbuf_and_error' instead [-Wdeprecated-declarations]
> >> 12360 | pixbuf = rsvg_handle_get_pixbuf (rsvg_handle);
> >> | ^~~~~~
> >> In file included from /usr/local/include/librsvg-2.0/librsvg/rsvg.h:1332,
> >> from image.c:11652:
> >> /usr/local/include/librsvg-2.0/librsvg/rsvg-pixbuf.h:55:12: note: declared here
> >> 55 | GdkPixbuf *rsvg_handle_get_pixbuf (RsvgHandle *handle);
> >> | ^~~~~~~~~~~~~~~~~~~~~~
> >
> > The way to fix this is to add code conditioned on librsvg version that
> > uses rsvg_handle_get_pixbuf_and_error when available.
>
> Ok. According to this:
> https://gitlab.gnome.org/GNOME/librsvg/-/blob/main/include/librsvg/rsvg-pixbuf.h?ref_type=heads#L52
>
> this API is deprecated since 2.58 so here is the patch for this change.
Thanks, installed on the emacs-30 branch, and closing the bug.
^ permalink raw reply [flat|nested] 13+ messages in thread
* bug#74606: 31.0.50; Another rsvg API change
2024-12-01 14:55 ` Eli Zaretskii
@ 2024-12-02 11:58 ` Osama Rebach
2024-12-02 13:45 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 13+ messages in thread
From: Osama Rebach @ 2024-12-02 11:58 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 74606-done, manuel
rsvg_handle_get_pixbuf_and_error is defined in librsvg 2.59, so the patch
should guard against 2.59 instead of 2.58
I have libsrvg 2.58.3 and get this error:
image.c: In function 'svg_load_image':
image.c:12376:12: warning: implicit declaration of function 'rsvg_handle_get_pixbuf_and_error'; did you mean 'rsvg_handle_get_pixbuf_sub'? [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wimplicit-function-declaration-Wimplicit-function-declaration8;;]
12376 | pixbuf = rsvg_handle_get_pixbuf_and_error (rsvg_handle, &err);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| rsvg_handle_get_pixbuf_sub
image.c:12376:10: warning: assignment to 'GdkPixbuf *' {aka 'struct _GdkPixbuf *'} from 'int' makes pointer from integer without a cast [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wint-conversion-Wint-conversion8;;]
12376 | pixbuf = rsvg_handle_get_pixbuf_and_error (rsvg_handle, &err);
| ^
CC lastfile.o
CCLD temacs
GEN ../etc/DOC
/nix/store/va7kw1i822h95im4jacci19v0cqajfyf-binutils-2.43.1/bin/ld: image.o: in function `svg_load_image':
image.c:(.text+0x7a89): undefined reference to `rsvg_handle_get_pixbuf_and_error'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:745: temacs] Error 1
make[2]: Leaving directory '/build/source/src'
make[1]: *** [Makefile:554: src] Error 2
make[1]: Leaving directory '/build/source'
make[1]: Entering directory '/build/source'
***
*** "make all" failed with exit status 2.
***
*** You could try to:
*** - run "make bootstrap", which might fix the problem
*** - run "make V=1", which displays the full commands invoked by make,
*** to further investigate the problem
***
make[1]: *** [Makefile:418: advice-on-failure] Error 2
make[1]: Leaving directory '/build/source'
make: *** [Makefile:374: all] Error 2
^ permalink raw reply [flat|nested] 13+ messages in thread
* bug#74606: 31.0.50; Another rsvg API change
2024-12-02 11:58 ` Osama Rebach
@ 2024-12-02 13:45 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-02 14:06 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 13+ messages in thread
From: Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-02 13:45 UTC (permalink / raw)
To: Osama Rebach; +Cc: Eli Zaretskii, 74606-done
Osama Rebach <osamarebach@gmail.com> writes:
> rsvg_handle_get_pixbuf_and_error is defined in librsvg 2.59, so the patch
> should guard against 2.59 instead of 2.58
Thanks. I have based my patch on this comment:
https://gitlab.gnome.org/GNOME/librsvg/-/blob/main/include/librsvg/rsvg-pixbuf.h?ref_type=heads#L52
Now, I'm looking on the librsvg repo for a more valid source of
information.
--
Manuel Giraud
^ permalink raw reply [flat|nested] 13+ messages in thread
* bug#74606: 31.0.50; Another rsvg API change
2024-12-02 13:45 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-02 14:06 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-02 14:14 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 13+ messages in thread
From: Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-02 14:06 UTC (permalink / raw)
To: Osama Rebach; +Cc: Eli Zaretskii, 74606-done
Manuel Giraud <manuel@ledu-giraud.fr> writes:
> Osama Rebach <osamarebach@gmail.com> writes:
>
>> rsvg_handle_get_pixbuf_and_error is defined in librsvg 2.59, so the patch
>> should guard against 2.59 instead of 2.58
>
> Thanks. I have based my patch on this comment:
> https://gitlab.gnome.org/GNOME/librsvg/-/blob/main/include/librsvg/rsvg-pixbuf.h?ref_type=heads#L52
>
> Now, I'm looking on the librsvg repo for a more valid source of
> information.
Ok, so if I'm not mistaken the patch that introduces the
rsvg_handle_get_pixbuf_and_error API (and deprecated the other) is this
one:
https://gitlab.gnome.org/GNOME/librsvg/-/commit/85cdba02a3e126c1099a62b3d6421ac0cb2d790b
On this page, when you unfold the link "Tags containing commit", you can
see that 2.58.90 is the first one. So maybe, I should use this version
instead. WDYT?
The "Deprecated: 2.58" from the header looks like a copy/paste mistake.
--
Manuel Giraud
^ permalink raw reply [flat|nested] 13+ messages in thread
* bug#74606: 31.0.50; Another rsvg API change
2024-12-02 14:06 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-02 14:14 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-02 14:41 ` Eli Zaretskii
0 siblings, 1 reply; 13+ messages in thread
From: Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-02 14:14 UTC (permalink / raw)
To: Osama Rebach; +Cc: Eli Zaretskii, 74606-done
[-- Attachment #1: Type: text/plain, Size: 1039 bytes --]
Manuel Giraud <manuel@ledu-giraud.fr> writes:
> Manuel Giraud <manuel@ledu-giraud.fr> writes:
>
>> Osama Rebach <osamarebach@gmail.com> writes:
>>
>>> rsvg_handle_get_pixbuf_and_error is defined in librsvg 2.59, so the patch
>>> should guard against 2.59 instead of 2.58
>>
>> Thanks. I have based my patch on this comment:
>> https://gitlab.gnome.org/GNOME/librsvg/-/blob/main/include/librsvg/rsvg-pixbuf.h?ref_type=heads#L52
>>
>> Now, I'm looking on the librsvg repo for a more valid source of
>> information.
>
> Ok, so if I'm not mistaken the patch that introduces the
> rsvg_handle_get_pixbuf_and_error API (and deprecated the other) is this
> one:
> https://gitlab.gnome.org/GNOME/librsvg/-/commit/85cdba02a3e126c1099a62b3d6421ac0cb2d790b
>
> On this page, when you unfold the link "Tags containing commit", you can
> see that 2.58.90 is the first one. So maybe, I should use this version
> instead. WDYT?
>
> The "Deprecated: 2.58" from the header looks like a copy/paste
> mistake.
Here is a patch to be applied on emacs-30.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Fix-the-version-of-librsvg-API-change.patch --]
[-- Type: text/x-patch, Size: 2394 bytes --]
From 5ffc64b52427309a9e171d54520ecab2e408d62e Mon Sep 17 00:00:00 2001
From: Manuel Giraud <manuel@ledu-giraud.fr>
Date: Mon, 2 Dec 2024 15:11:52 +0100
Subject: [PATCH] Fix the version of librsvg API change
* src/image.c (init_svg_functions, svg_load_image): The version
introducing 'rsvg_handle_get_pixbuf_and_error' is 2.58.90 not
2.58.0.
---
src/image.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/image.c b/src/image.c
index 43220758324..46e8b48aced 100644
--- a/src/image.c
+++ b/src/image.c
@@ -11688,7 +11688,7 @@ DEF_DLL_FN (void, rsvg_handle_get_dimensions,
DEF_DLL_FN (gboolean, rsvg_handle_set_stylesheet,
(RsvgHandle *, const guint8 *, gsize, GError **));
# endif
-# if LIBRSVG_CHECK_VERSION (2, 58, 0)
+# if LIBRSVG_CHECK_VERSION (2, 58, 90)
DEF_DLL_FN (GdkPixbuf *, rsvg_handle_get_pixbuf_and_error, (RsvgHandle *, GError **));
# else
DEF_DLL_FN (GdkPixbuf *, rsvg_handle_get_pixbuf, (RsvgHandle *));
@@ -11751,7 +11751,7 @@ init_svg_functions (void)
#if LIBRSVG_CHECK_VERSION (2, 48, 0)
LOAD_DLL_FN (library, rsvg_handle_set_stylesheet);
#endif
-#if LIBRSVG_CHECK_VERSION (2, 58, 0)
+#if LIBRSVG_CHECK_VERSION (2, 58, 90)
LOAD_DLL_FN (library, rsvg_handle_get_pixbuf_and_error);
#else
LOAD_DLL_FN (library, rsvg_handle_get_pixbuf);
@@ -11800,7 +11800,7 @@ init_svg_functions (void)
# if LIBRSVG_CHECK_VERSION (2, 48, 0)
# undef rsvg_handle_set_stylesheet
# endif
-# if LIBRSVG_CHECK_VERSION (2, 58, 0)
+# if LIBRSVG_CHECK_VERSION (2, 58, 90)
# undef rsvg_handle_get_pixbuf_and_error
# else
# undef rsvg_handle_get_pixbuf
@@ -11845,7 +11845,7 @@ init_svg_functions (void)
# if LIBRSVG_CHECK_VERSION (2, 48, 0)
# define rsvg_handle_set_stylesheet fn_rsvg_handle_set_stylesheet
# endif
-# if LIBRSVG_CHECK_VERSION (2, 58, 0)
+# if LIBRSVG_CHECK_VERSION (2, 58, 90)
# define rsvg_handle_get_pixbuf_and_error fn_rsvg_handle_get_pixbuf_and_error
# else
# define rsvg_handle_get_pixbuf fn_rsvg_handle_get_pixbuf
@@ -12354,7 +12354,7 @@ svg_load_image (struct frame *f, struct image *img, char *contents,
/* We can now get a valid pixel buffer from the svg file, if all
went ok. */
-#if LIBRSVG_CHECK_VERSION (2, 58, 0)
+#if LIBRSVG_CHECK_VERSION (2, 58, 90)
pixbuf = rsvg_handle_get_pixbuf_and_error (rsvg_handle, &err);
if (err) goto rsvg_error;
#else
--
2.47.0
[-- Attachment #3: Type: text/plain, Size: 18 bytes --]
--
Manuel Giraud
^ permalink raw reply related [flat|nested] 13+ messages in thread
* bug#74606: 31.0.50; Another rsvg API change
2024-12-02 14:14 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-02 14:41 ` Eli Zaretskii
2024-12-02 15:02 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 13+ messages in thread
From: Eli Zaretskii @ 2024-12-02 14:41 UTC (permalink / raw)
To: Manuel Giraud; +Cc: 74606, osamarebach
> From: Manuel Giraud <manuel@ledu-giraud.fr>
> Cc: Eli Zaretskii <eliz@gnu.org>, 74606-done@debbugs.gnu.org
> Date: Mon, 02 Dec 2024 15:14:54 +0100
>
> > On this page, when you unfold the link "Tags containing commit", you can
> > see that 2.58.90 is the first one. So maybe, I should use this version
> > instead. WDYT?
> >
> > The "Deprecated: 2.58" from the header looks like a copy/paste
> > mistake.
>
> Here is a patch to be applied on emacs-30.
Thanks, but did you verify that 2.58.90 actually has this function?
Is the tarball of that version's sources available somewhere we could
check?
Alternatively, we could use 2.59, since 2.58.90 is a pretest, so I see
no catastrophe if someone sees warnings while using it.
^ permalink raw reply [flat|nested] 13+ messages in thread
* bug#74606: 31.0.50; Another rsvg API change
2024-12-02 14:41 ` Eli Zaretskii
@ 2024-12-02 15:02 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-02 15:11 ` Eli Zaretskii
0 siblings, 1 reply; 13+ messages in thread
From: Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-02 15:02 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 74606, osamarebach
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Manuel Giraud <manuel@ledu-giraud.fr>
>> Cc: Eli Zaretskii <eliz@gnu.org>, 74606-done@debbugs.gnu.org
>> Date: Mon, 02 Dec 2024 15:14:54 +0100
>>
>> > On this page, when you unfold the link "Tags containing commit", you can
>> > see that 2.58.90 is the first one. So maybe, I should use this version
>> > instead. WDYT?
>> >
>> > The "Deprecated: 2.58" from the header looks like a copy/paste
>> > mistake.
>>
>> Here is a patch to be applied on emacs-30.
>
> Thanks, but did you verify that 2.58.90 actually has this function?
> Is the tarball of that version's sources available somewhere we could
> check?
No I didn't. I've only used the commit log.
> Alternatively, we could use 2.59, since 2.58.90 is a pretest, so I see
> no catastrophe if someone sees warnings while using it.
I agree: no catastrophe and low probability too. Do you want me to
modify the patch to check for 2.59?
--
Manuel Giraud
^ permalink raw reply [flat|nested] 13+ messages in thread
* bug#74606: 31.0.50; Another rsvg API change
2024-12-02 15:02 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-02 15:11 ` Eli Zaretskii
2024-12-02 16:03 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 13+ messages in thread
From: Eli Zaretskii @ 2024-12-02 15:11 UTC (permalink / raw)
To: Manuel Giraud; +Cc: 74606, osamarebach
> From: Manuel Giraud <manuel@ledu-giraud.fr>
> Cc: osamarebach@gmail.com, 74606@debbugs.gnu.org
> Date: Mon, 02 Dec 2024 16:02:40 +0100
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> >> From: Manuel Giraud <manuel@ledu-giraud.fr>
> >> Cc: Eli Zaretskii <eliz@gnu.org>, 74606-done@debbugs.gnu.org
> >> Date: Mon, 02 Dec 2024 15:14:54 +0100
> >>
> >> > On this page, when you unfold the link "Tags containing commit", you can
> >> > see that 2.58.90 is the first one. So maybe, I should use this version
> >> > instead. WDYT?
> >> >
> >> > The "Deprecated: 2.58" from the header looks like a copy/paste
> >> > mistake.
> >>
> >> Here is a patch to be applied on emacs-30.
> >
> > Thanks, but did you verify that 2.58.90 actually has this function?
> > Is the tarball of that version's sources available somewhere we could
> > check?
>
> No I didn't. I've only used the commit log.
>
> > Alternatively, we could use 2.59, since 2.58.90 is a pretest, so I see
> > no catastrophe if someone sees warnings while using it.
>
> I agree: no catastrophe and low probability too. Do you want me to
> modify the patch to check for 2.59?
Yes, please.
^ permalink raw reply [flat|nested] 13+ messages in thread
* bug#74606: 31.0.50; Another rsvg API change
2024-12-02 15:11 ` Eli Zaretskii
@ 2024-12-02 16:03 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-02 16:24 ` Eli Zaretskii
0 siblings, 1 reply; 13+ messages in thread
From: Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-02 16:03 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 74606, osamarebach
[-- Attachment #1: Type: text/plain, Size: 1235 bytes --]
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Manuel Giraud <manuel@ledu-giraud.fr>
>> Cc: osamarebach@gmail.com, 74606@debbugs.gnu.org
>> Date: Mon, 02 Dec 2024 16:02:40 +0100
>>
>> Eli Zaretskii <eliz@gnu.org> writes:
>>
>> >> From: Manuel Giraud <manuel@ledu-giraud.fr>
>> >> Cc: Eli Zaretskii <eliz@gnu.org>, 74606-done@debbugs.gnu.org
>> >> Date: Mon, 02 Dec 2024 15:14:54 +0100
>> >>
>> >> > On this page, when you unfold the link "Tags containing commit", you can
>> >> > see that 2.58.90 is the first one. So maybe, I should use this version
>> >> > instead. WDYT?
>> >> >
>> >> > The "Deprecated: 2.58" from the header looks like a copy/paste
>> >> > mistake.
>> >>
>> >> Here is a patch to be applied on emacs-30.
>> >
>> > Thanks, but did you verify that 2.58.90 actually has this function?
>> > Is the tarball of that version's sources available somewhere we could
>> > check?
>>
>> No I didn't. I've only used the commit log.
>>
>> > Alternatively, we could use 2.59, since 2.58.90 is a pretest, so I see
>> > no catastrophe if someone sees warnings while using it.
>>
>> I agree: no catastrophe and low probability too. Do you want me to
>> modify the patch to check for 2.59?
>
> Yes, please.
Here it is.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Fix-the-version-of-librsvg-API-change.patch --]
[-- Type: text/x-patch, Size: 2407 bytes --]
From 5f9f676dce22afbc477b555b610dd0adeefa37f2 Mon Sep 17 00:00:00 2001
From: Manuel Giraud <manuel@ledu-giraud.fr>
Date: Mon, 2 Dec 2024 15:11:52 +0100
Subject: [PATCH] Fix the version of librsvg API change
* src/image.c (init_svg_functions, svg_load_image): The first
official version that introduces
'rsvg_handle_get_pixbuf_and_error' is 2.59.0 not 2.58.0.
---
src/image.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/image.c b/src/image.c
index 43220758324..0012abcb451 100644
--- a/src/image.c
+++ b/src/image.c
@@ -11688,7 +11688,7 @@ DEF_DLL_FN (void, rsvg_handle_get_dimensions,
DEF_DLL_FN (gboolean, rsvg_handle_set_stylesheet,
(RsvgHandle *, const guint8 *, gsize, GError **));
# endif
-# if LIBRSVG_CHECK_VERSION (2, 58, 0)
+# if LIBRSVG_CHECK_VERSION (2, 59, 0)
DEF_DLL_FN (GdkPixbuf *, rsvg_handle_get_pixbuf_and_error, (RsvgHandle *, GError **));
# else
DEF_DLL_FN (GdkPixbuf *, rsvg_handle_get_pixbuf, (RsvgHandle *));
@@ -11751,7 +11751,7 @@ init_svg_functions (void)
#if LIBRSVG_CHECK_VERSION (2, 48, 0)
LOAD_DLL_FN (library, rsvg_handle_set_stylesheet);
#endif
-#if LIBRSVG_CHECK_VERSION (2, 58, 0)
+#if LIBRSVG_CHECK_VERSION (2, 59, 0)
LOAD_DLL_FN (library, rsvg_handle_get_pixbuf_and_error);
#else
LOAD_DLL_FN (library, rsvg_handle_get_pixbuf);
@@ -11800,7 +11800,7 @@ init_svg_functions (void)
# if LIBRSVG_CHECK_VERSION (2, 48, 0)
# undef rsvg_handle_set_stylesheet
# endif
-# if LIBRSVG_CHECK_VERSION (2, 58, 0)
+# if LIBRSVG_CHECK_VERSION (2, 59, 0)
# undef rsvg_handle_get_pixbuf_and_error
# else
# undef rsvg_handle_get_pixbuf
@@ -11845,7 +11845,7 @@ init_svg_functions (void)
# if LIBRSVG_CHECK_VERSION (2, 48, 0)
# define rsvg_handle_set_stylesheet fn_rsvg_handle_set_stylesheet
# endif
-# if LIBRSVG_CHECK_VERSION (2, 58, 0)
+# if LIBRSVG_CHECK_VERSION (2, 59, 0)
# define rsvg_handle_get_pixbuf_and_error fn_rsvg_handle_get_pixbuf_and_error
# else
# define rsvg_handle_get_pixbuf fn_rsvg_handle_get_pixbuf
@@ -12354,7 +12354,7 @@ svg_load_image (struct frame *f, struct image *img, char *contents,
/* We can now get a valid pixel buffer from the svg file, if all
went ok. */
-#if LIBRSVG_CHECK_VERSION (2, 58, 0)
+#if LIBRSVG_CHECK_VERSION (2, 59, 0)
pixbuf = rsvg_handle_get_pixbuf_and_error (rsvg_handle, &err);
if (err) goto rsvg_error;
#else
--
2.47.0
[-- Attachment #3: Type: text/plain, Size: 18 bytes --]
--
Manuel Giraud
^ permalink raw reply related [flat|nested] 13+ messages in thread
* bug#74606: 31.0.50; Another rsvg API change
2024-12-02 16:03 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-02 16:24 ` Eli Zaretskii
0 siblings, 0 replies; 13+ messages in thread
From: Eli Zaretskii @ 2024-12-02 16:24 UTC (permalink / raw)
To: Manuel Giraud; +Cc: 74606, osamarebach
> From: Manuel Giraud <manuel@ledu-giraud.fr>
> Cc: osamarebach@gmail.com, 74606@debbugs.gnu.org
> Date: Mon, 02 Dec 2024 17:03:34 +0100
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> >> > Alternatively, we could use 2.59, since 2.58.90 is a pretest, so I see
> >> > no catastrophe if someone sees warnings while using it.
> >>
> >> I agree: no catastrophe and low probability too. Do you want me to
> >> modify the patch to check for 2.59?
> >
> > Yes, please.
>
> Here it is.
Thanks, installed.
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2024-12-02 16:24 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-29 16:42 bug#74606: 31.0.50; Another rsvg API change Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-30 11:06 ` Eli Zaretskii
2024-12-01 13:09 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-01 14:55 ` Eli Zaretskii
2024-12-02 11:58 ` Osama Rebach
2024-12-02 13:45 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-02 14:06 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-02 14:14 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-02 14:41 ` Eli Zaretskii
2024-12-02 15:02 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-02 15:11 ` Eli Zaretskii
2024-12-02 16:03 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-02 16:24 ` Eli Zaretskii
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).