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

Reply via email to