Wolfgang Dautermann writes: > On 2016-11-14 16:20, Daniel Kochmański wrote: >> Your patch added to the develop branch. >> >> Best regards, >> Daniel > > Thank you. That branch I could not (cross)compile. The native > compiliation works, but when I crosscompile, I get error messages, where > I was not able to find the reason: > > First the 'preprocessor' emits some warnings: > > > dpp: > /home/dauti/Software/ecl-crosscompiling/build/ecl-prefix/src/ecl/src/c/symbol.d > -> c/symbol.c > dpp: > /home/dauti/Software/ecl-crosscompiling/build/ecl-prefix/src/ecl/src/c/package.d > -> c/package.c > > Unknown symbol: si::*ignore-package-locks* > > Unknown symbol: si::*ignore-package-locks* > > > And later there are compilation errors because of this unknown symbol: > > Compiling c/package.o... > In file included from ./ecl/ecl.h:89:0, > from > /home/dauti/Software/ecl-crosscompiling/build/ecl-prefix/src/ecl/src/c/package.d:16: > /home/dauti/Software/ecl-crosscompiling/build/ecl-prefix/src/ecl/src/c/package.d: > In function ‘ecl_rename_package’: > /home/dauti/Software/ecl-crosscompiling/build/ecl-prefix/src/ecl/src/c/package.d:250:22: > error: ‘unknown’ undeclared (first use in this function) > @'si::*ignore-package-locks*') == ECL_NIL) { > ^ > ./ecl/stacks.h:59:47: note: in definition of macro ‘ECL_SYM_VAL’ > # define ECL_SYM_VAL(env,s) (ecl_bds_read(env,s)) > > (further errors follow). ^ >
It seems, that your host ECL has different version than sources you compile. Make sure, that you remove build/ directory (for instance with make distclean), rebuild host ECL and cross-compile target ECL with the new host. > > But the "build-clean" branch (which you recommended, that I should use) > is okay (with that patch) - no errors occur there. develop branch has now build-clean branch merged. Please use it instead now. Thanks. > Hm. If both compilers (bytecode & C) are enabled, how can one select > which one should be used? Or which should be the default? as you have mentioned, you should use ext:install-bytecodes-compiler or ext:install-c-compiler > Somewhere I found that > "(ext::install-bytecodes-compiler)" works. This should probably be added > to the manual where compiliation mentioned > (https://common-lisp.net/project/ecl/manual/ch34s06.html) > That seems to work now. And if I call ecl with > ecl.exe --eval "(ext::install-bytecodes-compiler)" [further parameters] > the bytecode compiler is called by default. Perhaps I am able to > crosscompile Maxima with it. There is no easier command line option (or > configuration value somewhere) for that? Not yet. bytecodes compiler is usually installed by default on Windows though. Best 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