Emacs crashes due to symbol lookup error to rsvg_handle_set_stylesheet

  • Open
  • quality assurance status badge
Details
4 participants
  • arnaud.lechevallier
  • grokking Stuff
  • Liliana Marie Prikler
  • Maxime Devos
Owner
unassigned
Submitted by
grokking Stuff
Severity
normal
G
G
grokking Stuff wrote on 25 Aug 2022 21:12
(address . bug-guix@gnu.org)
173C51E9-89F7-49D2-98E3-19C515FD406E@gmail.com
Hey fellow Guix users,

I’m trying to use Emacs on my system but it tends to crash unexpectedly.

When launching it from a terminal, I get:

Toggle quote (6 lines)
> grokkingstuff@grokkingNoether ~$ emacs
> (process:32402): Gtk-WARNING **: 22:59:14.455: Locale not supported by C library.
> Using the fallback 'C' locale.
> /home/grokkingstuff/.guix-profile/bin/emacs: symbol lookup error: /home/grokkingstuff/.guix-profile/bin/emacs: undefined symbol: rsvg_handle_set_stylesheet


Trying to use emacs -q, I get a similar message, but it just crashes quickly.

Toggle quote (5 lines)
> ^Cgrokkingstuff@grokkingNoether ~$ emacs-29.0.50 -q
> (process:4018): Gtk-WARNING **: 23:08:35.207: Locale not supported by C library.
> Using the fallback 'C' locale.
> /home/grokkingstuff/.guix-profile/bin/emacs-29.0.50: symbol lookup error: /home/grokkingstuff/.guix-profile/bin/emacs-29.0.50: undefined symbol: rsvg_handle_set_stylesheet

I have librsvg installed, and a few Google searches seem to indicate that this is the issue. I’ve tried building from source using "guix install -S” but I don’t see any difference.

If there’s anything I could do to assist with this bug report, please let me know. Thank you so much for your time and effort.

Sincerely,
Vishakh Kumar (grokkingstuff)
L
L
Liliana Marie Prikler wrote on 26 Aug 2022 17:41
a02be1face44d39c89feb7e458a3e3406da7ba2d.camel@gmail.com
Am Donnerstag, dem 25.08.2022 um 23:12 +0400 schrieb grokking Stuff:
Toggle quote (14 lines)
> Hey fellow Guix users,
>
> I’m trying to use Emacs on my system but it tends to crash
> unexpectedly.
>
> When launching it from a terminal, I get:
>
> > grokkingstuff@grokkingNoether ~$ emacs
> > (process:32402): Gtk-WARNING **: 22:59:14.455: Locale not supported
> > by C library.
> >         Using the fallback 'C' locale.
> > /home/grokkingstuff/.guix-profile/bin/emacs: symbol lookup error:
> > /home/grokkingstuff/.guix-profile/bin/emacs: undefined symbol:
> > rsvg_handle_set_stylesheet
Looking at this output, it seems Emacs is trying to dynamically link
librsvg. Two issues spring to mind: First, this kind of linkage is not
that well supported by Guix, so we tend to substitute* the full path.
Is this done for librsvg? Second, there might be a (version) mismatch
between the librsvg Emacs expects and the one it gets. Does
rsvg_handle_set_stylesheet actually exist as a symbol in your librsvg?

Cheers
A
A
arnaud.lechevallier wrote on 10 Nov 2022 19:13
Emacs crashes due to symbol lookup error to rsvg_handle_set_stylesheet
(address . 57417@debbugs.gnu.org)
1825883117.357009617.1668104007933.JavaMail.root@zimbra81-e14.priv.proxad.net
Hi there,

I'm facing the same issue from a fresh 1.3 installation I did on a VM.
Emacs28.2 is linked against librsvg-2.40.21 which do not provide rsvg_handle_set_stylesheet function.

altomcat@guix ~/.config$ libtree /gnu/store/jpi4h6afvkifypxjxdpgrdm4shnmavwf-emacs-28.2/bin/.emacs-28.2-real | grep rsvg
? ? ? ? /gnu/store/3r3sxc1ywqs93rzj4z46p0cbdy1y1x7m-librsvg-2.40.21/lib
??? librsvg-2.so.2 [LD_LIBRARY_PATH]
? ? /gnu/store/3r3sxc1ywqs93rzj4z46p0cbdy1y1x7m-librsvg-2.40.21/lib
? ? /gnu/store/3r3sxc1ywqs93rzj4z46p0cbdy1y1x7m-librsvg-2.40.21/lib
Error [/gnu/store/jpi4h6afvkifypxjxdpgrdm4shnmavwf-emacs-28.2/bin/.emacs-28.2-real]: Not all dependencies were found

altomcat@guix ~/.config$ echo $LD_LIBRARY_PATH
/gnu/store/piln05qmyhyiqb3ggn2hvz1wagzvd8mc-gdk-pixbuf+svg-2.40.0/lib:/gnu/store/cydnixdcrvlizpcz3jkas5vpgd2dmd5z-gnome-bluetooth-3.34.2/lib:/gnu/store/3r3sxc1ywqs93rzj4z46p0cbdy1y1x7m-librsvg-2.40.21/lib:/gnu/store/8902rzyhkzs30c8z9xjkmmdrh2dq1ha7-libgweather-3.34.0/lib

Emacs runs well if I insert the path of librsvg-2.50.7 to LD_LIBRARY_PATH as follow

export LD_LIBRARY_PATH=/gnu/store/34yxh2p22yaiisb1ayp43ig06hdlj0wg-librsvg-2.50.7/lib:$LD_LIBRARY_PATH

I checked the package definition with `guix edit emacs`
...
;; When looking for libpng `configure' links with `-lpng -lz', so we
;; must also provide zlib as an input.
libpng
zlib
(if (target-x86-64?)
librsvg-bootstrap
librsvg-2.40) => need to be change ?
libxpm
libxml2
...

I'm a newbie and I hope these details can help. I would appreciate a little help to go further and solve this issue.
Thanks.
M
M
Maxime Devos wrote on 10 Nov 2022 23:31
a5d4f23c-b569-5172-7c68-678976a94b1f@telenet.be
On 10-11-2022 19:13, arnaud.lechevallier@free.fr wrote:
Toggle quote (16 lines)
>[...]
> I checked the package definition with `guix edit emacs`
> ...
> ;; When looking for libpng `configure' links with `-lpng -lz', so we
> ;; must also provide zlib as an input.
> libpng
> zlib
> (if (target-x86-64?)
> librsvg-bootstrap
> librsvg-2.40) => need to be change ?
> libxpm
> libxml2
> ...
>
> I'm a newbie and I hope these details can help. I would appreciate a little help to go further and solve this issue.
> Thanks.
Which architecture are you on? You can find out with
$ echo '(use-modules (guix utils)) (%current-system)' | guix repl
Same question for Vishakh Kumar.
Greetings,
Maxime.
Attachment: OpenPGP_signature
A
A
arnaud.lechevallier wrote on 11 Nov 2022 08:56
(address . 57417@debbugs.gnu.org)
1209629274.358911526.1668153368079.JavaMail.root@zimbra81-e14.priv.proxad.net
Hi Maxime,

Toggle quote (3 lines)
> Which architecture are you on? You can find out with
> $ echo '(use-modules (guix utils)) (%current-system)' | guix repl

$1 = "x86_64-linux"


Running emacs command failed but 'emacs -Q' works.

altomcat@guix ~$ emacs

(process:1306): Gtk-WARNING **: 08:41:25.920: Locale not supported by C library.
Using the fallback 'C' locale.
/home/altomcat/.guix-profile/bin/emacs: symbol lookup error: /home/altomcat/.guix-profile/bin/emacs: undefined symbol: rsvg_handle_set_stylesheet
altomcat@guix ~$ emacs -Q

(process:1314): Gtk-WARNING **: 08:41:29.223: Locale not supported by C library.
Using the fallback 'C' locale.

Thanks,
Arnaud
M
M
Maxime Devos wrote on 11 Nov 2022 17:00
d5cbfc2e-46d9-edd0-2029-baebeeb630ef@telenet.be
On 11-11-2022 08:56, arnaud.lechevallier@free.fr wrote:
Toggle quote (7 lines)
> Hi Maxime,
>
>> Which architecture are you on? You can find out with
>> $ echo '(use-modules (guix utils)) (%current-system)' | guix repl
>
> $1 = "x86_64-linux"
>
Then unless 'grokking Stuff' has a different system, I am not following
their proposal, because because on x86-64 ...
Toggle quote (3 lines)
> (if (target-x86-64?)
> librsvg-bootstrap
> librsvg-2.40) => need to be change ?
... the first branch would be taken, so changing the second branch would
have no effect. However, perhaps the rsvg_handle_set_stylesheet is only
present in the 'librsvg', and not in 'librsvg-bootstrap' (I wouldn't
expect that as they are the same version, but it could be tested). If
so, librsvg-for-system could be used instead, at cost of some rebuilds.
Greetings,
Maxime
Attachment: OpenPGP_signature
?