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

Reply via email to