[Gcl-devel] Re: [Maxima] Compilation problems with latest maxima
Subject: [Gcl-devel] Re: [Maxima] Compilation problems with latest maxima
From: Camm Maguire
Date: 24 Sep 2002 18:21:55 -0400
Greetings!
The ansi support in gcl is preliminary -- not all is there at present.
The defsystem.lisp in maxima assumes that :ansi-cl means certain
functions are defined, which in gcl's current case is not true. The
following modification to defsystem.lisp enables gcl's ansi image to
compile maxima correctly:
(;#+(or :cltl2 :ansi-cl) with-compilation-unit
;#+(or :cltl2 :ansi-cl) (:override override-compilation-unit)
;#-(or :cltl2 :ansi-cl) progn
progn
Hopefully we'll get the 'with-compilation-unit et.al. in the ansi
image soon.
Take care,
Valerij Pipin <"pip@iszf.irk.ru, vpipin"@irk.ru> writes:
> Thank you very much for explanations. Currently, I'm used to installing gcl from rpm which I build for myself.
> I droped the reference to "cmpinclude.h" in the spec file. This caused that problem in compiling
> maxima. I succesfully compiled maxima for gcl built with --disable-statsysbfd --enable-locbfd=yes.
> I had no luck for gcl with --enable-ansi. Are you able to compile maxima for the gcl built with the option --enable-ansi?
>
> best regards
> Valerij
>
> On 21 Sep 2002 19:59:46 -0400
> Camm Maguire <camm@enhanced.com> wrote:
>
> > Greetings!
> >
> > 1) cmpinclude.h is generated by the gcl build process. If you then do
> > 'make install', it should be installed along with the other files
> > where your compiler can find it.
> >
> > 2) old versions are not likely to have the same function/variable
> > definitions in all cases, as cvs gcl is under development.
> >
> > 3) If you don't want to bother installing libbfd et. al., gcl now
> > ships with its own local version. Check out the options with
> > ../configure --help. --disable-statsysbfd disables the search for
> > a static bfd lib for relocations. --enable-locbfd uses the local
> > bfd source. There is also --enable-custreloc for the old hand
> > tuned version, --enable-dynsysbfd for a shared bfd lib on your
> > system, and --enable-dlopen. Likewise, an external gmp lib can be
> > used with --enable-dynsysgmp.
> >
> > 4) The idea is that you *install* your gcl build, then build maxima
> > without reference to the gcl source tree. If you don't want to do
> > that, you can still direct the maxima build to the right places in
> > the (built) gcl source tree with 'export PATH=<gcl source>bin:$PATH
> > ; export C_INCLUDE_PATH=<gcl source/h'.
> >
> > Take care,
> >
> > Valerij Pipin <"vpipin@irk.ru, pip"@iszf.irk.ru> writes:
> >
> > > Hello,
> > > Something is going wrong for me... I did not find "cmpinclude.h" nether in the latest gcl-cvs nor in gcl-2.4.3.tgz.
> > > Fortunately, I have the copy of the old version of cvs-gcl made in August where I found this cmpinclude.h.
> > > I put it in /usr/include and tried to compile maxima. The number of errors is much less then before but still
> > > I have
> > > Compiling sloop.lisp.
> > > ; (DEFUN FIRST-SLOOP-FOR ...) is being compiled.
> > > ;; The variable *LOOP-INCREMENT* is undefined.
> > > ;; The compiler will assume this variable is a global.
> > > End of Pass 1.
> > > End of Pass 2.
> > > sloop.c: In function `L30':
> > > sloop.c:2088: called object is not a function
> > > sloop.c: In function `L65':
> > > sloop.c:4964: called object is not a function
> > > sloop.c:4978: called object is not a function
> > >
> > > Error: (SYSTEM "(cd binary-gcl/ ;kgcc -pipe -fwritable-strings -DVOL=volatile -I/usr/src/RPM/BUILD/gcl-2.5.0/o -fsigned-char -Wall -O4 -c sloop.c -w)") returned a non-zero value 0.
> > > Fast links are on: do (si::use-fast-links nil) for debugging
> > > Error signalled by UNLESS.
> > > Broken at CERROR. Type :H for Help.
> > > SLOOP>>
> > >
> > > rgds,
> > > Valerij.
> > >
> > > PS I've succefully build the latest cvs-gcl on my linux-duron after updating the binutils libbfd and liberty to the latest versions.
> > >
> > > On 20 Sep 2002 20:35:32 -0400
> > > Camm Maguire <camm@enhanced.com> wrote:
> > >
> > > > Greetings! The gcl/maxima build has been reworked so that one does
> > > > not need the source tree any longer to build maxima. this of course
> > > > then assumes that one has installed the gcl package. Doing so
> > > > installs the cmpinclude.h file in your system include directory. If
> > > > you want to build maxima from an uninstalled gcl source tree, just set
> > > > the C_INCLUDE_PATH environment variable to <gcl tree path>/h.
> > > >
> > > > Gcl issues to gcl-devel@gnu.org, please. Almost missed this one.
> > > >
> > > > take care,
> > > >
> > > > Valerij Pipin <pip@iszf.irk.ru> writes:
> > > >
> > > > > On 19 Sep 2002 14:34:41 -0500
> > > > > Jay Belanger <belanger@truman.edu> wrote:
> > > > >
> > > > > >
> > > > > > When I try compiling the latest cvs Maxima with the latest cvs gcl, I
> > > > > > get an error complaining about a missing file cmpinclude.h.
> > > > > > (The error message is at the end of this letter.)
> > > > > > I get the same problem with gcl-2.4.3, but not with an earlier cvs
> > > > > > maxima I was using, and not with clisp.
> > > > > > (Everything was compiled with gcc-3.2.)
> > > > > > Is this a local problem, or has anyone else come across it?
> > > > > >
> > > > > > Jay
> > > > > >
> > > > > Yes, I confirm this. I have the same error messages and there were no such errors with clisp and cmucl.
> > > > > In addition, I tried gcc-2.96 and kgcc with the same effect.
> > > > >
> > > > > I have another problem with building the latest cvs-gcl itself. Though I compiled it on Linux-P3,
> > > > > I was not able to do it on Linux-Duron750. The problem is with bfd routines.
> > > > > The error remains if I change the configure options to --disable-bfd --host=i586-linux-gnu.
> > > > > The building gcl-2.4.3 is OK on both systems.
> > > > >
> > > > > Valerij.
> > > > >
> > > > >
> > > > >
> > > > > > ~ $ cd maxima
> > > > > > ~/maxima $ ./bootstrap
> > > > > > + aclocal
> > > > > > + automake --add-missing --copy
> > > > > > configure.in: installing `./install-sh'
> > > > > > configure.in: installing `./mkinstalldirs'
> > > > > > configure.in: installing `./missing'
> > > > > > configure.in:6: installing `./config.guess'
> > > > > > configure.in:6: installing `./config.sub'
> > > > > > + autoconf
> > > > > > ~/maxima $ ./configure --enable-gcl
> > > > > > [Much deleted, no complaints from configure]
> > > > > >
> > > > > > Summary:
> > > > > > GCL enabled. Executable name gcl
> > > > > > default lisp: gcl
> > > > > > ~/maxima $ make
> > > > > > Making all in src
> > > > > > make[1]: Entering directory `/home/belanger/maxima/src'
> > > > > > test -d binary-gcl || mkdir binary-gcl
> > > > > > test -d binary-gcl/numerical || mkdir binary-gcl/numerical
> > > > > > test -d binary-gcl/numerical/slatec || mkdir binary-gcl/numerical/slatec
> > > > > > LISPTYPE=gcl ; export LISPTYPE ;\
> > > > > > GCL=gcl ; export GCL ;\
> > > > > > /home/belanger/maxima/lisp-utils/maxima-run-lisp \
> > > > > > -x '(load "/home/belanger/maxima/lisp-utils/defsystem.lisp")(funcall (intern "OPERATE-ON-SYSTEM" :mk) "maxima" :compile :verbose t)' && \
> > > > > > /home/belanger/maxima/lisp-utils/maxima-run-lisp \
> > > > > > -x '(load "/home/belanger/maxima/lisp-utils/defsystem.lisp")(funcall (intern "OPERATE-ON-SYSTEM" :mk) "maxima" :load :verbose t)' \
> > > > > > -d binary-gcl/maxima
> > > > > > gcl -batch -eval (let ((argv '())) (declare (ignorable argv)) (progn (load "/home/belanger/maxima/lisp-utils/defsystem.lisp")(funcall (intern "OPERATE-ON-SYSTEM" :mk) "maxima" :compile :verbose t)) (values))
> > > > > >
> > > > > > Warning: REQUIRE is being redefined.
> > > > > > ; - Compiling defsystem "maxima"
> > > > > > ; - Loading module "package"
> > > > > > ; - Loading source file "maxima-package.lisp"
> > > > > > Loading maxima-package.lisp
> > > > > > Finished loading maxima-package.lisp
> > > > > >
> > > > > > ; - Compiling module "info"
> > > > > > ; - Compiling module "sloop"
> > > > > > ; - Compiling source file "sloop.lisp"
> > > > > > Compiling sloop.lisp.
> > > > > > ; (DEFUN FIRST-SLOOP-FOR ...) is being compiled.
> > > > > > ;; The variable *LOOP-INCREMENT* is undefined.
> > > > > > ;; The compiler will assume this variable is a global.
> > > > > > End of Pass 1.
> > > > > > End of Pass 2.
> > > > > > sloop.c:2:24: cmpinclude.h: No such file or directory
> > > > > > sloop.c: In function `init_sloop':
> > > > > > sloop.c:4: `object' undeclared (first use in this function)
> > > > > > sloop.c:4: (Each undeclared identifier is reported only once
> > > > > > sloop.c:4: for each function it appears in.)
> > > > > > sloop.c:4: parse error before ')' token
> > > > > >
> > > > > > [Many many pages of similar errors]
> > > > > > _______________________________________________
> > > > > > Maxima mailing list
> > > > > > Maxima@www.math.utexas.edu
> > > > > > http://www.math.utexas.edu/mailman/listinfo/maxima
> > > > > >
> > > > >
> > > > > _______________________________________________
> > > > > Maxima mailing list
> > > > > Maxima@www.math.utexas.edu
> > > > > http://www.math.utexas.edu/mailman/listinfo/maxima
> > > > >
> > > > >
> > > >
> > > > --
> > > > Camm Maguire camm@enhanced.com
> > > > ==========================================================================
> > > > "The earth is but one country, and mankind its citizens." -- Baha'u'llah
> > > > _______________________________________________
> > > > Maxima mailing list
> > > > Maxima@www.math.utexas.edu
> > > > http://www.math.utexas.edu/mailman/listinfo/maxima
> > > >
> > >
> > >
> >
> > --
> > Camm Maguire camm@enhanced.com
> > ==========================================================================
> > "The earth is but one country, and mankind its citizens." -- Baha'u'llah
> > _______________________________________________
> > Maxima mailing list
> > Maxima@www.math.utexas.edu
> > http://www.math.utexas.edu/mailman/listinfo/maxima
> >
>
>
> _______________________________________________
> Gcl-devel mailing list
> Gcl-devel@gnu.org
> http://mail.gnu.org/mailman/listinfo/gcl-devel
>
>
--
Camm Maguire camm@enhanced.com
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah