On 2016-09-20 14:46, Daniel Kochmański wrote:
Cross compilation isn't well support at this point, but we try to improve that.
Hi, (sorry for the late answer)
Thank you. I found some further issues.
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.
I am building on a Linux host. But thats was the issue. The compiliation process *did* run the (crosscompiled) binaries using the Linux Kernel feature 'binfmt_misc' (recognize the format and execute it in a user space emulator ("wine"))
When I did a 'chmod 000 /usr/bin/wine', it did produce a 'cross_config' file, which I could save and use with the parameter --with-cross-config (I am attaching the produced file here, if it is correct, perhaps it can be included in the source? I did change ECL_NEWLINE and commmented out ECL_TO_RUN because I want to use my self compiled ecl version.). What does ECL_WORKING_ENVIRON mean?
But this only works, if 'wine' is not available.
ECL seems to test, if a produced executable can be executed - and if this works, it assumes that one is not crosscompiling, right? Suggestion: If the parameter --with-cross-config is used, one wants to crosscompile, that should not be tested then.
Then the build works. 'make install' fails then with:
/usr/bin/install -c c/dpp.exe /home/dauti/ecl/ecl-mingw-root /usr/bin/install: cannot stat 'c/dpp.exe': No such file or directory Makefile:156: recipe for target 'install' failed
That file (dpp.exe) is not produced during the compiliation.
I did install ecl ignoring errors (make -k install) but the compiled FAS-files (build/*.fas) did not seem to get installed too, but that may be because of the errors before.
I then tried to build Maxima with the crosscompiled ecl (using wine, I do that with CLISP and SBCL too). That produced then a internal error - but that may be because the installation was not done correctly or perhaps a issue in 'wine'. Or some values of the cross-config files are wrong?:
;;; Compiling Z:/home/dauti/maxima-code/crosscompile-windows/build/maxima-prefix/src/maxima/src/maxima-package.lisp.;;; OPTIMIZE levels: Safety=2, Space=0, Speed=3, Debug=2 ;;; ;;; End of Pass 1.;;; Internal error: ;;; ** Detected access to an invalid or protected memory address.
Best regards, Wolfgang