[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