[Ecls-list] MinGW build fails with '--with-system-gmp' (and other queries)

marc daya marc.daya+ecl at gmail.com
Mon Jul 30 13:38:22 UTC 2007


Greetings all,

In trying to build ecl from the CVS sources
(http://common-lisp.net/cgi-bin/viewcvs.cgi/root.tar.gz?root=ecl&view=tar),
and I have a couple of questions:

First, at a couple of points during the compile I see the following:

   if test -f ../CROSS-DPP ; then ../CROSS-DPP
/c/_/pvt/tmp/ecl-cvs/ecl/ecl/src/c/main.d main.c ; else ./dpp.exe
/c/_/pvt/tmp/ecl-cvs/ecl/ecl/src/c/main.d main.c ; fi
   dpp: c:/_/pvt/tmp/ecl-cvs/ecl/ecl/src/c/main.d -> main.c

   Unknown symbol: mp::*current-process*

   Unknown symbol: mp::+load-compile-lock+

   Unknown symbol: mp::+load-compile-lock+

   Unknown symbol: si::*record-source-pathname-p*

There are similar notices for instance.c, typespec.c, assignment.c, load.c,
ffi.c; mostly just referring to 'mp::+load-compile-lock+'.  Should I be
concerned about these?  Does this point to somethat that is likely to cause
problems later, or can I safely ignore them?

Second, more seriously, I have enountered the following error after the
lisp core has booted:

   ;;; gcc -I"c:/_/pvt/tmp/ecl-cvs/ecl/ecl/build/c"  -g -O2
-I/usr/local/include -fstrict-aliasing -Dmingw32
-I"c:/_/pvt/tmp/ecl-cvs/ecl/ecl/src/c" -O
"-Ic:/_/pvt/tmp/ecl-cvs/ecl/ecl/build" -w -c
"c:/_/pvt/tmp/ecl-cvs/ecl/ecl/build/lsp/export.c" -o
"c:/_/pvt/tmp/ecl-cvs/ecl/ecl/build/lsp/export.o"

   In file included from c:/_/pvt/tmp/ecl-cvs/ecl/ecl/build/ecl/ecl.h:35,
                    from c:/_/pvt/tmp/ecl-cvs/ecl/ecl/build/ecl/ecl-cmp.h:16,
                    from c:/_/pvt/tmp/ecl-cvs/ecl/ecl/build/lsp/export.c:2:
   c:/_/pvt/tmp/ecl-cvs/ecl/ecl/build/ecl/config.h:33:17: gmp.h: No
such file or directory
   In file included from c:/_/pvt/tmp/ecl-cvs/ecl/ecl/build/ecl/ecl.h:55,
                    from c:/_/pvt/tmp/ecl-cvs/ecl/ecl/build/ecl/ecl-cmp.h:16,
                    from c:/_/pvt/tmp/ecl-cvs/ecl/ecl/build/lsp/export.c:2:
   c:/_/pvt/tmp/ecl-cvs/ecl/ecl/build/ecl/object.h:122: error: syntax
error before "mpz_t"
   c:/_/pvt/tmp/ecl-cvs/ecl/ecl/build/ecl/object.h:537: error: field
`big' has incomplete type
   In file included from c:/_/pvt/tmp/ecl-cvs/ecl/ecl/build/ecl/ecl.h:57,
                    from c:/_/pvt/tmp/ecl-cvs/ecl/ecl/build/ecl/ecl-cmp.h:16,
                    from c:/_/pvt/tmp/ecl-cvs/ecl/ecl/build/lsp/export.c:2:
   c:/_/pvt/tmp/ecl-cvs/ecl/ecl/build/c/ecl/external.h:92: error:
syntax error before "mp_limb_t"
   c:/_/pvt/tmp/ecl-cvs/ecl/ecl/build/c/ecl/external.h:102: error:
syntax error before '}' token
   c:/_/pvt/tmp/ecl-cvs/ecl/ecl/build/c/ecl/external.h:308: error:
syntax error before "hi"
   c:/_/pvt/tmp/ecl-cvs/ecl/ecl/build/lsp/export.c: In function `LC1dolist':
   c:/_/pvt/tmp/ecl-cvs/ecl/ecl/build/lsp/export.c:41: error: invalid
use of undefined type `struct cl_env_struct'

      ... *snip* ... (32 lines)

   c:/_/pvt/tmp/ecl-cvs/ecl/ecl/build/lsp/export.c:395: error: invalid
use of undefined type `struct cl_env_struct'
   ;;; The C compiler failed to compile the intermediate file.
   Broken at TOP-LEVEL.No restarts available.
   Top level.

I only see this having configured with '--with-system-gmp':

   ./configure --prefix=/usr/local --with-threads --enable-shared
--with-system-gmp --with-gmp-prefix=/usr/local

gmp.h is present in /usr/local/include, and libgmp.a in /usr/local/lib, and
configure seems happy with the locations:

   checking for __gmpz_init in -lgmp... yes

If I run the 'gcc' invocation on its own, that
is:

   $ cd build && gcc -I"c:/_/pvt/tmp/ecl-cvs/ecl/ecl/build/c"  -g -O2
-I/usr/local/include -fstrict-aliasing -Dmingw32
-I"c:/_/pvt/tmp/ecl-cvs/ecl/ecl/src/c" -O
"-Ic:/_/pvt/tmp/ecl-cvs/ecl/ecl/build" -w -c
"c:/_/pvt/tmp/ecl-cvs/ecl/ecl/build/lsp/export.c" -o
"c:/_/pvt/tmp/ecl-cvs/ecl/ecl/build/lsp/export.o"

it completes without errors.

I'm building using MinGW:

   $ uname -a
   MINGW32_NT-5.1 NBMNDAYA 1.0.10(0.46/3/2) 2004-03-15 07:17 i686 unknown

   $ gcc --version
   gcc.exe (GCC) 3.4.2 (mingw-special)
   Copyright (C) 2004 Free Software Foundation, Inc.
   This is free software; see the source for copying conditions.  There is NO
   warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Without '--with-system-gmp' everything builds just fine.  Is there
something that I've overlooked?

Thanks,
.marc

-- 
I pity the poor shades confined to the Euclidean prison that is sanity.
   --- Amadeus Arkham: 'Arkham Asylum'




More information about the ecl-devel mailing list