From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Alain Guibert Newsgroups: gmane.lisp.guile.bugs Subject: Guile 1.8.4 build difficulties on old Linux Date: Sat, 26 Apr 2008 15:11:48 +0200 (CEST) Message-ID: <20080426131147.GA29494@free.fr> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="BXVAT5kNtrzKuDFl" X-Trace: ger.gmane.org 1209223085 12669 80.91.229.12 (26 Apr 2008 15:18:05 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 26 Apr 2008 15:18:05 +0000 (UTC) To: bug-guile@gnu.org Original-X-From: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Sat Apr 26 17:18:40 2008 connect(): Connection refused Return-path: Envelope-to: guile-bugs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1JpmAg-0002Dh-V9 for guile-bugs@m.gmane.org; Sat, 26 Apr 2008 17:18:39 +0200 Original-Received: from localhost ([127.0.0.1]:49704 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JpmA0-0007mS-Ks for guile-bugs@m.gmane.org; Sat, 26 Apr 2008 11:17:56 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JpkmI-000090-0T for bug-guile@gnu.org; Sat, 26 Apr 2008 09:49:22 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JpkmH-000080-42 for bug-guile@gnu.org; Sat, 26 Apr 2008 09:49:21 -0400 Original-Received: from [199.232.76.173] (port=39246 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JpkmG-00007d-Kb for bug-guile@gnu.org; Sat, 26 Apr 2008 09:49:20 -0400 Original-Received: from smtp1-g19.free.fr ([212.27.42.27]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1JpkmF-0007ue-3L for bug-guile@gnu.org; Sat, 26 Apr 2008 09:49:19 -0400 Original-Received: from smtp1-g19.free.fr (localhost.localdomain [127.0.0.1]) by smtp1-g19.free.fr (Postfix) with ESMTP id EF6051AB2B9 for ; Sat, 26 Apr 2008 15:49:14 +0200 (CEST) Original-Received: from mail (c5850-a3-2-62-147-20-251.dial.proxad.net [62.147.20.251]) by smtp1-g19.free.fr (Postfix) with ESMTP id 9067C1AB2BB for ; Sat, 26 Apr 2008 15:49:13 +0200 (CEST) Mail-Followup-To: Alain Guibert , bug-guile@gnu.org X-Accept-Language: fr, en User-Agent: Mutt/1.4.2.3i X-detected-kernel: by monty-python.gnu.org: Linux 2.6 (newer, 3) X-Mailman-Approved-At: Sat, 26 Apr 2008 11:17:14 -0400 X-BeenThere: bug-guile@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Errors-To: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.bugs:3859 Archived-At: --BXVAT5kNtrzKuDFl Hello gentlemen, On my old Linux box (Intel Pentium 200 MMX, Debian Bo 1.3.1, kernel 2.0.40, gcc 2.7.2.1, libc 5.4.33, GNU ld cygnus-2.7.1, libiconv 1.12, pth 2.0.7, gettext 0.17, i586-pc-linux-gnulibc1, autoconf 2.62, fileutils 3.16, Make 3.75, bash 2.0.0(1)), gmp 4.2.2, there were some difficulties while building guile 1.8.4: | $ ./configure | [...] | checking for __gmpz_init in -lgmp... no | configure: error: GNU MP not found, see README Indeed this distribution has its original old gmp 2.0.2 as /usr/lib/libgmp.so.2.0.2, which has no __gmpz_init (but a mpz_init). The gmp 4.2.2 built from source as /usr/local/lib/libgmp.so.3.4.2 is not checked automatically. Problem workaround by presetting LDFLAGS. | $ LDFLAGS="-L/usr/local/lib" ./configure | $ make | [...] | gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I.. -g -O2 -Wall -Wmissing-prototypes -Werror -c alist.c -Wp,-MD,.deps/libguile_la-alist.TPlo -fPIC -DPIC -o .libs/libguile_la-alist.o | cc1: warnings being treated as errors | In file included from ../libguile/pthread-threads.h:28, | from ../libguile/threads.h:33, | from ../libguile/gc.h:28, | from ../libguile/_scm.h:50, | from alist.c:20: | /usr/local/include/pthread.h:194: warning: empty declaration | make[3]: *** [libguile_la-alist.lo] Error 1 | make[3]: Leaving directory `/tmp/guile-1.8.4/libguile' | make[2]: *** [all] Error 2 | make[2]: Leaving directory `/tmp/guile-1.8.4/libguile' | make[1]: *** [all-recursive] Error 1 | make[1]: Leaving directory `/tmp/guile-1.8.4' | make: *** [all] Error 2 Line 194 of pthread.h (of Gnu PTH 2.0.7) is "typedef int socklen_t;", the platform doesn't have socklen_t otherwise. Problem workaround by --disable-error-on-warning. | $ LDFLAGS="-L/usr/local/lib" ./configure --disable-error-on-warning | $ make | [...] | gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I.. -g -O2 -Wall -Wmissing-prototypes -c read.c -Wp,-MD,.deps/libguile_la-read.TPlo -fPIC -DPIC -o .libs/libguile_la-read.o | In file included from ../libguile/pthread-threads.h:28, | from ../libguile/threads.h:33, | from ../libguile/gc.h:28, | from ../libguile/_scm.h:50, | from read.c:33: | /usr/local/include/pthread.h:194: warning: empty declaration | read.c: In function `scm_read_sexp': | read.c:321: parse error before `static' | read.c:329: `terminating_char' undeclared (first use this function) | read.c:329: (Each undeclared identifier is reported only once | read.c:329: for each function it appears in.) | read.c:390: `line' undeclared (first use this function) | read.c:390: `column' undeclared (first use this function) | make[3]: *** [libguile_la-read.lo] Error 1 | make[3]: Leaving directory `/tmp/guile-1.8.4/libguile' | make[2]: *** [all] Error 2 | make[2]: Leaving directory `/tmp/guile-1.8.4/libguile' | make[1]: *** [all-recursive] Error 1 | make[1]: Leaving directory `/tmp/guile-1.8.4' | make: *** [all] Error 2 Line 320 of libguile/read.c ends by two semi-colons, the attached bug-double-semicolon.patch should fix it. At this stage Guile builds and passes the tests succesfully. However there is an incompatibility between --without-threads and "make check": | $ LDFLAGS="-L/usr/local/lib" ./configure --disable-error-on-warning --without-threads | $ make | $ make check | [...] | gcc -I../../test-suite/standalone -I../.. -g -O2 -Wall -Wmissing-prototypes -o .libs/test-with-guile-module test_with_guile_module-test-with-guile-module.o -L/usr/local/lib ../../libguile/.libs/libguile.so /usr/local/lib/libintl.so /usr/local/lib/libiconv.so -lc /usr/local/lib/libgmp.so -lm /usr/local/lib/libltdl.so -ldl -Wl,--rpath -Wl,/usr/local/lib | test_with_guile_module-test-with-guile-module.o: In function `do_join': | /tmp/guile-1.8.4/test-suite/standalone/test-with-guile-module.c:32: undefined reference to `pthread_join' | test_with_guile_module-test-with-guile-module.o: In function `inner_main': | /tmp/guile-1.8.4/test-suite/standalone/test-with-guile-module.c:41: undefined reference to `pthread_create' | make[4]: *** [test-with-guile-module] Error 1 | make[4]: Leaving directory `/tmp/guile-1.8.4/test-suite/standalone' | make[3]: *** [check-am] Error 2 | make[3]: Leaving directory `/tmp/guile-1.8.4/test-suite/standalone' | make[2]: *** [check] Error 2 | make[2]: Leaving directory `/tmp/guile-1.8.4/test-suite/standalone' | make[1]: *** [check-recursive] Error 1 | make[1]: Leaving directory `/tmp/guile-1.8.4/test-suite' | make: *** [check-recursive] Error 1 Alain. --BXVAT5kNtrzKuDFl Content-Disposition: attachment; filename="bug-double-semicolon.patch" --- guile-1.8.4.orig/libguile/read.c Thu Feb 7 10:13:17 2008 +++ guile-1.8.4/libguile/read.c Sat Apr 26 12:06:38 2008 @@ -317,7 +317,7 @@ scm_read_sexp (int chr, SCM port) register int c; register SCM tmp; register SCM tl, ans = SCM_EOL; - SCM tl2 = SCM_EOL, ans2 = SCM_EOL, copy = SCM_BOOL_F;; + SCM tl2 = SCM_EOL, ans2 = SCM_EOL, copy = SCM_BOOL_F; static const int terminating_char = ')'; /* Need to capture line and column numbers here. */ --BXVAT5kNtrzKuDFl--