Fwd: Guile-gnome package broken in Guix

  • Open
  • quality assurance status badge
Details
One participant
  • swedebugia
Owner
unassigned
Submitted by
swedebugia
Severity
normal
S
S
swedebugia wrote on 16 Feb 2019 12:02
(name . Report new Guix bug)(address . bug-guix@gnu.org)
faf488e1-9f75-1ff3-0cc2-89cd6c54fbfb@riseup.net
The files end up in profile/share/guile-gnome-2/... which is not in
guiles load path.

The result of running the examples:
(first get it with guix build --source)


$ guile -s hello.scm
...
ERROR: In procedure scm-error:
no code for module (gnome gobject)



-------- Forwarded Message --------
Subject: Guile-gnome package broken in Guix
Date: Sat, 16 Feb 2019 11:47:13 +0100
From: swedebugia <swedebugia@riseup.net>
To: guile-gtk-general@gnu.org

Hi

I would really like to start creating my first gtk program with guile.

The package guile-gnome in guix is unfortunately broken and the docs and
examples are missing.

I tried fixing the package but it seems I do not understand gtk nor
autotools well enough to succeed.

I got these questions:

* why are there no TARGET_DIR in the makefiles?
* what is the purpose of the "guilesite" variable?
* what is the purpose of the files in /defs/gnome/defs ? The makefile
there seems to try to check for stuff in DEFS_HEADER_DIR = /usr/include

Thanks in advance.

--
Cheers Swedebugia
S
S
swedebugia wrote on 16 Feb 2019 13:28
(address . 34499@debbugs.gnu.org)
62956f1e-5010-1d4d-cce4-9b072a9f0dec@riseup.net
On 2019-02-16 12:02, swedebugia wrote:
Toggle quote (13 lines)
> The files end up in profile/share/guile-gnome-2/... which is not in
> guiles load path.
>
> The result of running the examples:
> (first get it with guix build --source)
>
>
> $ guile -s hello.scm
> ...
> ERROR: In procedure scm-error:
> no code for module (gnome gobject)
>

Trying to set the right load path results in this error:

guile-gnome-platform-2.16.5/gtk/examples$ guile -L
~/.guix-profile/share/guile-gnome-2/ -s hello.scm
guile: warning: failed to install locale
;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
;;; or pass the --no-auto-compile argument to disable.
;;; compiling
/home/sdb/src/guile-gnome-platform-2.16.5/gtk/examples/hello.scm
;;; compiling /home/sdb/.guix-profile/share/guile-gnome-2/gnome/gobject.scm
;;; compiling
/home/sdb/.guix-profile/share/guile-gnome-2/gnome/gobject/gtype.scm
;;; compiling
/home/sdb/.guix-profile/share/guile-gnome-2/gnome/gobject/utils.scm
;;; compiled
/home/sdb/.cache/guile/ccache/2.2-LE-8-3.A/gnu/store/99nyg5hqmnk4l42xv018wmckby54yq2y-guile-gnome-2.16.5/share/guile-gnome-2/gnome/gobject/utils.scm.go
;;; compiling
/home/sdb/.guix-profile/share/guile-gnome-2/gnome/gobject/config.scm
;;; compiled
/home/sdb/.cache/guile/ccache/2.2-LE-8-3.A/gnu/store/99nyg5hqmnk4l42xv018wmckby54yq2y-guile-gnome-2.16.5/share/guile-gnome-2/gnome/gobject/config.scm.go
;;; compiled
/home/sdb/.cache/guile/ccache/2.2-LE-8-3.A/gnu/store/99nyg5hqmnk4l42xv018wmckby54yq2y-guile-gnome-2.16.5/share/guile-gnome-2/gnome/gobject/gtype.scm.go
;;; compiling
/home/sdb/.guix-profile/share/guile-gnome-2/gnome/gobject/gvalue.scm
;;; compiled
/home/sdb/.cache/guile/ccache/2.2-LE-8-3.A/gnu/store/99nyg5hqmnk4l42xv018wmckby54yq2y-guile-gnome-2.16.5/share/guile-gnome-2/gnome/gobject/gvalue.scm.go
;;; compiling
/home/sdb/.guix-profile/share/guile-gnome-2/gnome/gobject/gclosure.scm
;;; compiled
/home/sdb/.cache/guile/ccache/2.2-LE-8-3.A/gnu/store/99nyg5hqmnk4l42xv018wmckby54yq2y-guile-gnome-2.16.5/share/guile-gnome-2/gnome/gobject/gclosure.scm.go
;;; compiling
/home/sdb/.guix-profile/share/guile-gnome-2/gnome/gobject/gsignal.scm
;;; compiled
/home/sdb/.cache/guile/ccache/2.2-LE-8-3.A/gnu/store/99nyg5hqmnk4l42xv018wmckby54yq2y-guile-gnome-2.16.5/share/guile-gnome-2/gnome/gobject/gsignal.scm.go
;;; compiling
/home/sdb/.guix-profile/share/guile-gnome-2/gnome/gobject/gparameter.scm
;;; compiled
/home/sdb/.cache/guile/ccache/2.2-LE-8-3.A/gnu/store/99nyg5hqmnk4l42xv018wmckby54yq2y-guile-gnome-2.16.5/share/guile-gnome-2/gnome/gobject/gparameter.scm.go
;;; compiling
/home/sdb/.guix-profile/share/guile-gnome-2/gnome/gobject/gobject.scm
;;; compiled
/home/sdb/.cache/guile/ccache/2.2-LE-8-3.A/gnu/store/99nyg5hqmnk4l42xv018wmckby54yq2y-guile-gnome-2.16.5/share/guile-gnome-2/gnome/gobject/gobject.scm.go
;;; compiling
/home/sdb/.guix-profile/share/guile-gnome-2/gnome/gw/support/modules.scm
;;; compiled
/home/sdb/.cache/guile/ccache/2.2-LE-8-3.A/gnu/store/99nyg5hqmnk4l42xv018wmckby54yq2y-guile-gnome-2.16.5/share/guile-gnome-2/gnome/gw/support/modules.scm.go
;;; compiled
/home/sdb/.cache/guile/ccache/2.2-LE-8-3.A/gnu/store/99nyg5hqmnk4l42xv018wmckby54yq2y-guile-gnome-2.16.5/share/guile-gnome-2/gnome/gobject.scm.go
;;; compiling /home/sdb/.guix-profile/share/guile-gnome-2/gnome/gtk.scm
;;; compiling
/home/sdb/.guix-profile/share/guile-gnome-2/gnome/gobject/generics.scm
;;; compiled
/home/sdb/.cache/guile/ccache/2.2-LE-8-3.A/gnu/store/99nyg5hqmnk4l42xv018wmckby54yq2y-guile-gnome-2.16.5/share/guile-gnome-2/gnome/gobject/generics.scm.go
;;; compiling /home/sdb/.guix-profile/share/guile-gnome-2/gnome/gw/gdk.scm
;;; compiling
/home/sdb/.guix-profile/share/guile/site/2.2/g-wrap/gw/standard.scm
;;; compiling /home/sdb/.guix-profile/share/guile/site/2.2/g-wrap/config.scm
;;; compiled
/home/sdb/.cache/guile/ccache/2.2-LE-8-3.A/gnu/store/lhyaqrqlyvahxbw6vk4v13qryv4pmd19-g-wrap-1.9.15/share/guile/site/2.2/g-wrap/config.scm.go
;;; compiled
/home/sdb/.cache/guile/ccache/2.2-LE-8-3.A/gnu/store/lhyaqrqlyvahxbw6vk4v13qryv4pmd19-g-wrap-1.9.15/share/guile/site/2.2/g-wrap/gw/standard.scm.go
;;; compiling /home/sdb/.guix-profile/share/guile-gnome-2/gnome/gw/glib.scm
;;; WARNING: compilation of
/home/sdb/.guix-profile/share/guile-gnome-2/gnome/gw/glib.scm failed:
;;; In procedure dynamic-link: file: "libgw-guile-gnome-glib", message:
"file not found"
;;; WARNING: compilation of
/home/sdb/.guix-profile/share/guile-gnome-2/gnome/gw/gdk.scm failed:
;;; In procedure dynamic-link: file: "libgw-guile-gnome-glib", message:
"file not found"
;;; compiling
/home/sdb/.guix-profile/share/guile-gnome-2/gnome/gw/gobject.scm
;;; WARNING: compilation of
/home/sdb/.guix-profile/share/guile-gnome-2/gnome/gw/gobject.scm failed:
;;; In procedure dynamic-link: file: "libgw-guile-gnome-gobject",
message: "file not found"
;;; WARNING: compilation of
/home/sdb/.guix-profile/share/guile-gnome-2/gnome/gtk.scm failed:
;;; In procedure dynamic-link: file: "libgw-guile-gnome-gobject",
message: "file not found"
;;; compiling /home/sdb/.guix-profile/share/guile-gnome-2/gnome/gw/gtk.scm
;;; compiling /home/sdb/.guix-profile/share/guile-gnome-2/gnome/gw/atk.scm
;;; WARNING: compilation of
/home/sdb/.guix-profile/share/guile-gnome-2/gnome/gw/atk.scm failed:
;;; In procedure dynamic-link: file: "libgw-guile-gnome-atk", message:
"file not found"
;;; WARNING: compilation of
/home/sdb/.guix-profile/share/guile-gnome-2/gnome/gw/gtk.scm failed:
;;; In procedure dynamic-link: file: "libgw-guile-gnome-atk", message:
"file not found"
;;; compiling /home/sdb/.guix-profile/share/guile-gnome-2/gnome/gw/cairo.scm
;;; WARNING: compilation of
/home/sdb/.guix-profile/share/guile-gnome-2/gnome/gw/cairo.scm failed:
;;; In procedure dynamic-link: file: "libgw-guile-gnome-cairo", message:
"file not found"
;;; WARNING: compilation of
/home/sdb/src/guile-gnome-platform-2.16.5/gtk/examples/hello.scm failed:
;;; In procedure dynamic-link: file: "libgw-guile-gnome-cairo", message:
"file not found"
Backtrace:
4 (primitive-load "/home/sdb/src/guile-gnome-platform-2.?")
In ice-9/eval.scm:
293:34 3 (_ #(#(#<directory (guile-user) 1c1f140>)))
163:9 2 (_ #(#(#<directory (guile-user) 1c1f140>)))
223:20 1 (proc #(#(#<directory (guile-user) 1c1f140>)))
In unknown file:
0 (%resolve-variable (7 . <gtk-window>) #<directory (guil?>)

ERROR: In procedure %resolve-variable:
Unbound variable: <gtk-window>

--
Cheers Swedebugia
S
S
swedebugia wrote on 22 Feb 2019 19:09
(address . 34499@debbugs.gnu.org)
65cae104-0c00-c9cc-7b79-44ff31d94b27@riseup.net
On 2019-02-16 13:28, swedebugia wrote:
Toggle quote (13 lines)
> On 2019-02-16 12:02, swedebugia wrote:
>> The files end up in profile/share/guile-gnome-2/... which is not in
>> guiles load path.
>>
>> The result of running the examples:
>> (first get it with guix build --source)
>>
>>
>> $ guile -s hello.scm
>> ...
>> ERROR: In procedure scm-error:
>> no code for module (gnome gobject)

I found the error!

Guile-gnome installs in such a way that it only works if you run it like
this: guile-gnome2 -s hello.scm

This seems undocumented and was unexpected. I expected "guile -s" to be
able to run also the modules installed by guile-gnome.

Should we add a note somewhere to avoid confusion and/or inform upstream
about this non-standard behavior?

--
Cheers Swedebugia
Attachment: signature.asc
?