Re: Anyone have experience with building Windows executables with free Common Lisp implementations?



On Fri, 17 Apr 2009 05:02:05 -0700 (PDT), MishoM
<mihaylov.mihail@xxxxxxxxx> wrote:

On Apr 17, 1:42 pm, Phil Armitage <philip.armit...@xxxxxxxxx> wrote:
On 17 Apr, 11:27, MishoM <mihaylov.mih...@xxxxxxxxx> wrote:

But I'm really disappointed that the free CL implementations don't
seem to make a difference between an "open" Lisp system and a
"finalized, closed" standalone executable. It seems obvious to me that
both are totally valid use cases and are also fundamentally different.
It is of great benefit to be able to change the system while it is
running when running a web based application for example, but when you
want to create a "desktop" application the "full Lisp system" is just
unnecessary baggage...

It's just a different way of looking at things. I agree, native
executables are what most end users will expect but you can of course
ship the compiler, libraries and a batch file inside a neat installer
package which puts the necessary bits in the start menu. Most users
don't tend to go routing around in 'Program Files' to see what you put
there.

This approach means shipping the compiler with every application -
i.e. a lot of duplication. And delivering executables is not only what
users expect, its also what many developers expect (at least because
the users expect it, if not for some other reason).

You said you're targeting Windows. Have you not noticed there is a
folder called "Common Files" in "Program Files"? That is one place
you can put stuff that you expect to reuse in multiple applications.
Every Windows version since NT (~1993) has had it.

The other simple answer is to create a folder named for your company
and install each product in a subfolder within it. You can then
install CLisp in a common subfolder and reuse it as you wish. Or you
can just install CLisp directly in Program Files ... then anyone can
use it.

The only thing you need to watch out for with shared executable
dependencies is the EXE version of DLL hell. If your program depends
on any private modifications to your Lisp or any of its libraries,
keep the mods in your own program directory so you don't accidentally
screw up another application. This holds regardless of what platform
you deploy on.


Not having this
ability, or having an inadequate implementation of it is a problem
which ranges from a mere inconvenience to a real showstopper, because
it may affect the final application in many ways. And the fact that
the major commercial implementers support it is a clear indication
that this is a feature which adds value to the product, otherwise they
wouldn't put effort into it.

Bottom line - this is a valuable feature and to me, not having it in
the free implementations shows that their implementers are biased to
Linux, where there is often a CL system available, and to web apps,
where this doesn't matter.

Linux (or shall we say "command line") bias is mostly irrelevant.
Windows is, for the most part, no harder to develop for or install on
than Linux - it's just different.

Microsoft's Windows installer is freely available and it will take
care of creating directories, modifying the path, making registry
entries (if necessary), installing for everyone or just the current
user, etc.

The only really important difference between the platforms is memory
management. Windows executables are not (memory) position independent
so you have to be careful on 32-bit Windows if your programs need to
share memory or if you need to run multiple instances of programs that
use (non-system) DLLs. In these circumstances it's a bit too easy to
run out of address space. The issues largely go away on 64-bit
Windows.

George
.



Relevant Pages

  • Re: Making Linux Easy for Newbies
    ... Software written for XP probably won't work on Windows ... I have one copy of Vista Ultimate running, and so far no compatability issues with software. ... MS introduced the "RunAs" option in the context menu for executables. ... They'll be prompted for a username/password with the rights and permissions to execute the file and install software. ...
    (alt.os.linux)
  • Re: Intel/Windows equivalent of 17" powerbook
    ... The layer of wobbly abstraction is the windows, ... a program executes it runs in an environment which provides things like ... are searched for executables, libraries and such like. ... The first package I am trying to install is failing. ...
    (uk.comp.sys.laptops)
  • Re: P4C800-DELUXE XP Install Problems --- Hanging
    ... Windows Install Guide by Mr Steveo from ABX Zone Website. ... Additionally, if you have a Springdale or Canterwood chipset motherboard, ... Install chipset INFs before any video or sound drivers. ...
    (alt.comp.periphs.mainboard.asus)
  • Re: Checking for the latest updates....
    ... It's a good idea to install them now and then check again, ... Microsoft Windows XP ... Windows XP Service Pack 1 ... Security Update for Windows XP ...
    (microsoft.public.windowsupdate)
  • RE: updates after format
    ... if the Microsoft Server is down. ... software you are installing has not passed Windows Logo testing verify its ... When you try to download an ActiveX control, install an update to Windows ... and you do not have the appropriate certificate in your Trusted Publishers ...
    (microsoft.public.windows.mediacenter)

Loading