Subject: [clisp-list] clsql, oracle, etc

From: [email-masked]
Date: Thu Jun 24 06:13:04 2004

(general disclaimer: I'm a bit new to common lisp in general and clisp 
specifically - I'm perfectly willing to rtfm if it can be pointed out... :) 

I have been reading the implementation notes for clisp (2.33.1) and it 
mentions oracle as a module distributed with clisp. Just wondering how to go 
about finding out if it is installed. *features* doesn't seem to list any 
sql or db related packages. I need this on a win32 machine, unfortunately 
can't be linux. Can anyone point me in the right direction? 

Thanks,
Jeff

---

From: Pascal J.Bourguignon <[email-masked]>
Date: Thu Jun 24 06:59:05 2004

> can't be linux. Can anyone point me in the right direction? 

Obviously, you'd need to compile the oracle module on your win32.

That means that you need the Oracle libraries (dll?) for win32.

Assuming you have those, and assuming they export the same API than in
unix, I don't see any impediment to compile the oracle module in clisp
on win32.

-- 
__Pascal Bourguignon__                     http://www.informatimago.com/

There is no worse tyranny than to force a man to pay for what he does not
want merely because you think it would be good for him. -- Robert Heinlein

---

From: "John K. Hinsdale" <[email-masked]>
Date: Thu Jun 24 07:02:04 2004

> mentions oracle as a module distributed with clisp. Just wondering how
 > to go about finding out if it is installed.

Hi Jeff, here is the answer about the Oracle module as it pertains to
CLISP distributions: you MIGHT be able to use it on Windows, but
you would definitely only be able to do so if you compiled CLISP
yourself.

The CLISP source distribution comes w/ the _source code_ to the Oracle
module, but any pre-built CLISP will very probably not have the Oracle
module built into them, because no one (that I am aware of) who is
supplying pre-built binary CLISPs has the Oracle client software
development environment to build it.

All of this means if you want to use Oracle for CLISP you'll need to
compile build your own.  Note that to compile the CLISP Oracle module
you need to have YOUR OWN COPY of the Oracle client software libraries
and headers, specifically the Oracle "OCI" interface.  Until Larry
Ellison goes GPL ;) obviously CLISP cannot not ship w/ Oracle products
included.

You mentioned you are on Win32, not Unix.  The only platform Oracle
has been compiled on has been Linux, however it should really work on
any Unix.

As for Win32, the CLISP module docs mention that Unix-like modules
should transport well to Win32 when using the Cygwin or MinGW
compatibility stuff.  If you are using these things you may just be
able to compile and link CLISP w/ the Oracle module on Win32.

But the bad news is that if you are desirous to use a pre-built CLISP,
which it sounds like you are, and cannot or do not wish to compile
your own, then you will not be able to use Oracle.

I have Win32 however I don't do much development on it.  At the same
time, I realize CLISP is popular choice for Win32,so perhaps I can see
if I can setup things to build an Oracle-enabled CLISP for Win32.  I
think as long as I do not statically link Oracle code I should be OK
w/ licensing issues but I would of course have to research that.  That
would not happen anytime soon, though.

---
John Hinsdale, Alma Mater Software, Inc., Tarrytown, NY 10591-3710 USA
[email-masked] | http://www.alma.com/staff/hin | +1 914 631 4690

---

From: "John K. Hinsdale" <[email-masked]>
Date: Thu Jun 24 07:08:04 2004

> From: "Pascal J.Bourguignon" <[email-masked]>
 > Date: Thu, 24 Jun 2004 16:01:06 +0200

 > unix, I don't see any impediment to compile the oracle module in clisp

Yes, everything Pascal says is accurate, with the exception of the
part about the need to compile the module being obvious ;)

The CLISP docs say "modules included with the distribution" however it
is not unreasonable for an optimistic type to infer from that as
meaning "modules included with the binary distribution", i.e., you
will get those features in a pre-built binary.

Maybe the docs should just say "modules included in the source
distribution".

Also, until Oracle module actually runs on Win32 it should have
a Unix-only disclaimer. I suppose.

---

From: Sam Steingold <[email-masked]>
Date: Thu Jun 24 08:22:06 2004

> * John K. Hinsdale <[email-masked]> [2004-06-24 10:07:09 -0400]:
>
>
done.

-- 
Sam Steingold (http://www.podval.org/~sds) running w2k
<http://www.camera.org> <http://www.iris.org.il> <http://www.memri.org/>
<http://www.mideasttruth.com/> <http://www.honestreporting.com>
((lambda (x) (list x (list 'quote x))) '(lambda (x) (list x (list 'quote x))))

---

From: Sam Steingold <[email-masked]>
Date: Thu Jun 24 08:33:06 2004

> * John K. Hinsdale <[email-masked]> [2004-06-24 10:01:09 -0400]:
>

1. get cygwin

2. get clisp sources

3. edit Makefile and link.sh in clisp/modules/oracle to point to the
   location of your Oracle headers and binaries

4. configure and build:
   $ ./configure --with-module=oracle --with-mingw --build build-dir

5. run:
   $ ./build-dir/clisp -K full

> your own, then you will not be able to use Oracle.

This is absolutely __NOT__ the case.

Any CLISP binary distribution comes with
  /usr/lib/clisp/clisp-link
and
  /usr/lib/clisp/linkkit/*
specifically so that any user of this distribution could build his own
modules.

So, Jeff will need to get the sources of the Oracle module (CVS, source
distribution, John's web site), modify the Makefile and link.sh as in
[3] above, and follow the impnotes instruction to produce his own
linking set, in, say,
   /usr/lib/clisp/oracle/
then he will be able to run it with
   $ clisp -K oracle

-- 
Sam Steingold (http://www.podval.org/~sds) running w2k
<http://www.camera.org> <http://www.iris.org.il> <http://www.memri.org/>
<http://www.mideasttruth.com/> <http://www.honestreporting.com>
Lisp: it's here to save your butt.

---

From: "John K. Hinsdale" <[email-masked]>
Date: Thu Jun 24 08:51:11 2004

>> [J. Hinsdale]

 > [Sam Steingold]

 > specifically so that any user of this distribution could build his own

Oops my bad; I was confusing "need to compile the module" w/ "need to
compile CLISP" sorry.  I didn't know you could just build the module
and link it in ... probably much easier now that I think about it.

Jeff, if you want to give Sam's procedure a go, I've put up a recent
version of the Oracle module source standalone on my webpage.  See

	http://clisp.alma.com

Isuggest you unpack the archive at the same place you unpacked CLISP.
It will expand into

	./modules/oracle/*

I'd be happy to help however I can w/ build issues, particularly w/
the Oracle alibs.  Note I have NOT built this module on Win32, but at
the same time I would not be surprised if it "just worked".  Oracle is
pretty portable; one of the most portable commercial applications
really.

---