This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Loading gcc-compiled DLL with Java (JNI) crashes when using newer (>1.5.5) cygwin1.dll
- From: "Hans Horn" <hannes at 2horns dot com>
- To: cygwin at cygwin dot com
- Date: Fri, 2 Apr 2004 16:23:20 -0800
- Subject: Re: Loading gcc-compiled DLL with Java (JNI) crashes when using newer (>1.5.5) cygwin1.dll
- References: <404E2A9B.10804@Proefrock.de> <6.0.1.1.0.20040309160528.03d47338@127.0.0.1> <404E3A33.4090805@Proefrock.de> <Pine.GSO.4.56.0403091647360.18797@slinky.cs.nyu.edu> <c2nqv4$ieh$1@sea.gmane.org> <6.0.1.1.0.20040310164105.03a223e0@127.0.0.1>
Dear Group,
I'd like to follow up on this seemingly abandoned thread.
I just ran into the same problem as reported by Niklas.
Googling around brought me to the idea to try to use mingw's gcc flavour to
create the desired dll.
I just downloaded and uncompressed four of the mingw packages mentioned on
http://www.mingw.org/download.shtml (mingw-runtime, w32api, binutils and gcc
tarball packages) and followed the hints given here:
http://www.mingw.org/mingwfaq.shtml#faq-jni-dll, essentially,
mingw-gcc -Wall -D_JNI_IMPLEMENTATION_ -Wl,--kill-at -shared ...
The JNI dll created this way works neatly (and doesn't make the JVM croak as
the dll created using cygwin's gcc).
This may be just a temporary work-around until cygwin's gcc is back on
track, but at least one can live with it!
cheers,
Hans
"Larry Hall" <cygwin-lh@cygwin.com> wrote in message
news:6.0.1.1.0.20040310164105.03a223e0@127.0.0.1...
> At 02:40 PM 3/10/2004, you wrote:
> >Igor Pechtchanski wrote:
> >
> >>The core Cygwin DLL (/bin/cygwin1.dll) has no support for dynamic
loading.
> >>You may have been lucky before in that the functionality you had in your
> >>DLL didn't require the loading of the core one. Apparently this has
> >>changed between 1.5.5 and 1.5.7.
> >
> >Right. This seems to be, on the face of it, the same problem that bit the
WinCVS users - WinCVS looks for a tcl84.dll in the PATH and automatically
dynamically loads it, and if it happens to be a Cygwin-compiled one, it
hangs. This also changed after 1.5.6 - before that, it would "work", for
some definition of "working".
> >
> >Someone (I see eyes turning this way :-) needs to debug this, at least to
understand what changed..
>
>
> Dynamic loading of cygwin1.dll has been broken for a very long time. That
> doesn't mean it cannot be fixed. Just that figuring out what changed
> between 1.5.5 and 1.5.7 and reinstating it would not be a fix. It's
> the Cygwin DLL initialization that needs attention really. But I do
> expect that everyone would like it if someone got this working again. :-)
>
>
> --
> Larry Hall http://www.rfk.com
> RFK Partners, Inc. (508) 893-9779 - RFK Office
> 838 Washington Street (508) 893-9889 - FAX
> Holliston, MA 01746
>
>
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/