Noah Lavine | 13 Jan 18:51 2013

Build Issue with Latest Git Guile


I just tried to build g-wrap with the latest development guile, and got a build error. It seems that scm_sym2var and scm_module_lookup_closure (used on line 346 of guile-runtime.c in g-wrap 1.9.14) will be gone in guile 2.2.

I would be more than happy to write a patch that replaces these with equivalent calls, but I don't know how to modify the build system to make it detect guile 2.2. If someone could tell me how to do that, I would be glad to do the rest. (I'm not sure it's necessary to detect 2.2., but it might be if we need to have different versions of the code that apply in different guile versions.)

Noah Lavine

g-wrap-dev mailing list
g-wrap-dev <at>
Dale Smith | 11 Jul 00:48 2012

Guile 2.0.6

Howdy g-wrappers,

G-wrap doesn't like the new Guile 2.0.6 as scm_sym2var and
scm_module_lookup_closure are now deprecated.  And since the default
is to compile with -Werror, that ends in a failed build.  Configuring
with --disable-Werror seems to work fine.

Here is an attempt to use a the newer non-deprecated replacements.

diff --git a/guile/g-wrap/guile-compatibility.c
index 8be423e..cc1fc2f 100644
--- a/guile/g-wrap/guile-compatibility.c
+++ b/guile/g-wrap/guile-compatibility.c
 <at>  <at>  -92,4 +92,10  <at>  <at>  scm_without_guile (void*(*func)(void*), void *data)
     return func(data);

+SCM scm_module_variable (SCM module, SCM sym)
+  return scm_sym2var (sym, scm_module_lookup_closure (module), SCM_BOOL_F);
diff --git a/guile/g-wrap/guile-compatibility.h
index c875e98..5ccacdf 100644
--- a/guile/g-wrap/guile-compatibility.h
+++ b/guile/g-wrap/guile-compatibility.h
 <at>  <at>  -127,6 +127,9  <at>  <at>  size_t  scm_to_locale_stringbuf (SCM str, char
*buf, size_t buf_size);
 /* Threads. */
 void *scm_without_guile (void*(*func)(void*), void *data);

+/* Modules. */
+SCM scm_module_variable (SCM module, SCM sym);
 #else /* SCM_VERSION_17X */

diff --git a/guile/g-wrap/guile-runtime.c b/guile/g-wrap/guile-runtime.c
index a1a4f79..d04e17e 100644
--- a/guile/g-wrap/guile-runtime.c
+++ b/guile/g-wrap/guile-runtime.c
 <at>  <at>  -343,7 +343,7  <at>  <at>  allocate_generic_variable (SCM module, SCM sym)

   for (uses=SCM_MODULE_USES(module); !scm_is_null (uses); uses=scm_cdr(uses)) {
     used = scm_car (uses);
-    var = scm_sym2var (sym, scm_module_lookup_closure (used), SCM_BOOL_F);
+    var = scm_module_variable (used, sym);
     if (!scm_is_false (var))
Greg Troxel | 24 May 01:18 2012

bad link on g-wrap home page


there is a link to

g-wrap-dev mailing list
g-wrap-dev <at>
Greg Troxel | 24 May 01:14 2012

g-wrap and -j4

I was rebuilding packages (NetBSD, pkgsrc), and on building g-wrap
1.9.14 (with guile 1.8.8) got a mysterious error with an obviously
malformed standard.c.   By default I was using -j4.  After disabling
parallel make, g-wrap built fine.

So my question is whether g-wrap is thought to build ok with -j4?

I have marked the pkgsrc package as not safe for parallel builds, so
this is not a big deal, but it seems like a bug.

g-wrap-dev mailing list
g-wrap-dev <at>
Greg Troxel | 6 Dec 17:37 2011

[David Holland] Re: CVS commit: pkgsrc/devel/g-wrap

I updated g-wrap in pkgsrc to 1.9.14, and while it compiled fine on
NetBSD 5.1-stable, i386, gcc 4.1.3, it failed on NetBSD-current on gcc

Is g-wrap thought to be ok with gcc 4.5?

From: David Holland <dholland-pkgchanges <at>>
Subject: Re: CVS commit: pkgsrc/devel/g-wrap
Date: 2011-12-06 04:26:06 GMT
On Mon, Dec 05, 2011 at 03:34:10AM +0000, Greg Troxel wrote:
 > Modified Files:
 > 	pkgsrc/devel/g-wrap: Makefile PLIST distinfo
 > Removed Files:
 > 	pkgsrc/devel/g-wrap/patches: patch-aa
 > Log Message:
 > Update to 1.9.14.


standard.c:470:45: error: expected ')' before '(' token
standard.c:475:1: error: expected identifier or '(' before 'else'
standard.c:480:3: error: expected identifier or '(' before 'else'
standard.c:483:1: error: expected identifier or '(' before '}' token


David A. Holland
dholland <at>

g-wrap-dev mailing list
g-wrap-dev <at>
Andreas Rottmann | 5 Dec 02:22 2011

G-Wrap 1.9.14 released


I'm pleased to announce G-Wrap 1.9.14; as always, it can be downloaded
from <>.

This release adds support for the Guile 2.0.x branch, while staying
compatible with 1.8.x.

About G-Wrap:

  G-Wrap is a tool (and Guile library) for generating function wrappers
  for inter-language calls. It currently only supports generating Guile
  wrappers for C functions.

Changes since 1.9.13:

    - Guile 2.0 is now supported.

    - G-Wrap no longer ships SRFI 34 and SRFI 35 implementations, as
      these have been both provided by Guile since 1.8.3.

Regards, Rotty

Andreas Rottmann -- <>
Andy Wingo | 23 Nov 22:24 2011

g-wrap release?

Hi Andreas,

With the patch I just pushed to g-wrap, the test suites pass again on
Guile 2.0.  How about a release?  :-)



Brad Whitlock | 22 Jun 03:54 2011

g-wrap build fails, missing standard.c?

I am trying to build g-wrap on FreeBSD 8.1 so that I can eventually get guile-gnome-platform-2.16 up and running.

I used git to clone the working branch.

$ git clone git://
$ ./ --prefix=/mnt/data/homes/brad/new_guile
$ mkdir build && cd build
$ ../configure --prefix=/mnt/data/homes/brad/new_guile PKG_CONFIG=/usr/local/bin/pkg-config -C
libtool: link: ar cru .libs/libgwrap-guile-runtime.a  guile-runtime.o guile-wct.o guile-compatibility.o  .libs/libgwrap-guile-runtime.lax/libgnu.a/asnprintf.o .libs/libgwrap-guile-runtime.lax/libgnu.a/dummy.o .libs/libgwrap-guile-runtime.lax/libgnu.a/printf-args.o .libs/libgwrap-guile-runtime.lax/libgnu.a/printf-parse.o .libs/libgwrap-guile-runtime.lax/libgnu.a/vasnprintf.o
libtool: link: ranlib .libs/libgwrap-guile-runtime.a
libtool: link: rm -fr .libs/libgwrap-guile-runtime.lax
libtool: link: ( cd ".libs" && rm -f "" && ln -s "../" "" )
Making all in gw
make: don't know how to make standard.c. Stop
*** Error code 1

Stop in /mnt/data/homes/brad/data/downloads/g-wrap/build/guile/g-wrap.
*** Error code 1

Stop in /mnt/data/homes/brad/data/downloads/g-wrap/build/guile.
*** Error code 1

Stop in /mnt/data/homes/brad/data/downloads/g-wrap/build.
*** Error code 1

Stop in /mnt/data/homes/brad/data/downloads/g-wrap/build.

I can't seem to find 'standard.c' anywhere. What am I missing?


g-wrap-dev mailing list
g-wrap-dev <at>
dsmich | 5 Apr 02:15 2011

guile-gnome errors using latest git g-wrap.

Ok, here are the errors I get from a git guile-gnome built with a latest git g-wrap:

$ guile-gnome-2 hello.scm
;;; note: source file /usr/local/share/guile-gnome-2/gnome/gtk.scm
;;;       newer than compiled /home/dsmith/.cache/guile/ccache/2.0-LE-8-2.0/usr/local/share/guile-gnome-2/gnome/gtk.scm.go
;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
;;;       or pass the --no-auto-compile argument to disable.
;;; compiling /usr/local/share/guile-gnome-2/gnome/gtk.scm
;;; WARNING: compilation of /usr/local/share/guile-gnome-2/gnome/gtk.scm failed:
;;; key misc-error, throw args ("%gw:wrapset-new" "dependency on nonexisting wrapset: standard" () #f)
In ice-9/boot-9.scm:
2577: 19 [try-module-autoload (gnome gtk) #f]
1917: 18 [save-module-excursion #<procedure 2399660 at ice-9/boot-9.scm:2578:17 ()>]
2588: 17 [#<procedure 2399660 at ice-9/boot-9.scm:2578:17 ()>]
In unknown file:
   ?: 16 [primitive-load-path "gnome/gtk" #f]
In ice-9/eval.scm:
 458: 15 [#<procedure 19031a0 at ice-9/eval.scm:452:4 (exp)> (time-debug #)]
In ice-9/psyntax.scm:
1042: 14 [chi-top-sequence ((time-debug (use-modules #))) () ...]
 931: 13 [scan ((time-debug (use-modules #))) () ...]
 940: 12 [scan ((use-modules (gnome gw gtk))) () ...]
1033: 11 [scan ((# #) #(syntax-object *unspecified* # #)) () (()) ...]
In ice-9/boot-9.scm:
2940: 10 [process-use-modules (((gnome gw gtk)))]
In unknown file:
   ?: 9 [map #<procedure 1a5d580 at ice-9/boot-9.scm:2940:25 (mif-args)> ((#))]
In ice-9/boot-9.scm:
2941: 8 [#<procedure 1a5d580 at ice-9/boot-9.scm:2940:25 (mif-args)> (#)]
2386: 7 [resolve-interface (gnome gw gtk) #:select ...]
2311: 6 [#<procedure 1a1c560 at ice-9/boot-9.scm:2299:4 (name #:optional autoload version #:key
ensure)> # ...]
2577: 5 [try-module-autoload (gnome gw gtk) #f]
1917: 4 [save-module-excursion #<procedure 241e480 at ice-9/boot-9.scm:2578:17 ()>]
2588: 3 [#<procedure 241e480 at ice-9/boot-9.scm:2578:17 ()>]
In unknown file:
   ?: 2 [primitive-load-path "gnome/gw/gtk" #f]
In gnome/gw/gtk.scm:
  11: 1 [#<procedure 24162c0 ()>]
In unknown file:
   ?: 0 [dynamic-call "gw_init_wrapset_gnome_gtk" #]

ERROR: In procedure dynamic-call:
ERROR: In procedure %gw:wrapset-new: dependency on nonexisting wrapset: standard

This works when using g-wrap eeb1aaeaf26ef510cbb535a7e9e04776cd74926f

dsmich | 5 Apr 00:59 2011

guile-gnome-platform incompatibilities with recent changes.

Howdy g-wrapers,

As discussed on the #guile irc channel:

I (and a few others) have been attempting to build guile-gnome with Guile 2.0.  Using the latest git g-wrap
causes failure at run time in guile-gnome.  Reverting g-wrap to eeb1aae allows guile-gnome to run at least
some of the examples.

Sorry, I don't have more details right now.  I'll get some examples of the errors soonish.  I just had a look
though the mailing list archives and noticed that it hadn't been mentioned yet, so I'm mentioning.  ;^)

Matei Conovici | 24 Feb 23:39 2011

bogus version check after guile 2.0 release

In guile/g-wrap/guile-compatibility.h there's this version check which
enables some compat features.

/* Define this macro if Guile 1.7.x or better is in use. */
#if defined (SCM_MINOR_VERSION) && (SCM_MINOR_VERSION >= 7) && \
#define SCM_VERSION_17X 1

It became bogus after guile 2.0 release, as SCM_MINOR_VERSION is now 0
or 1.

With this taken care of, g-wrap (and guile-gnome-platform) compile
cleanly with the new guile.