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: Igor Pechtchanski <pechtcha at cs dot nyu dot edu>
- To: Hans Horn <hannes at 2horns dot com>
- Cc: cygwin at cygwin dot com
- Date: Fri, 2 Apr 2004 20:02:20 -0500 (EST)
- 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> <c4l05r$5d9$1@sea.gmane.org>
- Reply-to: cygwin at cygwin dot com
FYI, there was no need for you to go to all this trouble. You could have
instead installed the "gcc-mingw" and "mingw-runtime" packages via
Cygwin's setup, and gotten the same functionality via "gcc -mno-cygwin".
As long as your DLL doesn't use any of Cygwin's POSIX features, you should
be fine with a MinGW version (i.e., -mno-cygwin one).
Igor
On Fri, 2 Apr 2004, Hans Horn wrote:
> 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<at>cygwin<dot>com> wrote:
> > 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. :-)
--
http://cs.nyu.edu/~pechtcha/
|\ _,,,---,,_ pechtcha@cs.nyu.edu
ZZZzz /,`.-'`' -. ;-;;,_ igor@watson.ibm.com
|,4- ) )-,_. ,\ ( `'-' Igor Pechtchanski, Ph.D.
'---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow!
"I have since come to realize that being between your mentor and his route
to the bathroom is a major career booster." -- Patrick Naughton
--
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/