[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gcl-devel] Re: Build problems with gcl cvs tag Version_2_7_0t5
From: |
Camm Maguire |
Subject: |
[Gcl-devel] Re: Build problems with gcl cvs tag Version_2_7_0t5 |
Date: |
14 Sep 2005 15:07:52 -0400 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 |
Greetings!
OK, why don't you try this patch:
=============================================================================
Index: configure.in
===================================================================
RCS file: /cvsroot/gcl/gcl/configure.in,v
retrieving revision 1.195
diff -u -r1.195 configure.in
--- configure.in 9 Aug 2005 01:14:41 -0000 1.195
+++ configure.in 14 Sep 2005 19:06:14 -0000
@@ -1244,9 +1244,28 @@
AC_MSG_RESULT($cstack_direction)
+AC_MSG_CHECKING(for shared library/C stack ceiling to heap)
+if test "$use" = "mingw" ; then
+ heap_ceiling=2000000000
+else
+echo "int main() {return 0;}" >foo.c
+$CC foo.c -o foo
+heap_ceiling=`ldd foo | tail -n 1 | awk '{print $NF}' | tr -d '()'`
+AC_TRY_RUN([#include <stdio.h>
+int main() {
+ FILE *fp=fopen("conftest1","w");
+ unsigned long h=$heap_ceiling,d=$dbegin,c=$cstack_address;
+ h=h<d ? 0 : h;
+ h=c>d && c<h ? c : h;
+ fprintf(fp,"0x%lx",h);
+ return 0;}],heap_ceiling=`cat conftest1`,echo failed;exit 1,echo
failed;exit 1)
+fi
+AC_MSG_RESULT($heap_ceiling)
+AC_DEFINE_UNQUOTED(SHARED_LIB_HEAP_CEILING,$heap_ceiling)
+
## Don't lower heap start if C stack is below default dbegin, as we're
# likely to get more heap this way.
-if awk 'END {exit (unsigned long)d<(unsigned long)c ? 0 : 1}' d=$dbegin
c=$cstack_address /dev/null ; then
+if awk 'END {exit h && (unsigned long)d<(unsigned long)c ? 0 : 1}'
h=$heap_ceiling d=$dbegin c=$cstack_address /dev/null ; then
AC_MSG_CHECKING("finding default linker script")
touch unixport/gcl.script
@@ -1323,25 +1342,6 @@
LDFLAGS="$old_LDFLAGS"
fi
AC_DEFINE_UNQUOTED(DBEGIN,$dbegin)
-
-AC_MSG_CHECKING(for shared library/C stack ceiling to heap)
-if test "$use" = "mingw" ; then
- heap_ceiling=2000000000
-else
-echo "int main() {return 0;}" >foo.c
-$CC foo.c -o foo
-heap_ceiling=`ldd foo | tail -n 1 | awk '{print $NF}' | tr -d '()'`
-AC_TRY_RUN([#include <stdio.h>
-int main() {
- FILE *fp=fopen("conftest1","w");
- unsigned long h=$heap_ceiling,d=$dbegin,c=$cstack_address;
- h=h<d ? 0 : h;
- h=c>d && c<h ? c : h;
- fprintf(fp,"0x%lx",h);
- return 0;}],heap_ceiling=`cat conftest1`,echo failed;exit 1,echo
failed;exit 1)
-fi
-AC_MSG_RESULT($heap_ceiling)
-AC_DEFINE_UNQUOTED(SHARED_LIB_HEAP_CEILING,$heap_ceiling)
AC_MSG_CHECKING(for maxpage revision)
AC_TRY_RUN([#include <stdio.h>
=============================================================================
apply, then run autoconf, and then build as normal. Please let me
know if it doesn't work for you.
Alternatively, try getting configure.in and configure from CVS head --
am checking this in shortly.
Take care,
Mark Shields <address@hidden> writes:
> Hello again,
>
> > Where does DBEGIN start before being revised? Over the shared memory
> > start? If so, we can disable its lowering to 0 via a linker script,
> > as we already do when the stack starts below the default DBEGIN.
>
> From the output:
>
> checking DBEGIN... 0x8000000
> checking for pagewidth... 12
> checking CSTACK_ADDRESS... 0xbff0ffff
> checking NEG_CSTACK_ADDRESS... yes
> checking finding CSTACK_ALIGNMENT... 32
> checking CSTACK_DIRECTION... -1
> checking finding default linker script... got it
> checking trying to lower heap start... checking linker script... done
> checking revised DBEGIN... 0x0
>
> > In general, the best place for shared libs is right below the stack,
> > which ideally should count down from high memory. Redhat has done
> > sometimg to their kernel to enable this, so I know it is possible. At
> > some point I might put out a Debian kernel patch if someone can assist
> > in isolating the code.
>
> Oh, I forgot to mention this is a RedHat CentOS 4 system. If you
> think retreating to an earlier version would be easiest then we could
> do that.
>
> > If you
> > can send me your entire configure output, I'll try to find you a work
> > around for your particular situation in the interim.
>
> Here it is:
>
> creating cache ./config.cache
> checking host system type... i686-pc-linux-gnu
> host=i686-pc-linux-gnu
> enable_machine=
> use=386-linux
> checking for gcc... gcc
> checking whether the C compiler (gcc ) works... yes
> checking whether the C compiler (gcc ) is a cross-compiler... no
> checking whether we are using GNU C... yes
> checking whether gcc accepts -g... yes
> checking how to run the C preprocessor... gcc -E
> checking for gawk... gawk
> checking system version (for dynamic loading)... checking for
> makeinfo... makeinfo
> Linux-2.6.9-11.ELsmp
> checking for unistd.h... yes
> checking for sysconf in -lc... yes
> checking for _SC_CLK_TCK... 100
> checking for gmp.h... yes
> checking for __gmpz_init in -lgmp... yes
> checking for external gmp version... In file included from foo.c:1:
> /usr/include/gmp.h:54:40: stddef.h: No such file or directory
> checking for leading underscore in object symbols... no
> checking for GNU ld option -Map... yes
> checking for size of gmp limbs... 4
> checking _SHORT_LIMB... no
> checking _LONG_LONG_LIMB... no
> checking for X... libraries /usr/X11R6/lib, headers
> checking for dnet_ntoa in -ldnet... no
> checking for dnet_ntoa in -ldnet_stub... no
> checking for gethostbyname... yes
> checking for connect... yes
> checking for remove... yes
> checking for shmat... yes
> checking for IceConnectionNumber in -lICE... yes
>
> -L/usr/X11R6/lib
>
> -lSM -lICE
> checking for main in -lXmu... yes
> checking for main in -lXt... yes
> checking for main in -lXext... yes
> checking for main in -lXaw... yes
> checking for main in -lX11... yes
> checking size of long... 4
> checking size of int... 4
> checking size of short... 2
> checking size of char... 1
> checking for number of bits in char... 8
> checking for endian.h... yes
> checking endianness... little
> checking for sbrk... yes
> checking for randomized sbrk... yes
> checking for randomized brk remedy... yes
> checking for required object alignment... 8
> checking for C extension variable alignment... __attribute__
> ((aligned (8)))
> checking TYPE_BITS macro... 0xff09
> checking sizeof struct contblock... 8
> checking DBEGIN... 0x8000000
> checking for pagewidth... 12
> checking CSTACK_ADDRESS... 0xbff0ffff
> checking NEG_CSTACK_ADDRESS... yes
> checking finding CSTACK_ALIGNMENT... 32
> checking CSTACK_DIRECTION... -1
> checking finding default linker script... got it
> checking trying to lower heap start... checking linker script... done
> checking revised DBEGIN... 0x0
> checking for shared library/C stack ceiling to heap... 0x2ef000
> checking for maxpage revision... 512
> checking for C stack size floor from heap... 2097152
> checking for C stack size limit from fixnum table... 2097152 is OK
> checking mem top... 0xc0000000
> checking finding upper mem half range... 0x20000000
> checking sizeof long long int... yes
> checking for getcwd... yes
> checking for getwd... yes
> checking for uname... yes
> checking for gettimeofday... yes
> checking for sys/ioctl.h... yes
> checking for elf.h... yes
> checking for elf_abi.h... no
> checking for BSDgettimeofday... no
> checking for gettimeofday... (cached) yes
> checking for gettimeofday declaration... present
> checking for sin in -lm... yes
> checking for main in -lmingwex... no
> checking for math.h... yes
> checking for values.h... yes
> checking for float.h... yes
> checking for isnormal... yes
> checking for isfinite... yes
> checking for sockets... checking for connect... (cached) yes
> checking for gethostbyname... (cached) yes
> checking For network code for nsocket.c... yes
> checking check for listen using fcntl... yes
> checking for profil... yes
> checking for setenv... yes
> checking for _cleanup... no
> checking FIONBIO vs. O_NONBLOCK for nonblocking I/O... O_NONBLOCK
> checking check for SV_ONSTACK... yes
> checking check for SIGSYS... yes
> checking check for SIGEMT... no
> checking for asm/sigcontext.h... yes
> checking for asm/signal.h... yes
> checking for sigcontext...... sigcontext in signal.h
> checking for emacs... /usr/bin/emacs
> checking emacs site lisp directory... no
> checking emacs default.el... ./default.el
> checking emacs info/dir... /common/mbs/mCryptol/info/
> checking for tcl/tk... checking for tclsh... tclsh
> checking for main in -llieee... no
> not found
> checking alloca... yes
> checking for buggy gcc version from redhat... no
> updating cache ./config.cache
> creating ./config.status
> creating makedefc
> creating windows/gcl.iss
> creating windows/sysdir.bat
> creating windows/install.lsp
> creating h/gclincl.h
> makedefc
>
> # begin makedefs
>
> # use=386-linux
>
> # for main link of raw_gcl
> LIBS=-Wl,-T ../unixport/gcl.script -lm -lgmp
>
> #The multi precision library stuff
> MPFILES=$(MPDIR)/@MPI_FILE@ $(MPDIR)/libmport.a
>
>
> # root for the installation, eg /usr/local
> # This would cause make install to create /usr/local/bin/gcl and
> # /usr/local/lib/gcl-2-??/* with some basic files.
> prefix=/common/mbs/mCryptol
>
> # where to place the info files
> INFO_DIR=/common/mbs/mCryptol/info/
>
> # where to put emacs lisp files.
> EMACS_SITE_LISP=no
>
> # the default.el file
> EMACS_DEFAULT_EL=./default.el
>
> # numerous TCL/TK variables culled from the tkConfig.sh and tclConfig.sh
> # if these are found.
> TK_CONFIG_PREFIX=
> TK_LIBRARY=
> TCL_LIBRARY=
> TK_XINCLUDES=
> TK_INCLUDE=
> TCL_INCLUDE=
> TK_LIB_SPEC=
> TK_BUILD_LIB_SPEC=
> TK_XLIBSW=
> TK_XINCLUDES=
> TCL_LIB_SPEC=
> TCL_DL_LIBS=
> TCL_LIBS=
> TCL_STUB_LIBS=
>
> NOTIFY=no
> CC=gcc
> CFLAGS= -Wall -DVOL=volatile -fsigned-char -pipe -O3 -fomit-frame-
> pointer -I$(GCLDIR)/o
> FINAL_CFLAGS= -Wall -DVOL=volatile -fsigned-char -pipe
> NIFLAGS= -Wall -DVOL=volatile -fsigned-char -pipe -I$(GCLDIR)/o
> O3FLAGS=-O3 -fomit-frame-pointer
> O2FLAGS=-O
>
> LD_STACK_FLAGS=
>
> RL_OBJS=
>
> RL_LIB=
>
> MAKEINFO=makeinfo
>
> FLISP=saved_gcl
> SYSTEM=gcl
> BUILD_BFD=
> GMPDIR=gmp3
> X_LIBS= -L/usr/X11R6/lib -lXmu -lXt -lXext -lXaw -lX11
> X_CFLAGS=
>
> PROCESSOR_FLAGS=
>
> EXTRA_LOBJS=
> LEADING_UNDERSCORE=
> GNU_LD=1
> add-defs1 386-linux
> using 386-linux.defs
>
>
> Many thanks,
> Mark
>
>
>
--
Camm Maguire address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah