From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Neil Jerram Newsgroups: gmane.lisp.guile.user Subject: Re: Compiling v1.8.5 on tru64 5.1b Date: Mon, 12 May 2008 21:20:24 +0100 Message-ID: <87y76fuvef.fsf@ossau.uklinux.net> References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1210623938 22638 80.91.229.12 (12 May 2008 20:25:38 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 12 May 2008 20:25:38 +0000 (UTC) Cc: guile-user@gnu.org To: Didier Godefroy Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Mon May 12 22:26:14 2008 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1JveWK-0001SX-3S for guile-user@m.gmane.org; Mon, 12 May 2008 22:21:16 +0200 Original-Received: from localhost ([127.0.0.1]:46721 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JveVb-0006oV-6T for guile-user@m.gmane.org; Mon, 12 May 2008 16:20:31 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JveVW-0006oC-S1 for guile-user@gnu.org; Mon, 12 May 2008 16:20:26 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JveVW-0006ny-DN for guile-user@gnu.org; Mon, 12 May 2008 16:20:26 -0400 Original-Received: from [199.232.76.173] (port=49453 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JveVW-0006nv-73 for guile-user@gnu.org; Mon, 12 May 2008 16:20:26 -0400 Original-Received: from mail3.uklinux.net ([80.84.72.33]:52320) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1JveVW-00030T-8A for guile-user@gnu.org; Mon, 12 May 2008 16:20:26 -0400 Original-Received: from arudy (host81-129-100-189.range81-129.btcentralplus.com [81.129.100.189]) by mail3.uklinux.net (Postfix) with ESMTP id 4FE131F670F; Mon, 12 May 2008 21:20:25 +0100 (BST) Original-Received: from laruns (laruns [192.168.0.10]) by arudy (Postfix) with ESMTP id DC9943800D; Mon, 12 May 2008 21:20:24 +0100 (BST) In-Reply-To: (Didier Godefroy's message of "Mon, 12 May 2008 19:36:53 +0200") User-Agent: Gnus/5.110006 (No Gnus v0.6) Emacs/21.4 (gnu/linux) X-detected-kernel: by monty-python.gnu.org: Linux 2.4-2.6 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:6564 Archived-At: Didier Godefroy writes: > Hi all, > > Having trouble compiling guile 1.8.5 on tru64 unix v5.1b: > cc: Error: eval.c, line 2363: In this statement, "*(SCM > ...)0=(((SCM)((((0))<<8)+scm_tc8_isym)))" is not constant, but occurs in a > context that requires a constant expression. (needconstexpr) > case (ISYMNUM (SCM_IM_AND)): Are you using a somewhat dated compiler? scm_tc8_isym is defined like this: enum scm_tc8_tags { scm_tc8_flag = scm_tc3_imm24 + 0x00, /* special objects ('flags') */ scm_tc8_char = scm_tc3_imm24 + 0x08, /* characters */ scm_tc8_isym = scm_tc3_imm24 + 0x10, /* evaluator byte codes ('isyms') */ scm_tc8_iloc = scm_tc3_imm24 + 0x18 /* evaluator byte codes ('ilocs') */ }; and scm_tc3_imm24 is: #define scm_tc3_imm24 4 So a clever enough compiler could deduce that scm_tc8_isym actually is a constant, and hence the whole of the expression reported above is a constant. A fix should be to replace the enum above (in tags.h) by: #define scm_tc8_flag (scm_tc3_imm24 + 0x00) #define scm_tc8_char (scm_tc3_imm24 + 0x08) #define scm_tc8_isym (scm_tc3_imm24 + 0x10) #define scm_tc8_iloc (scm_tc3_imm24 + 0x18) Can you try that out and report if it works, or if you then hit other problems? Can you also tell us about your compiler, and if there is a C preprocessor macro that can be used to detect it dynamically? > > So I'm wondering, was my copying of the ltdl.h file in the root of the build > tree an ok thing to do? I don't think the above has anything to do with ltdl.h. Regards, Neil