From: Frank B. <fb...@fr...> - 2005-12-29 00:57:15
|
> I hope someone can help me to compile clisp-2.36, sorry i do=20 > not know much > about the c compiler. When i run make in the clisp=20 > directory, here is what=20 > happens. Does anyone know what the error means? try "--without-readline" when you call ./configure, if you=20 don't need readline or install the readline library first. --=20 Frank Bu=DF, fb...@fr... http://www.frank-buss.de, http://www.it4-systems.de |
From: Jim N. <ji...@rd...> - 2005-12-29 17:48:32
|
i do not have a ./configure is this something that make is supposed to create? make seems to fail before it creates it. when i look in the README file, it does not say anything about ./configure by the way. -jim -------------------------- Content-Type=message/rfc822 Content-Description=embedded message From: "Frank Buss" <fb...@fr...> To: <cli...@li...> Subject: RE: [clisp-list] cannot find -lreadline Date: Thu, 29 Dec 2005 01:57:08 +0100 > I hope someone can help me to compile clisp-2.36, sorry i do=20 > not know much > about the c compiler. When i run make in the clisp=20 > directory, here is what=20 > happens. Does anyone know what the error means? try "--without-readline" when you call ./configure, if you=20 don't need readline or install the readline library first. --=20 Frank Bu=DF, fb...@fr... http://www.frank-buss.de, http://www.it4-systems.de |
From: Marcin T. <mm...@ze...> - 2005-12-29 22:51:00
|
Using the linux i686 tarball from sourceforge, I find that the make process fails on -lsigsegv, which to be honest I didn't even realise was a library. Any recommendations? Jim Newton wrote: > i do not have a ./configure > is this something that make is supposed to create? > make seems to fail before it creates it. > > when i look in the README file, it does not say anything > about ./configure by the way. > > -jim > > > -------------------------- > Content-Type=message/rfc822 > Content-Description=embedded message > From: "Frank Buss" <fb...@fr...> > To: <cli...@li...> > Subject: RE: [clisp-list] cannot find -lreadline > Date: Thu, 29 Dec 2005 01:57:08 +0100 > >> I hope someone can help me to compile clisp-2.36, sorry i do=20 >> not know much >> about the c compiler. When i run make in the clisp=20 >> directory, here is what=20 >> happens. Does anyone know what the error means? > > try "--without-readline" when you call ./configure, if you=20 > don't need readline or install the readline library first. > > --=20 > Frank Bu=DF, fb...@fr... > http://www.frank-buss.de, http://www.it4-systems.de > > > ------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. Do you grep through log files > for problems? Stop! Download the new AJAX search engine that makes > searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! > http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click > _______________________________________________ > clisp-list mailing list > cli...@li... > https://lists.sourceforge.net/lists/listinfo/clisp-list |
From: Frank B. <fb...@fr...> - 2005-12-29 23:38:10
|
> Using the linux i686 tarball from sourceforge, I find > that the make > process fails on -lsigsegv, which to be honest I didn't even realise > was a library. Any recommendations? download http://ftp.gnu.org/pub/gnu/libsigsegv/libsigsegv-2.2.tar.gz and install it like explained at http://www.frank-buss.de/lisp/clisp.html (should be mostly the same for Unix). > > i do not have a ./configure > > is this something that make is supposed to create? > > make seems to fail before it creates it. in the source release at http://prdownloads.sourceforge.net/clisp/clisp-2.36.tar.gz?download there is a file called INSTALL, which says: "configure main configuration script" There is also a file called "configure" :-) -- Frank Buss, fb...@fr... http://www.frank-buss.de, http://www.it4-systems.de |
From: Frank B. <fb...@fr...> - 2005-12-29 05:37:37
|
I've patched the CLISP source a bit to allow applications without a = console and in one EXE file. The main problem was the stdout/in/err handles, = because sometimes they are 0 (or -1 on Windows 98), when not redirected and the console functions didn't work on it, so as a first hack I've opened the = NUL device with CreateFile for it. This is not so good, because then input/output redirection doesn't work anymore. Perhaps someone can take = a look at it, it should be possible to change the stream.d in a way that = it works with console applications and Windows mode applications. To deliver a Lisp application in one file, I've patched the source. Now = at startup it looks for some marker bytes in the program file itself, when called with no arguments. If found, it uses the bytes after the marker = as the image. This could be used independently of the WinMain patch. Now it is possible to create single file Lisp Windows applications, = which are zipped about 1.4 mb. See http://www.frank-buss.de/lisp/clisp.html = for a detailed description how to build it, with an example. Perhaps someone with more knowledge of the CLISP build files can = integrate this with a configure option (after fixing the stdin/out/err problem), = e.g. "--build-windows-version", like for Java: there is a java.exe = application, which uses a console and a javaw.exe, which uses WinMain for Windows = mode. The CLISP build scripts could create similiar files: lisp.exe and = lispw.exe, when enabled. I don't know if the memfile patch should be integrated by default, = perhaps it should be enabled with an option "--enable-memfile-linking". --=20 Frank Bu=DF, fb...@fr... http://www.frank-buss.de, http://www.it4-systems.de |
From: Sam S. <sd...@gn...> - 2006-01-02 05:28:24
|
> * Frank Buss <so@senax-ohff.qr> [2005-12-29 06:37:31 +0100]: > > http://www.frank-buss.de/lisp/clisp.html note that clisp/modules/bindings/win32.lisp already offers win32:MessageBoxA -- Sam Steingold (http://www.podval.org/~sds) running w2k http://pmw.org.il/ http://www.memri.org/ http://www.savegushkatif.org http://www.dhimmi.com/ http://www.camera.org http://www.palestinefacts.org/ God had a deadline, so He wrote it all in Lisp. |
From: Frank B. <fb...@fr...> - 2006-01-02 10:14:50
|
> > http://www.frank-buss.de/lisp/clisp.html > > note that clisp/modules/bindings/win32.lisp already offers > win32:MessageBoxA Thanks, but anyway my goal is to use an implementation independant windows mapping with CFFI, like tested here: http://article.gmane.org/gmane.lisp.cl-gardeners/587 -- Frank Buss, fb...@fr... http://www.frank-buss.de, http://www.it4-systems.de |
From: Andrew S. <ast...@ya...> - 2006-01-02 16:26:10
|
Hi Frank I am really intrigued by the way you made the message.exe. I modified the deliver.cmd to look like: set lisp_path=c:\clisp-2.35 %lisp_path%\clisp -K full -norc -M %lisp_path%\image-no-swank.mem -x "(load \"message.lisp\")(ext:saveinitmem \"saved\" :init-function #'main)" copy /y /b %lisp_path%\clisp.exe + marker.txt + saved.mem message.exe but when I execute the message.exe it tries to call c:/Linux/Clisp-GUI/base/lisp.exe so it fails. Is it possible to make it call lisp from c:\clisp-2.35/full/lisp? Where can I read about this REKRAM_CIGAM_EHT and how to put it all into one exe file? Thank you, Andrew --- Frank Buss <fb...@fr...> wrote: > > > http://www.frank-buss.de/lisp/clisp.html > > > > note that clisp/modules/bindings/win32.lisp > already offers > > win32:MessageBoxA > > Thanks, but anyway my goal is to use an > implementation independant windows > mapping with CFFI, like tested here: > > http://article.gmane.org/gmane.lisp.cl-gardeners/587 > > -- > Frank Buss, fb...@fr... > http://www.frank-buss.de, http://www.it4-systems.de > > > > ------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. Do > you grep through log files > for problems? Stop! Download the new AJAX search > engine that makes > searching your log files as easy as surfing the > web. DOWNLOAD SPLUNK! > http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click > _______________________________________________ > clisp-list mailing list > cli...@li... > https://lists.sourceforge.net/lists/listinfo/clisp-list > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com |
From: Andrew S. <ast...@ya...> - 2006-01-02 16:35:08
|
My bad... I should have put copy /y /b %lisp_path%\full\lisp.exe + marker.txt + saved.mem message.exe. Only now it says "module 'syscalls' requires package OS"... Andrew --- Andrew Stebakov <ast...@ya...> wrote: > Hi Frank > > I am really intrigued by the way you made the > message.exe. > I modified the deliver.cmd to look like: > set lisp_path=c:\clisp-2.35 > %lisp_path%\clisp -K full -norc -M > %lisp_path%\image-no-swank.mem -x "(load > \"message.lisp\")(ext:saveinitmem \"saved\" > :init-function #'main)" > copy /y /b %lisp_path%\clisp.exe + marker.txt + > saved.mem message.exe > > but when I execute the message.exe it tries to call > c:/Linux/Clisp-GUI/base/lisp.exe so it fails. Is it > possible to make it call lisp from > c:\clisp-2.35/full/lisp? > Where can I read about this REKRAM_CIGAM_EHT and how > to put it all into one exe file? > > Thank you, > Andrew > > --- Frank Buss <fb...@fr...> wrote: > > > > > http://www.frank-buss.de/lisp/clisp.html > > > > > > note that clisp/modules/bindings/win32.lisp > > already offers > > > win32:MessageBoxA > > > > Thanks, but anyway my goal is to use an > > implementation independant windows > > mapping with CFFI, like tested here: > > > > > http://article.gmane.org/gmane.lisp.cl-gardeners/587 > > > > -- > > Frank Buss, fb...@fr... > > http://www.frank-buss.de, > http://www.it4-systems.de > > > > > > > > > ------------------------------------------------------- > > This SF.net email is sponsored by: Splunk Inc. Do > > you grep through log files > > for problems? Stop! Download the new AJAX search > > engine that makes > > searching your log files as easy as surfing the > > web. DOWNLOAD SPLUNK! > > > http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click > > _______________________________________________ > > clisp-list mailing list > > cli...@li... > > > https://lists.sourceforge.net/lists/listinfo/clisp-list > > > > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam > protection around > http://mail.yahoo.com > > > ------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. Do > you grep through log files > for problems? Stop! Download the new AJAX search > engine that makes > searching your log files as easy as surfing the > web. DOWNLOAD SPLUNK! > http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click > _______________________________________________ > clisp-list mailing list > cli...@li... > https://lists.sourceforge.net/lists/listinfo/clisp-list > __________________________________________ Yahoo! DSL Something to write home about. Just $16.99/mo. or less. dsl.yahoo.com |
From: Frank B. <fb...@fr...> - 2006-01-02 18:30:17
|
> My bad... I should have put copy /y /b > %lisp_path%\full\lisp.exe + marker.txt + saved.mem > message.exe. > Only now it says "module 'syscalls' requires package > OS"... I can reproduce this error message, when I'm using the standard lisp.exe and not my patched version. The standard version has not the ability to link the image to the exe file. > Where can I read about this REKRAM_CIGAM_EHT and how > to put it all into one exe file? At the moment only at http://www.frank-buss.de/lisp/clisp.html , I don't know if the CLISP maintainers plans to integrate it in the standard distribution. And for REKRAM_CIGAM_EHT, try to read it reversed :-) It's added this way to the file to allow it to store the right way in the program. Then when scanning the program file at startup for finding the start of the image, it finds only the reversed version, not the string within the program itself. -- Frank Buss, fb...@fr... http://www.frank-buss.de, http://www.it4-systems.de |
From: Andrew S. <ast...@ya...> - 2006-01-02 19:38:23
|
What can I do to make the patched lisp.exe (which is capable of linking the image into the exe file)? Thank you, Andrew --- Frank Buss <fb...@fr...> wrote: > > My bad... I should have put copy /y /b > > %lisp_path%\full\lisp.exe + marker.txt + saved.mem > > message.exe. > > Only now it says "module 'syscalls' requires > package > > OS"... > > I can reproduce this error message, when I'm using > the standard lisp.exe and > not my patched version. The standard version has not > the ability to link the > image to the exe file. > > > Where can I read about this REKRAM_CIGAM_EHT and > how > > to put it all into one exe file? > > At the moment only at > http://www.frank-buss.de/lisp/clisp.html , I don't > know if the CLISP maintainers plans to integrate it > in the standard > distribution. > > And for REKRAM_CIGAM_EHT, try to read it reversed > :-) It's added this way to > the file to allow it to store the right way in the > program. Then when > scanning the program file at startup for finding the > start of the image, it > finds only the reversed version, not the string > within the program itself. > > -- > Frank Buss, fb...@fr... > http://www.frank-buss.de, http://www.it4-systems.de > > > > ------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. Do > you grep through log files > for problems? Stop! Download the new AJAX search > engine that makes > searching your log files as easy as surfing the > web. DOWNLOAD SPLUNK! > http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click > _______________________________________________ > clisp-list mailing list > cli...@li... > https://lists.sourceforge.net/lists/listinfo/clisp-list > __________________________________ Yahoo! for Good - Make a difference this year. http://brand.yahoo.com/cybergivingweek2005/ |
From: Frank B. <fb...@fr...> - 2006-01-02 20:34:29
|
> What can I do to make the patched lisp.exe (which is > capable of linking the image into the exe file)? it's described at http://www.frank-buss.de/lisp/clisp.html in detail. -- Frank Buss, fb...@fr... http://www.frank-buss.de, http://www.it4-systems.de |
From: Sam S. <sd...@gn...> - 2006-01-03 06:53:51
|
> * Frank Buss <so@senax-ohff.qr> [2005-12-29 06:37:31 +0100]: > > To deliver a Lisp application in one file, I've patched the > source. Now at startup it looks for some marker bytes in the program > file itself, when called with no arguments. If found, it uses the > bytes after the marker as the image. I implemented something similar in the CVS: try (saveinitmem "foo" :executable t) to get a standalone "foo.exe". > Perhaps someone with more knowledge of the CLISP build files can > integrate this with a configure option (after fixing the stdin/out/err > problem), e.g. "--build-windows-version", like for Java: there is a > java.exe application, which uses a console and a javaw.exe, which uses > WinMain for Windows mode. The CLISP build scripts could create > similiar files: lisp.exe and lispw.exe, when enabled. I don't understand the need to the non-console version. clisp has a repl, how do you get it without a console? -- Sam Steingold (http://www.podval.org/~sds) running w2k http://www.iris.org.il http://pmw.org.il/ http://ffii.org/ http://www.palestinefacts.org/ http://www.savegushkatif.org If I had known that it was harmless, I would have killed it myself. |
From: Frank B. <fb...@fr...> - 2006-01-03 09:00:54
|
> -----Original Message----- > From: Sam Steingold > I implemented something similar in the CVS: > try (saveinitmem "foo" :executable t) to get a standalone "foo.exe". I've tried this with the current CVS version: [1]> (saveinitmem "foo" :executable t) *** - SAVEINITMEM: illegal keyword/value pair :EXECUTABLE, T in argument list. The allowed keywords are (:QUIET :INIT-FUNCTION :VERBOSE :KEEP-GLOBAL-HANDLERS :START-PACKAGE :LOCKED-PACKAGES) > I don't understand the need to the non-console version. > clisp has a repl, how do you get it without a console? The reason for a non-console version is to have a foo.exe program, which can be double-clicked by the end-user and which doesn't open an additional console window in background. This is very useful in combination with ":executable t". The end-user (assuming "normal" peoples, not programmers like we are :-) doesn't need and doesn't want a repl. But instead of just disabling the repl for the lisp-w-version, something like Arseny Slobodyuk described would be useful. Perhaps this could be the default for Windows: The lisp.exe program is a Windows executable without a console window, but if started in interactive mode with a special command line switch, then a console window is created and attached (you can do this in Windows with the AllocConsole function), if not already started from a console. Otherwise it is started without a console window (but stdin/stdout/stderr-rerouting should be still possible, like in every other normal Windows application and unlike in my hack). For backward compatibility the clisp.exe starter can pass this command line switch. -- Frank Buss, fb...@fr... http://www.frank-buss.de, http://www.it4-systems.de |
From: Sam S. <sd...@gn...> - 2006-01-03 14:51:11
|
> * Frank Buss <so@senax-ohff.qr> [2006-01-03 10:00:44 +0100]: > >> -----Original Message----- >> From: Sam Steingold >> I implemented something similar in the CVS: >> try (saveinitmem "foo" :executable t) to get a standalone "foo.exe". > > I've tried this with the current CVS version: > > [1]> (saveinitmem "foo" :executable t) > > *** - SAVEINITMEM: illegal keyword/value pair :EXECUTABLE, T in argument > list. > The allowed keywords are > (:QUIET :INIT-FUNCTION :VERBOSE :KEEP-GLOBAL-HANDLERS :START-PACKAGE > :LOCKED-PACKAGES) there is a delay between developer cvs and anon cvs. please try again in a couple of hours -- Sam Steingold (http://www.podval.org/~sds) running w2k http://www.savegushkatif.org http://ffii.org/ http://www.camera.org http://www.iris.org.il http://www.dhimmi.com/ http://www.palestinefacts.org/ God had a deadline, so He wrote it all in Lisp. |
From: Frank B. <fb...@fr...> - 2006-01-04 03:23:09
|
> > I've tried this with the current CVS version: > > > > [1]> (saveinitmem "foo" :executable t) > > > > *** - SAVEINITMEM: illegal keyword/value pair :EXECUTABLE, > T in argument > > list. > > The allowed keywords are > > (:QUIET :INIT-FUNCTION :VERBOSE > :KEEP-GLOBAL-HANDLERS :START-PACKAGE > > :LOCKED-PACKAGES) > > there is a delay between developer cvs and anon cvs. > please try again in a couple of hours Yes, it works. But when I try to strip all symbols like "strip --strip-all lisp.exe", it doesn't work anymore: [8]> (saveinitmem "foo" :executable t :init-function #'main) *** - runtime too small (925784 bytes missing) The following restarts are available: ABORT :R1 ABORT Break 1 [9]> I suggest to add the size of the EXE file at the end of the marker string (which means var char marker[20] = "my magic marker\0\0\0" in spvw.d) and moving the filesize C code to savemem.lisp. Then you have to check in spvw.d only for 0 when loading and when saving, the current length is used. Then I can call "filesize" again on the stripped executable (which is 1 mb smaller after all). Another idea: if savemem.lisp has access to the filesize information included in the marker-string, it is possible that a standalone-exe can save itself again: if the pointer is 0, it replaces it with the filesize and saves all, including the image and if the pointer is /= 0, it saves only the part until the old image and then the new image. -- Frank Buss, fb...@fr... http://www.frank-buss.de, http://www.it4-systems.de |
From: Sam S. <sd...@gn...> - 2006-01-04 13:45:41
|
> * Frank Buss <so@senax-ohff.qr> [2006-01-04 04:22:59 +0100]: > > But when I try to strip all symbols like "strip > --strip-all lisp.exe", it doesn't work anymore: stripping CLISP disables disassembling of C functions and is not recommended. > Then I can call "filesize" again on the stripped executable (which is > 1 mb smaller after all). just strip lisp.exe before calling filesize (modify Makefile). -- Sam Steingold (http://www.podval.org/~sds) running w2k http://www.palestinefacts.org/ http://www.savegushkatif.org http://truepeace.org http://www.dhimmi.com/ http://www.honestreporting.com Press any key to continue or any other key to quit. |
From: Frank B. <fb...@fr...> - 2006-01-04 14:43:13
|
> > But when I try to strip all symbols like "strip > > --strip-all lisp.exe", it doesn't work anymore: > > stripping CLISP disables disassembling of C functions and is not > recommended. that's not interesting for the average Sokoban player, but 1 mb smaller file to download IS interesting. Moving the functionality from filesize.c to savemem.lisp and adding the size at the end of the marker solves the problem. Or even easier: move the size to the end of the marker, only, then you don't have to change the rest, but then you should perhaps deliver the filsize.exe program in the standard distribution, too. > just strip lisp.exe before calling filesize (modify Makefile). this is possible, but would be nice to have it in the standard distribution, because then I (and others) don't have to patch and recompile CLISP every time a new release is published. -- Frank Buss, fb...@fr... http://www.frank-buss.de, http://www.it4-systems.de |
From: Sam S. <sd...@gn...> - 2006-01-04 16:23:45
|
> * Frank Buss <so@senax-ohff.qr> [2006-01-04 15:43:07 +0100]: > > Moving the functionality from filesize.c to savemem.lisp and adding > the size at the end of the marker solves the problem. I don't think that windows will let an application open its own executable. also, this would mean that an executable image saved from a running executable image will include _two_ images. > Or even easier: move the size to the end of the marker, only, then you > don't have to change the rest, but then you should perhaps deliver the > filsize.exe program in the standard distribution, too. no, the standard distribution should just include the binaries on which filesize.exe have already been run. >> just strip lisp.exe before calling filesize (modify Makefile). > > this is possible, but would be nice to have it in the standard > distribution, because then I (and others) don't have to patch and > recompile CLISP every time a new release is published. I don't understand this. what "release is published"? what do you want to have in "the standard distribution"? what is "the standard distribution"? binary? source? -- Sam Steingold (http://www.podval.org/~sds) running w2k http://www.camera.org http://www.mideasttruth.com/ http://www.memri.org/ http://www.palestinefacts.org/ http://www.honestreporting.com Shady characters are often very bright. |
From: Frank B. <fb...@fr...> - 2006-01-05 03:18:50
|
> > Moving the functionality from filesize.c to savemem.lisp and adding > > the size at the end of the marker solves the problem. > > I don't think that windows will let an application open its own > executable. You can open it with read access, that's how my first patch worked. > also, this would mean that an executable image saved from a running > executable image will include _two_ images. Sorry, I mixed some ideas, another idea: The marker string should be var char marker[32] = "my magic marker0 "; In spvw.d the line to get the size should be changed to runtime_size = atol(&marker[15]) If runtime_size is 0, no image is linked. When building lisp.exe, filesize.c is not applied to the lisp.exe, but the code in savemem.lisp works like this when called with the :executable flag: - it checks the saved filesize at position 15 in the marker string in the program file: If 0, then the filesize of the program is determined and the new executable is written, with the new filesize included in the marker string at position 15 - if the filesize is >0, only the first filesize bytes are written for the new program, because this is a program, where an image was already appended - then the mew image is appended The advantages are: - ":executable" works for stripped program files, too - a program written with ":executable" can write itself again to a new program file name -- Frank Buss, fb...@fr... http://www.frank-buss.de, http://www.it4-systems.de |
From: Arseny S. <am...@ic...> - 2006-01-03 07:13:42
|
> I don't understand the need to the non-console version. > clisp has a repl, how do you get it without a console? When I came into this with my embeddable lisp project, I had to implement an "GDI console" layer and work through it. So when Lisp is started for interactive session, textmode console is used, if it started as a part of GUI project, Lisp window (the console emulator) is hidden and exhibits itself only when Lisp error is thrown. It was the non trivial task to go through the sources and change every console interface call. Moreother, there arise some thread issues, not the whole "arbitrary MT" problem though. GUI and Lisp should be executed in different threads to make the GUI code be able to execute when the Lisp thread is stopped. -- Arseny |
From: Sam S. <sd...@gn...> - 2006-01-03 14:55:30
|
> * Arseny Slobodyuk <nzcl@vpu.qib.eh> [2006-01-03 17:16:37 +1000]: > > So when Lisp is started for interactive session, textmode console is > used, if it started as a part of GUI project, Lisp window (the console > emulator) is hidden and exhibits itself only when Lisp error is > thrown. this would be nice. http://www.cygwin.com/acronyms/#PTC I don't want a configure option, win32 should always use winmain, but this should not break bootstrap and console debugging. hack on! -- Sam Steingold (http://www.podval.org/~sds) running w2k http://www.mideasttruth.com/ http://www.openvotingconsortium.org/ http://www.palestinefacts.org/ http://pmw.org.il/ http://truepeace.org I don't have an attitude problem. You have a perception problem. |