Ok, I got myself a windows installation and set it up only to get to
the same point you're at. I have no idea what's going on with db.h
either. I'll try looking at this again tomorrow.
You know, I switched to Mac OS because I hated working with cygwin
under MS Windows... :)
On Feb 19, 2007, at 6:20 PM, Frank Schorr wrote:
I haven't really understood what happens when a dll is built with
cygwin.
dlltool generates the .def file and the exports.o used in the
next gcc step. See
http://www.gnu.org/software/binutils/manual/html_chapter/
binutils_13.html
http://www.cygwin.com/cygwin-ug-net/dll.html
I was able to get a libmemutil.dll without errors by:
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
A while ago, when I made the dlls for elephant 0.6.0, my first try
was MSVC, guided by
http://bc.tech.coop/blog/041007.html
However, the available free MSVC appeared to have no preset dll-
project any more.
I had to try compiler switches ... and found cygwin easier.
This should mean that not every lisp-on-windows-user has
MSVC installed (and is able to use it. cygwin is easy to install).
Best regards,
Frank
-----Ursprüngliche Nachricht-----
Von: Elephant bugs and development <elephant-devel@common-lisp.net>
Gesendet: 19.02.07 21:26:09
An: Elephant bugs and development <elephant-devel@common-lisp.net>
Betreff: Re: [elephant-devel] Testing
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
______________________________________________________________________
____
Erweitern Sie FreeMail zu einem noch leistungsstärkeren E-Mail-
Postfach!
Mehr Infos unter http://freemail.web.de/home/landingpad/?mc=021131
_______________________________________________
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