This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Loading gcc-compiled DLL with Java (JNI) crashes when using newer (>1.5.5) cygwin1.dll


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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]