[elephant-devel] Testing
Ian Eslick
eslick at csail.mit.edu
Mon Feb 19 20:24:30 UTC 2007
Thanks for trying that. Do you know if there's a way with the cygwin
gcc compiler to use a .def file instead of generating a .o with the
exports? I'm pretty sure MSVC has one. We'll also need a set of
build commands for MSVC...
I suspect we may have broken the build of libmemutil when we included
sys/types to get access to u_int64 and u_int32, etc. Without a
local system to play with I'm not sure I can debug this. I guess the
thing to do is look at db.h and sys/types to try to figure out what
was intended and whether they're compatible.
I'll see about getting access to a Windows box to try to reproduce
and test these things on my side.
Thanks,
Ian
On Feb 19, 2007, at 2:09 PM, Frank Schorr wrote:
>
> gcc -shared -mno-cygwin -mwindows -std=c99 --export-all-symbols
> libberkeley-db.def libberkeley-db.c -o libberkeley-db.dll
>
> produces
>
> cc1: error: unrecognized command line option "-fexport-all-symbols"
>
> Further:
>
> gcc -mno-cygwin -mwindows -c -Wall -std=c99 -L/c/Programme/Oracle/
> Berkeley\ DB\ 4.5.20/lib/ -I/c/Programme/Oracle/Berkeley\ DB\
> 4.5.20/include/ libberkeley-db.c
>
> produces
>
> In file included from libberkeley-db.c:165:
> /c/Programme/Oracle/Berkeley DB 4.5.20/include/db.h:99: error:
> conflicting types
> for 'ssize_t'
> /usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../../i686-pc-mingw32/
> include/sys/types
> .h:104: error: previous declaration of 'ssize_t' was here
> libberkeley-db.c: In function `case_cmp':
> libberkeley-db.c:1233: warning: implicit declaration of function
> `_strnicmp'
>
> Hope this can help
> Please let me know what to do next.
> Frank
>
>
>> 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, franks-muc at web.de 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 at common-lisp.net
>>> http://common-lisp.net/mailman/listinfo/elephant-devel
>>
>> _______________________________________________
>> elephant-devel site list
>> elephant-devel at common-lisp.net
>> http://common-lisp.net/mailman/listinfo/elephant-devel
>>
>
>
> _____________________________________________________________________
> Der WEB.DE SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen!
> http://smartsurfer.web.de/?mc=100071&distributionid=000000000066
>
> _______________________________________________
> elephant-devel site list
> elephant-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/elephant-devel
More information about the elephant-devel
mailing list