Garrett: please put ecl-devel as the address (that may be my fault that I've hit reply earlier).
Re your problem, please ensure, that c compiler is in the path.
-------- Oryginalna wiadomość -------- 26 lis 2020, 20:45, Garrett Dangerfield napisał(a): I got a compile to work with Visual Studio. I set: ECL_CMP = 1 and it's at least trying to generate a .o file instead of an .fasc file. I'm running this:
(ext:install-c-compiler)
;;; Loading #P"C:/Users/danger/Downloads/ecl-20.4.24/msvc/cmp.fas" NIL
(compile-file "t2.lsp" :system-p t)
;;; ;;; Compiling t2.lsp. ;;; OPTIMIZE levels: Safety=2, Space=0, Speed=3, Debug=0 ;;; ;;; End of Pass 1.The system cannot find the file specified.
;;; Internal error: ;;; ** Could not spawn subprocess to run "cl". NIL T T
And its' creating these files:
-rwxr-xr-x+ 1 danger None 1930 Nov 26 11:40 t2.c -rwxr-xr-x+ 1 danger None 395 Nov 26 11:40 t2.data -rwxr-xr-x+ 1 danger None 599 Nov 26 11:40 t2.eclh
Thoughts? Were there other settings I needed to tweak during the ECL compile?
Thanks, Garrett.
On Thu, Nov 26, 2020 at 9:54 AM Garrett Dangerfield garrett@dangerimp.com wrote: Thanks, I found the section of the manual right after I clicked send, of course.
Thanks.
On Thu, Nov 26, 2020 at 9:50 AM Daniel Kochmański daniel@turtleware.eu wrote: You don't call configure on msvc build, check out install file and the manual
Wysłano z aplikacji ProtonMail
-------- Oryginalna wiadomość -------- 26 lis 2020, 17:58, Garrett Dangerfield napisał(a):
So if I use Visual Studio, will I still use cygwin to do the ./configure?
On Thu, Nov 26, 2020 at 8:55 AM Daniel Kochmański daniel@turtleware.eu wrote:
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Thursday, 26 November 2020 17:51, Garrett Dangerfield garrett@dangerimp.com wrote:
I tried your suggestions and I tried the cygwin patch as well, no luck, that's why I tried to pull cygwin out of the equation. Neither seem to be producing an EXE that could understand an external compiler.
With the non-cygwin configuration, I'm baffled on why configure says things are kosher but the compile fails for missing file, though.
Thoughts?
No, sorry. All I can think of is using msvc. Generally ECL expects that he C compiler used will be the same compiler ECL was built with itself.
Thanks, Garrett.
On Thu, Nov 26, 2020 at 3:05 AM Daniel Kochmański daniel@turtleware.eu wrote: ECL may be build with cygwin/mingw, then it works with cygwin/mingw runtime. You may also use MSVC, then you need to enter the msvc directory and issue nmake (see documentation for more precise instructions).
That said, did you try my previous suggestion with passing appropriate flags to cygwin?
Regards, Daniel
-- Daniel Kochmański ;; aka jackdaniel | Przemyśl, Poland TurtleWare - Daniel Kochmański | www.turtleware.eu
"Be the change that you wish to see in the world." - Mahatma Gandhi
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Wednesday, 25 November 2020 23:11, Garrett Dangerfield garrett@dangerimp.com wrote:
So I zapped the gcc/g++, etc. from cygwin and did an install of mingw 64 bit outside of cygwin. I added the big directory from that to my path.
I did the "./configure --with-cmp=yes" and it finished: config.status: creating ecl/config.h config.status: creating ecl/config-internal.h Configuration complete. To build ECL, issue make in this directory.
But make is failing: $ make cd build; make make[1]: Entering directory '/cygdrive/c/Users/danger/Downloads/ecl-20.4.24/build' c doc gc atomic make[2]: Entering directory '/cygdrive/c/Users/danger/Downloads/ecl-20.4.24/build/atomic' Making all in src make[3]: Entering directory '/cygdrive/c/Users/danger/Downloads/ecl-20.4.24/build/atomic/src' make all-am make[4]: Entering directory '/cygdrive/c/Users/danger/Downloads/ecl-20.4.24/build/atomic/src' /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I../src -I/cygdrive/c/Users/danger/Downloads/ecl-20.4.24/src/bdwgc/libatomic_ops/src -Wall -Wextra -Wpedantic -Wno-long-long -g -O2 -D_THREAD_SAFE -MT atomic_ops.lo -MD -MP -MF .deps/atomic_ops.Tpo -c -o atomic_ops.lo /cygdrive/c/Users/danger/Downloads/ecl-20.4.24/src/bdwgc/libatomic_ops/src/atomic_ops.c libtool: compile: gcc -DHAVE_CONFIG_H -I../src -I/cygdrive/c/Users/danger/Downloads/ecl-20.4.24/src/bdwgc/libatomic_ops/src -Wall -Wextra -Wpedantic -Wno-long-long -g -O2 -D_THREAD_SAFE -MT atomic_ops.lo -MD -MP -MF .deps/atomic_ops.Tpo -c /cygdrive/c/Users/danger/Downloads/ecl-20.4.24/src/bdwgc/libatomic_ops/src/atomic_ops.c -o atomic_ops.o gcc.exe: error: /cygdrive/c/Users/danger/Downloads/ecl-20.4.24/src/bdwgc/libatomic_ops/src/atomic_ops.c: No such file or directory gcc.exe: fatal error: no input files compilation terminated. make[4]: *** [Makefile:610: atomic_ops.lo] Error 1 make[4]: Leaving directory '/cygdrive/c/Users/danger/Downloads/ecl-20.4.24/build/atomic/src' make[3]: *** [Makefile:473: all] Error 2 make[3]: Leaving directory '/cygdrive/c/Users/danger/Downloads/ecl-20.4.24/build/atomic/src' make[2]: *** [Makefile:475: all-recursive] Error 1 make[2]: Leaving directory '/cygdrive/c/Users/danger/Downloads/ecl-20.4.24/build/atomic' make[1]: *** [Makefile:129: libeclatomic.a] Error 2 make[1]: Leaving directory '/cygdrive/c/Users/danger/Downloads/ecl-20.4.24/build' make: *** [Makefile:65: all] Error 2
Obviously, on windows I still have to use cygwin as my shell because that's what configure expects.
Thoughts?
Thanks, Garrett.
On Wed, Nov 25, 2020 at 10:03 AM Daniel Kochmański daniel@turtleware.eu wrote: So the problem seems to be quite clear: your ecl build doesn't have the C compiler enabled. When you configure the build, include --with-cmp=yes (or builtin).
./configure --prefix=/my/cygwin/prefix --with-cmp=yes make && make install
Then C compiler should be available (you may still need to call (ext:install-c-compiler), you need to check it yourself because I don't remember whether bytecodes compiler is installed by default on cygwin, it is for msvc).
If it still doesn't work, please include a result of calling this code snippet:
(format t "~&~@{~12@A ~S~%~}" :version (lisp-implementation-version) :vcs-id (ext:lisp-implementation-vcs-id) :os (software-type) :os-version (software-version) :machine-type (machine-type) :features *features*)