From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Steve Ellcey Newsgroups: gmane.lisp.guile.devel Subject: Building guile on IA64 HP-UX Date: Mon, 8 Jan 2007 16:12:23 -0800 (PST) Message-ID: <200701090012.QAA04119@hpsje.cup.hp.com> Reply-To: sje@cup.hp.com NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1168301769 1234 80.91.229.12 (9 Jan 2007 00:16:09 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 9 Jan 2007 00:16:09 +0000 (UTC) Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Tue Jan 09 01:16:03 2007 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1H44en-00080H-Gs for guile-devel@m.gmane.org; Tue, 09 Jan 2007 01:16:01 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1H44em-0005Ix-Uk for guile-devel@m.gmane.org; Mon, 08 Jan 2007 19:16:00 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1H44ef-0005Gq-0m for guile-devel@gnu.org; Mon, 08 Jan 2007 19:15:53 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1H44ed-0005Ez-0i for guile-devel@gnu.org; Mon, 08 Jan 2007 19:15:52 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1H44ec-0005El-Nw for guile-devel@gnu.org; Mon, 08 Jan 2007 19:15:50 -0500 Original-Received: from [156.153.255.245] (helo=palrel10.hp.com) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA:32) (Exim 4.52) id 1H44ec-0003eG-4w for guile-devel@gnu.org; Mon, 08 Jan 2007 19:15:50 -0500 Original-Received: from smtp1.cup.hp.com (smtp1.cup.hp.com [15.4.32.117]) by palrel10.hp.com (Postfix) with ESMTP id D5BF4365F9 for ; Mon, 8 Jan 2007 16:12:45 -0800 (PST) Original-Received: from hpsje.cup.hp.com (hpsje.cup.hp.com [16.89.92.85]) by smtp1.cup.hp.com (Postfix) with ESMTP id C1F3E48C1AE for ; Tue, 9 Jan 2007 00:12:45 +0000 (UTC) Original-Received: (from sje@localhost) by hpsje.cup.hp.com (8.9.3/8.9.3) id QAA04119 for guile-devel@gnu.org; Mon, 8 Jan 2007 16:12:23 -0800 (PST) Original-To: guile-devel@gnu.org X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:6401 Archived-At: I have been trying to build guile on IA64 HP-UX off and on and wanted to report my latest results. This latest attempt was done using the snapshot at http://www.ossau.uklinux.net/guile/guile-cvs.20061113.tar.gz created for me by Neil Jerram. The snapshots at ftp://ftp.dt.e-technik.uni-dortmund.de/pub/guile/snapshots which is where the guile home page points to are all out-of-date. The ToT one is dated Nov 19 and the 1.6 and 1.8 ones are from early December. It would be very helpful if these "nightly" snapshots could be updated. ============== Compiling with GCC: As for my results, using GCC as a compiler, I had to modify libguile/gc.c to add an include of after the includes of and (in the existing __hpux ifdef) in order to get a definition of __uc_get_ar_bsp and I also changed: return (void *) bsp; at the end of scm_ia64_ar_bsp to be: return (void *) (long) bsp; These changes made some warnings go away and the warnings were stopping the build because of the -Werror flag used with GCC. With this change I can compile libguile/gc.c but I get stopped in libguile/numbers.c due to issues with the complex data type. [evrst7] $ diff guile-1.9.0.old/libguile/gc.c guile-1.9.0/libguile/gc.c 1074a1075 > # include 1090c1091 < return (void *) bsp; --- > return (void *) (long) bsp; ==================== Compiling with the HP C compiler With the HP C compiler I fail when compiling libguile/eval.c with the error: "/tmp/guile/guile-1.9.0/libguile/eval.c", line 3327: error #2057: this operator is not allowed in a constant expression case (ISYMNUM (SCM_IM_AND)): It looks like this is due to the SCM_UNPACK macro. From tags.h we have: /* The 0?: constructions makes sure that the code is never executed, and that there is no performance hit. However, the alternative is compiled, and does generate a warning when used with the wrong pointer type. */ #define SCM_UNPACK(x) ((scm_t_bits) (0? (*(SCM*)0=(x)): x)) and the HP compiler doesn't seem to like the assignment operator in the case statement. The following simpler example will not compile with the HP compiler (but will compile with GCC): unsigned long x; int foo(int i) { switch (i) { case ((unsigned long) (0 ? (x = 4) : 4)): default: return 0; } } I am not sure if this is legal C or not but it does seem 'yucky' (if I may use that technical term). Anyway, I hope someone can fix up gc.c, I will work on the complex datatype issues when I have a chance, I don't know what, if anything, should be done with the SCM_UNPACK macro. Steve Ellcey sje@cup.hp.com _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://lists.gnu.org/mailman/listinfo/guile-devel