Crosscompiling ECL for Windows

Daniel Kochmański daniel at turtleware.eu
Tue Sep 20 12:46:30 UTC 2016


Wolfgang Dautermann writes:

>
> Thank you very much for the fast response. That seems to solve that
> issue.

This time it took me more time, sorry about that.
>
> Currently I try to compile with the following shell script:
>
> -------------------------------------------------------
> LANG=C
> rm -rf build/
> ./configure ABI=32 CFLAGS=-m32 LDFLAGS=-m32 --disable-longdouble
> --enable-libatomic=included --prefix=$(pwd)/ecl-host
> make
> make install
> export ECL_TO_RUN=$(pwd)/ecl-host/bin/ecl
> rm -rf build/
> ./configure --host=i686-w64-mingw32 --prefix=$(pwd)/ecl-win32
> make
> -------------------------------------------------------

I had to tweak a few flags to start CC on my host, but succeeded.
>
> (Adopted from the 'crosscompile for android' section. Do I need to set
> --with-cross-config to something? There is only a file for android.)
>

well, it's pretty target-dependent and involves some guessing and tweaks
to the cross-configuration usually. I don't know if defaults work for
your target well. Cross compilation isn't well support at this point,
but we try to improve that.
>
> The ecl-host builds well.
> In the crosscompiled version, it seems that it runs the ecl for the
> *target* system, which doesnt work at some point (I can provide the
> complete build log, if necessary, that is just the end, where the error
> occurs):
>
> [...]
> ;;; Loading "Z:/home/dauti/ecl/src/cmp/cmpos-features.lsp"
> File not found.

What host are you building on? ("Z:/" looks very strange if its
Linux). I doubt that the target binary would run on different operating
system at all, it must be something else imho.
>
> (Notice the Windows/Dos path with drive letters like
> 'Z:/home/dauti/ecl/build/lsp/export.o'.
>
>
> The build *does* complete, if I copy ecl_min from the ecl-host build to
> the build dir:
> cp ./ecl-host/lib/ecl-16.1.2/ecl_min ./build/ecl_min.exe
> cp ./ecl-host/lib/ecl-16.1.2/ecl_min ./build/ecl_min
> after the first 'make' failed and build it (using 'make') a second time.
> Have I just set a variable wrong (ECL_TO_RUN should be okay? Do I need
> to set anything else?)
>

I can confirm, that there is problem with ecl_min (I've tried to CC it
on my host to windows). It's certainly a bug. Please subscribe to
https://gitlab.com/embeddable-common-lisp/ecl/issues/288 (I've reopened
the last issue) to be kept posted.
>
> Best regards, Wolfgang

Best regards,
Daniel

-- 
Daniel Kochmański ;; aka jackdaniel | Poznań, Poland
TurtleWare - Daniel Kochmański      | www.turtleware.eu

"Be the change that you wish to see in the world." - Mahatma Gandhi



More information about the ecl-devel mailing list