[Gcl-devel] Re: [Maxima] Compilation problems with latest maxima
Subject: [Gcl-devel] Re: [Maxima] Compilation problems with latest maxima
From: Vadim V. Zhytnikov
Date: Sun, 29 Sep 2002 15:28:24 +0300
Hi Camm!
Actually you are not quite right about cmpinclude.h.
In general this file it is not required by GCL.
GCL has built-in variable compiler::*cmpinclude-string*
which holds text of cmpinclude.h. If this variable is
not NIL then compiler inserts it explicitly
in every foo.c generated by (compile-file "foo.lisp").
And only if compiler::*cmpinclude-string* is NIL then
compiler inserts usual #include and you _must_ have
cmpinclude.h in the include path.
Older version of GCL 2.5.0 worked fine to me without
any cmpinclude.h installed. But somewhere in August I
also start getting the problem with building
Maxima with GCL CVS. If I take sloop.lisp
from maxima/src directory, start gcl
and make (compile-file "sloop.lisp")
then everything goes just fine. I see that
very large sloop.c explicitly containing
cmpinclude.h text in the beginning.
But due to unknown reason if I try to
build Maxima with the same GCL then
sloop.c contains #include <cmpinclude.h>
I don't know why yet.
Camm Maguire ÐÉÛÅÔ:
> 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
>>>
>>
>>
>
--
Vadim V. Zhytnikov
<vvzhy@mail.ru>
<vvzhy@netorn.ru>
<vvzhy@yandex.ru>
<vvzhy@td.lpi.ac.ru>