Package: guile;
Reported by: Bruno Haible <bruno <at> clisp.org>
Date: Mon, 16 Jan 2012 01:41:02 UTC
Severity: normal
Done: ludo <at> gnu.org (Ludovic Courtès)
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: ludo <at> gnu.org (Ludovic Courtès) To: Bruno Haible <bruno <at> clisp.org> Cc: Andy Wingo <wingo <at> pobox.com>, 10520 <at> debbugs.gnu.org Subject: bug#10520: [platform-testers] Guile 2.0.4 release imminent Date: Tue, 17 Jan 2012 00:08:13 +0100
retitle 2.0.3+ portability issues thanks Hi Bruno, Thanks for the quick and detailed report! Bruno Haible <bruno <at> clisp.org> skribis: [...] > How about changing that section to mention > 1) that pkg-config ought to be installed before libffi and libgc? > 2) that usually setting PKG_CONFIG_PATH to include > $BDW_LIBDIR/pkgconfig:$LIBFFI_LIBDIR/pkgconfig:/usr/lib/pkgconfig > will work, > 3) the BDW_GC_CFLAGS, BDW_GC_LIBS, LIBFFI_CFLAGS, LIBFFI_LIBS > approach as a last resort. I’ve done something along these lines: http://git.savannah.gnu.org/cgit/guile.git/commit/?h=stable-2.0&id=ad17b1551241a0fbaa9f9557016cbe440cc6338b > 2) On Linux/glibc/PowerPC, MacOS X 10.5, Cygwin, I happen not to have > pkg-config installed. But I have installed all the other packages! > The configuration fails: [...] > Isn't this a *gratuitous* build dependency? Isn’t this a gratuitous troll? ;-) Seriously, I understand your frustration. Yet, we use upstream’s method to check for package availability, whether we like it or not. > I won't install pkg-config. If you want me to test guile on Linux/PowerPC, > MacOS X 10.5, Cygwin, and mingw, provide an alternative. One can define $BDW_GC_LIB, etc. as described in the manual. Would that work for you? > 4) On Solaris 11 (both x86 and x86_64), Do you mean OpenIndiana or something? > the compilation fails in the directory libguile: > > CC libguile_2.0_la-filesys.lo > filesys.c: In function 'scm_readdir': > filesys.c:1716:34: error: 'DIR' has no member named 'dd_fd' > gmake[3]: *** [libguile_2.0_la-filesys.lo] Error 1 > > Instead of whacking your own implementation of dirfd, why not just > use the 'dirfd' module from gnulib? (Actually Solaris 11 has dirfd(), > it is declared as a function in <dirent.h>.) See > http://www.gnu.org/software/gnulib/manual/html_node/dirfd.html Done: http://git.savannah.gnu.org/cgit/guile.git/commit/?h=stable-2.0&id=f0007cade095c5a2878ebbb8ea8c9b40810e4509 Funnily, Solaris 2.10 (as available on the OpenCSW machines) doesn’t have this problem. > 5) On OpenBSD 4.6/SPARC64, compilation failure in libguile directory: > > CC libguile_2.0_la-i18n.lo > i18n.c: In function `define_langinfo_items': > i18n.c:1747: error: `ERA' undeclared (first use in this function) > i18n.c:1747: error: (Each undeclared identifier is reported only once > i18n.c:1747: error: for each function it appears in.) > i18n.c:1748: error: `ERA_D_FMT' undeclared (first use in this function) > i18n.c:1749: error: `ERA_D_T_FMT' undeclared (first use in this function) > i18n.c:1751: error: `ERA_T_FMT' undeclared (first use in this function) > i18n.c:1753: error: `ALT_DIGITS' undeclared (first use in this function) > gmake[3]: *** [libguile_2.0_la-i18n.lo] Error 1 This was fixed in the meantime: http://git.savannah.gnu.org/cgit/guile.git/commit/?h=stable-2.0&id=1bd9a697b186c9a2c84f7c1028c9292f779ec79a > This could be easily fixed by including the gnulib module 'nl_langinfo'. See > http://www.gnu.org/software/gnulib/manual/html_node/nl_005flanginfo.html I considered using it some time ago but decided not to, as the comment in i18n.c says: Note: We don't use Gnulib's `nl_langinfo' module because it's currently not as complete as the compatibility hacks in `i18n.scm'. */ > 6) On Linux/IA-64, compilation failure in libguile directory: > > CC libguile_2.0_la-threads.lo > threads.c: In function 'guilify_self_1': > threads.c:554: error: 'struct GC_stack_base' has no member named 'reg' > make[3]: *** [libguile_2.0_la-threads.lo] Error 1 > > On this platform, gc/gc.h contains this definition: > > /* Structure representing the base of a thread stack. On most */ > /* platforms this contains just a single address. */ > struct GC_stack_base { > void * mem_base; /* Base of memory stack. */ > # if defined(__ia64) || defined(__ia64__) || defined(_M_IA64) > void * reg_base; /* Base of separate register stack. */ > # endif > }; > > It looks like a typo in threads.c:554. Fix: s/reg-base/reg_base/ Indeed! http://git.savannah.gnu.org/cgit/guile.git/commit/?h=stable-2.0&id=bbd210517f12fdabb51e0dc2527ba186bb1ba549 > 7) On NetBSD 5.1/x86_64, build failure: Will investigate later. > 8) On Linux/hppa and Linux/SPARC32 and Linux/IA-64, build failure in the > libguile directory: > > SNARF socket.doc > SNARF regex-posix.doc > GEN guile-procedures.texi > /bin/sh: line 1: 1022 Broken pipe cat alist.doc arbiters.doc array-handle.doc array-map.doc arrays.doc async.doc backtrace.doc boolean.doc bitvectors.doc bytevectors.doc chars.doc control.doc continuations.doc debug.doc deprecated.doc deprecation.doc dynl.doc dynwind.doc eq.doc error.doc eval.doc evalext.doc expand.doc extensions.doc feature.doc filesys.doc fluids.doc foreign.doc fports.doc gc-malloc.doc gc.doc gettext.doc generalized-arrays.doc generalized-vectors.doc goops.doc gsubr.doc guardians.doc hash.doc hashtab.doc hooks.doc i18n.doc init.doc ioext.doc keywords.doc list.doc load.doc macros.doc mallocs.doc memoize.doc modules.doc numbers.doc objprop.doc options.doc pairs.doc ports.doc print.doc procprop.doc procs.doc promises.doc r6rs-ports.doc random.doc rdelim.doc read.doc root.doc rw.doc scmsigs.doc script.doc simpos.doc smob.doc sort.doc srcprop.doc srfi-1.doc srfi-4.doc srfi-13.doc srfi-14.doc srfi-60.doc stackchk.doc stacks.doc stime.doc strings.doc strorder.doc strports.doc struct.doc symbols.doc threads.doc throw.doc trees.doc uniform.doc values.doc variable.doc vectors.doc version.doc vports.doc weaks.doc dynl.doc posix.doc net_db.doc socket.doc regex-posix.doc > 1023 Segmentation fault | GUILE_AUTO_COMPILE=0 ../meta/uninstalled-env guild snarf-check-and-output-texi > guile-procedures.texi > make[3]: *** [guile-procedures.texi] Error 1 I reproduced the problem on SPARC64 and am investigating (2.0.1 works well on this platform, so this looks like a regression.) > 9) Test failure on Linux/glibc/i386 (32-bit build on a x86_64 machine): > > FAIL: gc.test: gc: Lexical vars are collectable This is a known “problem”, and harmless. > 10) Linux/glibc/x86_64 > > All tests passed. > > (This must be the platform that all guile developers use, I guess?) Heheh. Thanks, Ludo’.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.