Lisp HUG Maillist Archive

(Lisp-HUG) :Exe-File Delivery Option ( also CLSQL)

Greetings to the list...

I am having a spot of bother getting a delivered CLSQL-based 
application to work...

As usual, things work perfectly until delivered - and then Zap, the 
application crow-bars inside CLSQL. Windows XP, LispWorks 5.1 32-bit.

I have tried setting the delivery options to their least settings to 
remove no packages, shaking no symbols, etc - in short, no 
optimization at all, and still Zap.

Question:  Are there any known gotchas for delivering CLSQL-based 
code?  Anything that I should be aware of?

Question:  I notice an odd :EXE-FILE delivery option that claims to 
be "for experts only" in the documentation with no other comments. 
Does anyone know what that might be?? I am scrounging around for 
different delivery options to tweak.

I appreciate any help.

Regards,

Jack Harper
Secure Outcomes Inc
Evergreen, Colorado USA





Re: (Lisp-HUG) :Exe-File Delivery Option ( also CLSQL)

Jack,

> I am having a spot of bother getting a delivered CLSQL-based application to work...
> 
> As usual, things work perfectly until delivered - and then Zap, the application crow-bars inside CLSQL. Windows XP, LispWorks 5.1 32-bit.
> 
> I have tried setting the delivery options to their least settings to remove no packages, shaking no symbols, etc - in short, no optimization at all, and still Zap.

You'll want to make sure the external library for sqlite3 is being included.  IIRC, it (along with the appropriate mscrvt) has been installed manually in c:/windows/system32 on your development machines -- which is the reason everything works fine in development.  Get the libraries installed on your staging and target machine(s) and you should be all set.

Btw, congratulations are probably in order if you've gotten this far :-)

-Michael


Re: (Lisp-HUG) :Exe-File Delivery Option ( also CLSQL)

And the :exe-file option is not for you, it's more like a internal option for LispWorks itself.

> 
> Greetings to the list...
> 
> I am having a spot of bother getting a delivered CLSQL-based application to work...
> 
> As usual, things work perfectly until delivered - and then Zap, the application crow-bars inside CLSQL. Windows XP, LispWorks 5.1 32-bit.
> 
> I have tried setting the delivery options to their least settings to remove no packages, shaking no symbols, etc - in short, no optimization at all, and still Zap.
> 
> Question:  Are there any known gotchas for delivering CLSQL-based code?  Anything that I should be aware of?
> 
> Question:  I notice an odd :EXE-FILE delivery option that claims to be "for experts only" in the documentation with no other comments. Does anyone know what that might be?? I am scrounging around for different delivery options to tweak.
> 
> I appreciate any help.
> 
> Regards,
> 
> Jack Harper
> Secure Outcomes Inc
> Evergreen, Colorado USA
> 
> 
> 
> 


Re: (Lisp-HUG) :Exe-File Delivery Option ( also CLSQL)

Hello All,

On Fri, May 13, 2011 at 8:35 PM, Michael Bentley
<michael@stray-hound.com> wrote:
>
> Jack,
>
>> I am having a spot of bother getting a delivered CLSQL-based application to work...
>>
>> As usual, things work perfectly until delivered - and then Zap, the application crow-bars inside CLSQL. Windows XP, LispWorks 5.1 32-bit.
>>
>> I have tried setting the delivery options to their least settings to remove no packages, shaking no symbols, etc - in short, no optimization at all, and still Zap.
>
> You'll want to make sure the external library for sqlite3 is being included.  IIRC, it (along with the appropriate mscrvt) has been installed manually in c:/windows/system32 on your development machines -- which is the reason everything works fine in development.  Get the libraries installed on your staging and target machine(s) and you should be all set.
>
> Btw, congratulations are probably in order if you've gotten this far :-)
>
> -Michael
>
>

He should be able to verify if the issue is with missing SQLite
libraries using something like DependencyWalker, to rule out any other
issues, no? I don't do much development on Windows, but there must be
some equivalent to ldd that can be run to check for this sort of
issue.

Oh, and I agree with Micahel, congratulations are most definitely in order.

Cheers,
 -- S.

-- 
====
Q. How many Prolog programmers does it take to change a lightbulb?
A. No.


Re: (Lisp-HUG) :Exe-File Delivery Option ( also CLSQL)

Jack Harper wrote on Fri, 13 May 2011 16:51:57 -0600 02:51:

| I am having a spot of bother getting a delivered CLSQL-based
| application to work...
| 
| As usual, things work perfectly until delivered - and then Zap, the
| application crow-bars inside CLSQL. Windows XP, LispWorks 5.1 32-bit.
| 
| I have tried setting the delivery options to their least settings to
| remove no packages, shaking no symbols, etc - in short, no
| optimization at all, and still Zap.
| 
| Question:  Are there any known gotchas for delivering CLSQL-based
| code?  Anything that I should be aware of?

I cannot speak for CLSQL but I used to deliver EXE-files with YstokSQL,
a similar library talking over ODBC.

You should definitely keep all the symbols representing SQL keywords, table
and column names etc. The names of those symbols must also be kept and not
mangled (the default on delivery level 5).

Moreover, you need one of
  :classes-to-keep-effective-slots or
  :metaclasses-to-keep-effective-slots
for SQL-expression classes.

Also at least :keep-clos :no-dynamic-definition.
--
HTH,
Dmitriy Ivanov
lisp.ystok.ru


Fwd: (Lisp-HUG) :Exe-File Delivery Option ( also CLSQL)

No. 2


---------- Forwarded message ----------
From: Edi Weitz <edi@weitz.de>
Date: Sat, May 14, 2011 at 10:21 AM
Subject: Re: (Lisp-HUG) :Exe-File Delivery Option ( also CLSQL)
To: Jack Harper <jharper@frobenius.com>
Cc: lisp-hug@lispworks.com


On Sat, May 14, 2011 at 10:17 AM, Edi Weitz <edi@weitz.de> wrote:

> One more thing: There's some kind of "UFFI" DLL which is distributed
> which CLSQL.  This C lib has to be in the right place on the target
> machine as well, of course, in addition to whichever DB libs (SQLite,
> PostgreSQL, ...) you're using.

Oh, wait!  I seem to recall now (it's been a while) that CLSQL (or
rather UFFI) has a somewhat strange way of locating the C libs which
doesn't lend itself well to delivery because I think it hard-codes the
location(s) from the development machine into the EXE.  This can be a
problem if your libs aren't in standard locations or if you want to
put them into the same folder as the EXE file for ease of
distribution.  I think I patched my local UFFI copy to get around
this.  I have to run now and will be out of town until Monday, but if
you need help with this, let me know and I can see if I can dig this
up.

Edi.


Re: (Lisp-HUG) :Exe-File Delivery Option ( also CLSQL)

Thanks to Ala'a, Art, Chun Tian, Dmitriy, Edi, Michael, and Sztefan 
for the comments on delivering CLSQL-based code.

I appreciate it and will report back to the List once the thing is resolved.

Regards to the List.

Jack Harper
Secure Outcomes Inc
Evergreen, Colorado USA

ps - Sorry for the delay in responding - I was out of town over the weekend.



Updated at: 2020-12-10 08:37 UTC