gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: Camm Maguire
Subject: Re: [Gcl-devel] Re: [Maxima] Compilation problems with latest maxima
Date: 29 Sep 2002 09:34:35 -0400

Hi Vadim!

In short, one needs cmpinclude.h on the system if cone compiles with
:system-p turned on.   This in turn is necessary if the initialization
routine is to be uniquely named, i.e. not init_code in every file.
This in turn is required if one is to link the .o files using ld into
the text section of the executable as opposed to loading the .o into
the lisp core with 'load' and dumping the image with save-system.
This in turn i required if one uses dlopen instead of bfd for
relocations.  This in turn is currently required on 5 of the 11 Debian
architectures until we get a bfd patch.

In principle, we could rework :system-p to put cmpinclude.h in
explicitly as well, but this has not been done yet.  Should not be an
issue in any case, even if you don't install the gcl build -- just set
'export C_INCLUDE_PATH=<gcl source>/h'

Take care,

"Vadim V. Zhytnikov" <address@hidden> writes:

> 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 <"address@hidden, 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 <address@hidden> 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 address@hidden, please.  Almost missed this one.
>  >>>
>  >>>take care,
>  >>>
>  >>>Valerij Pipin <address@hidden> writes:
>  >>>
>  >>>
>  >>>>On 19 Sep 2002 14:34:41 -0500
>  >>>>Jay Belanger <address@hidden> 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
>  >>>>>address@hidden
>  >>>>>http://www.math.utexas.edu/mailman/listinfo/maxima
>  >>>>>
>  >>>>
>  >>>>_______________________________________________
>  >>>>Maxima mailing list
>  >>>>address@hidden
>  >>>>http://www.math.utexas.edu/mailman/listinfo/maxima
>  >>>>
>  >>>>
>  >>>
>  >>>--
>  >>>Camm Maguire                                              address@hidden
>  >>>==========================================================================
>  >>>"The earth is but one country, and mankind its citizens."  -- 
> Baha'u'llah
>  >>>_______________________________________________
>  >>>Maxima mailing list
>  >>>address@hidden
>  >>>http://www.math.utexas.edu/mailman/listinfo/maxima
>  >>>
>  >>
>  >>
>  >
> 
> 
> 
> -- 
>        Vadim V. Zhytnikov
> 
>         <address@hidden>
>        <address@hidden>
>        <address@hidden>
>       <address@hidden>
> 
> 
> 
> 
> 
> 

-- 
Camm Maguire                                            address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah




reply via email to

[Prev in Thread] Current Thread [Next in Thread]