Help with installing ECL (Embeddable Common Lisp) via mingw32 or mingw-64 on Win7-64

I'm trying to compile ECL 10.4.1 on my Win7 64-bit box, but am having issues.

I've attempted the build with both mingw32/MSYS and mingw-w64/MSYS, using the exact packages linked to here. Both have failed.

With mingw32: ./configure passes, make fails as follows:

gcc -DECLDIR="\"/usr/local/lib/ecl-10.4.1\"" -I. -Ic:/my_home/ecl-10.4.1/build -I/c/my_home/ecl-10.4.1/src/c -I../ecl/gc -DECL_API -DECL_NO_LEGACY   -g -O2   -Dmingw32 -c -o main.o tmp.c

In file included from c:/my_home/ecl-10.4.1/src/c/main.d:20:0:
c:/my_home/ecl-10.4.1/build/ecl/ecl.h:71:4: error: #error "The Windows ports cannot be built without threads."
make[2]: *** [main.o] Error 1
make[2]: Leaving directory `/c/my_home/ecl-10.4.1/build/c'
make[1]: *** [libeclmin.a] Error 2
make[1]: Leaving directory `/c/my_home/ecl-10.4.1/build'
make: *** [all] Error 2

With mingw-w64: ./configure fails as follows:

[...]
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking gmp.h usability... no
checking gmp.h presence... no
checking for gmp.h... no
checking gmp/gmp.h usability... no
checking gmp/gmp.h presence... no
checking for gmp/gmp.h... no
configure: error: Can not find GMP header.

Does anyone have any advice for either of these? Or is there another build system I could try? (Other than Cygwin which I'm avoiding for licensing reasons.)


Answers


Firt, 10.4.1 is really old release. Update to at least 11.1.1, or, preferably git version. Then, you need to install mingw32 (preferably using mingw-get) and msys.

After that, you need to install mingw32-gmp-dev package (or manually compile it), boehm-gc-7.2alpha2 and libffi.

Given all that you should start your msys shell and type the following command:

./configure CFLAGS="-Ic:/msysdir/local/include -Ic:/msysdir/local/lib/libffi-3.0.9/include" LDFLAGS="-Lc:/msysdir/local/lib" --prefix=c:/opt/ecl --enable-threads --with-system-gmp -enable-boehm=system && make 2>&1 | tee -a build.log

This will build 32 bit version. As for m64 version, you will firs need to build all ECL dependencies as 64 bit. I havent tried that.

Also, you might be able to use gmp and gc included with ECL instead of system ones. I don't do that since ECL build takes much more time that way.


Need Your Help

leave-one-out regression using lasso in Matlab

matlab regression cross-validation glmnet lasso

I have 300 data samples with around 4000 dimension feature each. Each input has a 5 dim. output which is in the range of -2 to 2. I am trying to fit a lasso model to it. I went through a few posts ...

UIScrollview - Off-screen buttons do not fire

ios iphone objective-c uiscrollview

I have a UIScrollview that is very long and exceeds the width of the screen. See the below screenshot for reference.