The guile gh_scm2ulong() and scm_to_ulong() routines should really
return an unsigned long otherwise the generation of the getdefs
opts.[h,c] files from the opts.def file fails for 32-bit SPARC.
This problem has been reported upstream, and the fix is in autogen-5.17.5pre2
--- autogen-5.16.2/agen5/guile-iface.h.orig 2013-05-31 09:59:18.924928189 -0700
+++ autogen-5.16.2/agen5/guile-iface.h 2013-05-31 10:00:51.274085992 -0700
@@ -32,7 +32,7 @@
# define AG_SCM_SYM_P(_s) SCM_SYMBOLP(_s)
# define AG_SCM_TO_INT(_i) gh_scm2int(_i)
# define AG_SCM_TO_LONG(_v) gh_scm2long(_v)
-# define AG_SCM_TO_ULONG(_v) gh_scm2ulong(_v)
+# define AG_SCM_TO_ULONG(_v) ((unsigned long)gh_scm2ulong(_v))
# define AG_SCM_VEC_P(_v) SCM_VECTORP(_v)
#elif GUILE_VERSION < 200000
@@ -58,7 +58,7 @@
# define AG_SCM_SYM_P(_s) scm_is_symbol(_s)
# define AG_SCM_TO_INT(_i) scm_to_int(_i)
# define AG_SCM_TO_LONG(_v) scm_to_long(_v)
-# define AG_SCM_TO_ULONG(_v) scm_to_ulong(_v)
+# define AG_SCM_TO_ULONG(_v) ((unsigned long)scm_to_ulong(_v))
# define AG_SCM_VEC_P(_v) scm_is_vector(_v)
#elif GUILE_VERSION < 201000
@@ -84,7 +84,7 @@
# define AG_SCM_SYM_P(_s) scm_is_symbol(_s)
# define AG_SCM_TO_INT(_i) scm_to_int(_i)
# define AG_SCM_TO_LONG(_v) scm_to_long(_v)
-# define AG_SCM_TO_ULONG(_v) scm_to_ulong(_v)
+# define AG_SCM_TO_ULONG(_v) ((unsigned long)scm_to_ulong(_v))
# define AG_SCM_VEC_P(_v) scm_is_vector(_v)
#else