Does this work for generating the DLL for libberkeley-db.c?
gcc -shared -mno-cygwin -mwindows -std=c99 --export-all-symbols
libberkeley-db.def libberkeley-db.c -o libberkeley-db.dll
I can include the memutils .def file so this single command is easy
to invoke from asdf instead of via a shell script or makefile.
Ian
On Jan 23, 2007, at 7:48 PM, [EMAIL PROTECTED] wrote:
I tried the new elephant on winXP.
1. Allegro8 trial:
Error: In :IMPORT list, the symbol "ARRAY-TYPE-FROM-BYTE" not found
in package #<The ELEPHANT package>
[condition type: PACKAGE-ERROR]
when loading
c:\lisp\binaries\allegro-a8.0-mswindows-x86\lisp\libraries\elephant
\src\elephant\serializer1.fasl
2. LispWorks 5 pro
in file memutil.lisp
This creates an error:
(def-foreign-type array-or-pointer-char
#+allegro (:array :char)
#+(or cmu sbcl scl openmcl) (* :char))
changed 2nd line to:
#+(or allegro lispworks) (:array :char)
don't know whether it is the correct selection
Then:
Compilation aborted due to error between functions:
Package SB-KERNEL not found.
when compiling this:
;; A non-back-compatible change was made in SBCL 8 moving to SBCL 9,
;; in that the function copy-from-system-area disappeared.
;; This code is an attempt to allow compilation under bothe SBCL 8
and SBCL 9.
;; Thanks to Juho Snellman for this idiom.
(eval-when (:compile-toplevel)
(defun new-style-copy-p ()
(if (find-symbol "COPY-UB8-FROM-SYSTEM-AREA" "SB-KERNEL")
'(:and)
'(:or)))
)
I then commented out all forms depending on
;#+#.(elephant-memutil::new-style-copy-p) and
;#-#.(elephant-memutil::new-style-copy-p)
in file package lisp
Compilation aborted due to error between functions:
Duplicated names in "ELEPHANT" defpackage: "ELE".
I replaced
(:nicknames ele :ele)
with
(:nicknames :ele)
In file metaclasses.lisp
**++++ Error in (DEFCLASS ELEPHANT:PERSISTENT):
Defining function :DBCN-SPC-PST visible from package KEYWORD.
The accessor function stars with colon. I deleted the colon.
In file classes.lisp
Error
Defining (METHOD ENSURE-CLASS-USING-CLASS :AROUND ((EQL NIL) T))
visible from packages COMMON-LISP, CLOS.
No idea what to do.
3. I was able to use elephant 6.0 with ACL 7 trial
wherein I used cygwin to produce the dll s, and I copied the dll,
with a newer date than the source, into the
directory with binaries to prevent recompilation started with run-
shell-command from asdf, which does not seem
to work on windows.
This is the script for libmemutil.dll:
gcc -mno-cygwin -mwindows -std=c99 -c libmemutil.c
dlltool -z libmeutil.def --export-all-symbols -e exports.o -l
libmemutil.lib libmemutil.o
gcc -shared -mno-cygwin -mwindows libmemutil.o exports.o -o
libmemutil.dll
And this is the script for libsleepycat.dll:
gcc -mno-cygwin -mwindows -c -Wall -std=c99 -L/c/DB/Berkeley\ DB\
4.4.20/lib/ -I/c/DB/Berkeley\ DB\ 4.4.20/include/ libsleepycat.c
dlltool -z libsleepycat.def --export-all-symbols -e exports.o -l
libsleepycat.lib libsleepycat.o
gcc -shared -mno-cygwin -mwindows -L/c/DB/Berkeley\ DB\ 4.4.20/bin/
-llibdb44 libsleepycat.o exports.o -o libsleepycat.dll
(I don't know how to use variables in shell scripts)
4. I will try again
______________________________________________________________________
_
Viren-Scan für Ihren PC! Jetzt für jeden. Sofort, online und
kostenlos.
Gleich testen! http://www.pc-sicherheit.web.de/freescan/?mc=022222
_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel
_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel