From: <don...@is...> - 2010-11-24 23:52:28
|
Part of my problem has been knowing what exactly has to be moved from one machine to another in order to run. I'm reasonably happy with the following solution: cd ...build-dir/full ./lisp.run -M ./lispinit.mem -i [load whatever you want to include] (ext:saveinitmem savename :executable t) This appears to produce a single file that can be moved to another machine and run. It also includes, I gather, the full link set, due to starting from the full directory rather than base. Fred Cohen writes: > >> ... once I install (read untar) and start lisp, I should > >> never have to use anything outside of it to do whatever I want to > >> do. I think the recipe above works for that. > >> ... and where I can test things I am about to use just before > >> I use them and just after I use them (for example I can verify that a > >> particular set of functions are working properly just before and after > >> use) sort of like I would have a built-in self-test for any other > >> instrument I use. I expect that the main thing you want to test is that you have the packages you need, and perhaps that they contain the symbols that you expect. If you built as described above, this would be pretty much assured, or at least you could test it when you first build and then be sure that it was still true when you move to a new machine. On the other hand, it's possible that the new environment will not contain all you need. I'd expect this to result in a failure when you first try to run the saved file, e.g., cause of missing libraries. What other cases are there? I guess one that comes to mind is that things like (shell ...) may behave differently on different systems. I suggest that you write a separate self-test for each of your particular systems and include it in the system that you load and save above. |