[Gcl-devel] Re: [Maxima] Compilation problems with latest maxima



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>