unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
From: Hugh Sasse <hgs@dmu.ac.uk>
Cc: guile-user@gnu.org
Subject: Re: Gmp now working, but number.c:147 isinf declared implicitly.
Date: Thu, 18 Jan 2007 12:21:46 +0000 (WET)	[thread overview]
Message-ID: <Pine.GSO.4.64.0701181149240.29988@brains.eng.cse.dmu.ac.uk> (raw)
In-Reply-To: <Pine.GSO.4.64.0701180929190.29988@brains.eng.cse.dmu.ac.uk>

I have managed to get a relatively successful build:

gmake  check-TESTS
gmake[4]: Entering directory `/export/home/Scratch/hgs/guile-1.8.1/test-suite/standalone'
PASS: test-system-cmds
PASS: test-require-extension
PASS: test-num2integral
PASS: test-round
PASS: test-gh
PASS: test-asmobs
PASS: test-list
PASS: test-unwind
PASS: test-conversion
==================
All 9 tests passed
==================
gmake[4]: Leaving directory `/export/home/Scratch/hgs/guile-1.8.1/test-suite/standalone'
gmake[3]: Leaving directory `/export/home/Scratch/hgs/guile-1.8.1/test-suite/standalone'
gmake[2]: Leaving directory `/export/home/Scratch/hgs/guile-1.8.1/test-suite/standalone'
gmake[2]: Entering directory `/export/home/Scratch/hgs/guile-1.8.1/test-suite'
gmake[2]: Nothing to be done for `check-am'.
gmake[2]: Leaving directory `/export/home/Scratch/hgs/guile-1.8.1/test-suite'
gmake[1]: Leaving directory `/export/home/Scratch/hgs/guile-1.8.1/test-suite'
Making check in benchmark-suite
gmake[1]: Entering directory `/export/home/Scratch/hgs/guile-1.8.1/benchmark-suite'
gmake[1]: Nothing to be done for `check'.
gmake[1]: Leaving directory `/export/home/Scratch/hgs/guile-1.8.1/benchmark-suite'
Making check in lang
gmake[1]: Entering directory `/export/home/Scratch/hgs/guile-1.8.1/lang'
Making check in elisp
gmake[2]: Entering directory `/export/home/Scratch/hgs/guile-1.8.1/lang/elisp'
Making check in internals
gmake[3]: Entering directory `/export/home/Scratch/hgs/guile-1.8.1/lang/elisp/internals'
gmake[3]: Nothing to be done for `check'.
gmake[3]: Leaving directory `/export/home/Scratch/hgs/guile-1.8.1/lang/elisp/internals'
Making check in primitives
gmake[3]: Entering directory `/export/home/Scratch/hgs/guile-1.8.1/lang/elisp/primitives'
gmake[3]: Nothing to be done for `check'.
gmake[3]: Leaving directory `/export/home/Scratch/hgs/guile-1.8.1/lang/elisp/primitives'
gmake[3]: Entering directory `/export/home/Scratch/hgs/guile-1.8.1/lang/elisp'
gmake[3]: Nothing to be done for `check-am'.
gmake[3]: Leaving directory `/export/home/Scratch/hgs/guile-1.8.1/lang/elisp'
gmake[2]: Leaving directory `/export/home/Scratch/hgs/guile-1.8.1/lang/elisp'
gmake[2]: Entering directory `/export/home/Scratch/hgs/guile-1.8.1/lang'
gmake[2]: Nothing to be done for `check-am'.
gmake[2]: Leaving directory `/export/home/Scratch/hgs/guile-1.8.1/lang'
gmake[1]: Leaving directory `/export/home/Scratch/hgs/guile-1.8.1/lang'
Making check in am
gmake[1]: Entering directory `/export/home/Scratch/hgs/guile-1.8.1/am'
gmake[1]: Nothing to be done for `check'.
gmake[1]: Leaving directory `/export/home/Scratch/hgs/guile-1.8.1/am'
gmake[1]: Entering directory `/export/home/Scratch/hgs/guile-1.8.1'
gmake  check-TESTS
gmake[2]: Entering directory `/export/home/Scratch/hgs/guile-1.8.1'
Testing /scratch/hgs/guile-1.8.1/pre-inst-guile ...
with GUILE_LOAD_PATH=/scratch/hgs/guile-1.8.1/test-suite
Running alist.test
Running and-let-star.test
Running arbiters.test
Running bit-operations.test
Running c-api.test
Running chars.test
Running common-list.test
Running continuations.test
Running elisp.test
Running environments.test
Running eval.test
UNRESOLVED: eval.test: promises: basic promise behaviour: a forced promise does not reference its environment
Running exceptions.test
Running filesys.test
Running format.test
Running fractions.test
Running ftw.test
Running gc.test
Running getopt-long.test
Running goops.test
Running guardians.test
UNRESOLVED: guardians.test: standard guardian functionality: guarding independent objects: re-guarding non-immediates
UNRESOLVED: guardians.test: standard guardian functionality: guarding weakly referenced objects: guarded element of weak vector gets eventually removed from weak vector
Running hash.test
Running hooks.test
Running import.test
Running interp.test
Running list.test
Running load.test
Running modules.test
Running numbers.test
Running optargs.test
Running options.test
Running poe.test
Running popen.test
Running ports.test
Running posix.test
FAIL: posix.test: putenv: removing
FAIL: posix.test: setenv: removing
FAIL: posix.test: unsetenv: something
FAIL: posix.test: unsetenv: empty
Running q.test
Running r4rs.test
Running r5rs_pitfall.test
Running ramap.test
Running reader.test
Running receive.test
Running regexp.test
Running socket.test
Running srcprop.test
Running srfi-1.test
Running srfi-10.test
Running srfi-11.test
Running srfi-13.test
Running srfi-14.test
UNRESOLVED: srfi-14.test: Latin-1 (8-bit charset): char-set:letter (membership)
UNRESOLVED: srfi-14.test: Latin-1 (8-bit charset): char-set:letter (size)
UNRESOLVED: srfi-14.test: Latin-1 (8-bit charset): char-set:lower-case (size)
UNRESOLVED: srfi-14.test: Latin-1 (8-bit charset): char-set:upper-case (size)
ERROR: srfi-14.test: Latin-1 (8-bit charset): char-set:punctuation (membership) - arguments: ((unbound-variable #f "Unbound variable: ~S" (thrown) #f))
Running srfi-19.test
Running srfi-26.test
Running srfi-31.test
Running srfi-34.test
Running srfi-39.test
Running srfi-4.test
Running srfi-6.test
Running srfi-60.test
Running srfi-9.test
Running strings.test
Running structs.test
Running symbols.test
Running syncase.test
Running syntax.test
UNRESOLVED: syntax.test: while: in empty environment: empty body
UNRESOLVED: syntax.test: while: in empty environment: initially false
UNRESOLVED: syntax.test: while: in empty environment: iterating
Running threads.test
Running time.test
Running unif.test
Running version.test
Running weaks.test

Totals for this test run:
passes:                 11744
failures:               4
unexpected passes:      0
expected failures:      25
unresolved test cases:  10
untested test cases:    0
unsupported test cases: 13
errors:                 1

FAIL: check-guile
===================
1 of 1 tests failed
===================
gmake[2]: *** [check-TESTS] Error 1
gmake[2]: Leaving directory `/export/home/Scratch/hgs/guile-1.8.1'
gmake[1]: *** [check-am] Error 2
gmake[1]: Leaving directory `/export/home/Scratch/hgs/guile-1.8.1'
gmake: *** [check-recursive] Error 1
You have new mail in /var/mail/hgs
bash-2.05$


So the failure is that putenv test where there seems to be no way 
to remove an environment variable using C under Solaris.  Which 
seems bizarre.  I have looked through `man -s 3 intro` and can see
the putenv() & getenv() functions, but nothing to remove an environment
variable.

We are not the only ones banging into this problem:

http://gollem.science.uva.nl/SWI-Prolog/mailinglist/archive/2006/q1/0155.html

makes pretty disturbing reading.  Given this a basic requirement of
shells, I don't understand this lack of an unsetenv() function.

And there's this:

http://www.gnu.org/software/autoconf/manual/html_node/Function-Portability.html

which doesn't really give a solution either.

Despite:

http://bugs.netmrg.net/view.php?id=400

I find
bash-2.05$ man clearenv
No manual entry for clearenv.
You have new mail in /var/mail/hgs
bash-2.05$ man -s 3 clearenv
No entry for clearenv in section(s) 3 of the manual.
bash-2.05$


How did I get to a relatively successful build?

Well, I applied the patches:

--- /scratch/hgs/guile-1.8.1/libguile/posix.c   2006-10-04 04:35:07.000000000 +0100
+++ /scratch/hgs/guile-1.8.1/libguile/posix.c   2007-01-16 12:04:53.481602000 +0000
@@ -1315,6 +1315,11 @@
 #ifdef __MINGW32__
   size_t len = strlen (c_str);
 #endif
+#ifndef HAVE_UNSETENV
+# ifndef __MINGW32__
+  size_t len = strlen (c_str);
+# endif
+#endif

   if (strchr (c_str, '=') == NULL)
     {


and


--- guile-1.8.1/libguile/c-tokenize.c.orig	2003-08-23 18:35:14.000000000 +0100
+++ guile-1.8.1/libguile/c-tokenize.c	2007-01-18 11:20:43.256310000 +0000
@@ -20,7 +20,12 @@
 #include <string.h>
 #include <errno.h>
 #include <stdlib.h>
+#ifdef HAVE_STDINT_H
 #include <stdint.h> /* May break IA64 test-noansi-r */
+#endif
+#ifdef HAVE_INTTYPES_H
+#include <inttypes.h> 
+#endif
 
 /* end standard C headers. */
 

And I used
gcc (GCC) 3.4.6
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


Which I built after all the hassles with gcc-4.

And I used --disable-error-on-warning

OK, so what about gcc-4?

gcc (GCC) 4.1.0
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

gives me, using the same build script:

(cd .libs && gcc  -g -O2 -c -fno-builtin "guileS.c")
rm -f .libs/guileS.c .libs/guile.nm .libs/guile.nmS .libs/guile.nmT
gcc -g -O2 -Wall -Wmissing-prototypes -o .libs/guile .libs/guileS.o -D_REENTRANT -pthreads guile-guile.o -Wl,--export-dynamic  ./.libs/libguile.so -lrt /usr/local/lib/libgmp.so -lsocket -lnsl -lm /usr/local/lib/libltdl.so -ldl -Wl,--rpath -Wl,/usr/local/lib
./.libs/libguile.so: undefined reference to `isinf'
collect2: ld returned 1 exit status
gmake[3]: *** [guile] Error 1
gmake[3]: Leaving directory `/export/home/Scratch/hgs/guile-1.8.1/libguile'
gmake[2]: *** [all] Error 2
gmake[2]: Leaving directory `/export/home/Scratch/hgs/guile-1.8.1/libguile'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/export/home/Scratch/hgs/guile-1.8.1'
gmake: *** [all] Error 2


I'm not sure what to make of this difference in behaviour.

So, is there anything else you would find it helpful to know?
And have you any advice about my GCC-4.1.0 (which would be off-topic,
but you can just say "no". :-))

        Hugh


_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user


  reply	other threads:[~2007-01-18 12:21 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-01-05 14:52 Gmp now working, but number.c:147 isinf declared implicitly Hugh Sasse
2007-01-12 17:37 ` Hugh Sasse
2007-01-12 22:59   ` Kevin Ryde
2007-01-15  9:46     ` Hugh Sasse
2007-01-15 11:58       ` Hugh Sasse
2007-01-15 20:31         ` Kevin Ryde
2007-01-16 10:21           ` Hugh Sasse
2007-01-16 14:58             ` Hugh Sasse
2007-01-19  0:37               ` Kevin Ryde
2007-01-19 10:02                 ` Hugh Sasse
2007-01-21 23:27                   ` Kevin Ryde
2007-01-22 11:53                     ` Hugh Sasse
2007-01-22 21:11                       ` Kevin Ryde
2007-01-23 10:27                         ` Hugh Sasse
2007-01-19 15:43                 ` Hugh Sasse
2007-01-21 21:08                   ` Kevin Ryde
2007-01-21 23:22                   ` Kevin Ryde
2007-01-22 12:08                     ` Hugh Sasse
2007-01-22 21:05                       ` Kevin Ryde
2007-01-23 11:01                         ` Hugh Sasse
2007-01-24 21:23                           ` Kevin Ryde
2007-01-25 10:27                             ` Hugh Sasse
2007-01-26 22:24                               ` Kevin Ryde
2007-01-18  0:43             ` Kevin Ryde
2007-01-18  9:57               ` Hugh Sasse
2007-01-18 12:21                 ` Hugh Sasse [this message]
2007-01-18 10:43               ` Ludovic Courtès
2007-01-15 20:27       ` Kevin Ryde
2007-01-16 10:11         ` Hugh Sasse
2007-01-18  0:38           ` Kevin Ryde

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.GSO.4.64.0701181149240.29988@brains.eng.cse.dmu.ac.uk \
    --to=hgs@dmu.ac.uk \
    --cc=guile-user@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).