delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2003/10/23/13:56:56

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
X-Authentication-Warning: slinky.cs.nyu.edu: pechtcha owned process doing -bs
Date: Thu, 23 Oct 2003 13:56:25 -0400 (EDT)
From: Igor Pechtchanski <pechtcha AT cs DOT nyu DOT edu>
Reply-To: cygwin AT cygwin DOT com
To: Paul Bezzam <bezzam AT astro DOT ocis DOT temple DOT edu>
cc: cygwin AT cygwin DOT com
Subject: Re: Compiling errors with '-mno-cygin' option on Cygwin
In-Reply-To: <Pine.OSF.4.53.0310231309230.957884@gs873ps>
Message-ID: <Pine.GSO.4.56.0310231351510.15002@slinky.cs.nyu.edu>
References: <Pine DOT OSF DOT 4 DOT 53 DOT 0310231012220 DOT 909881 AT gs873ps>
<Pine DOT GSO DOT 4 DOT 56 DOT 0310231220130 DOT 15002 AT slinky DOT cs DOT nyu DOT edu>
<Pine DOT OSF DOT 4 DOT 53 DOT 0310231309230 DOT 957884 AT gs873ps>
Importance: Normal
MIME-Version: 1.0

Any DLL that comes with the Cygwin perl is going to depend on cygwin1.dll.
Same goes for any DLL you build without -mno-cygwin.  However, if you call
these DLLs from Visual Basic, or use -mno-cygwin when compiling, you'll
end up with the dependence on both msvcrt.dll (because of VB/-mno-cygwin)
*and* cygwin1.dll (because of the perl DLLs), and that's an explosive
combination.

If you really need to use Perl with Visual Basic, you might consider a
Windows-only version of Perl, e.g. ActiveState, and use the DLLs and
headers from that distribution in your -mno-cygwin build.  However, be
aware that this puts you completely outside of the realm of Cygwin, and
any support you get for this will have to come from some other forum.
	Igor

On Thu, 23 Oct 2003, Paul Bezzam wrote:

> Thank you for your replies.  But here is my problem:
>
> I am trying to make a DLL from a C program that has embedded Perl in it.
> I successfully created the DLL, and also created a test C client.  The
> client successfully calls the DLL.  All this is done in Cygwin and without
> the "-mno-cygwin" option.
>
> But, when I try to invoke this DLL from Visual Basic, the application
> crashes with the error message, "An unhandled Win32 Exception has
> occurred in VB6.EXE."
>
> Thanks.
>
> Paul
>
> On Thu, 23 Oct 2003, Igor Pechtchanski wrote:
>
> > On Thu, 23 Oct 2003, Paul Bezzam wrote:
> >
> > > Hello everyone,
> > >
> > > I have this issue: I have a C program that uses embedded perl to call a
> > > Perl subroutine.  This runs successfully when compiled with gcc with
> > > default options.  But, when I use the -mno-cygwin option, I get errors
> > > indicating that some include files are not available. (The error messages
> > > are shown below my signature)
> > >
> > > All of this is on Cygwin.  Can anyone please point my mistakes?
> > >
> > > Thank you.
> > > Paul
> > >
> > > Below is part of the error message:
> > >
> > > $ gcc -c -mno-cygwin mpdll2.c `perl -MExtUtils::Embed -e ccopts -e ldopts`
> > > Note (probably harmless): No library found for -lcrypt
> > > Note (probably harmless): No library found for -lutil
> > > In file included from mpdll2.c:2:
> > > /usr/lib/perl5/5.8.0/cygwin-multi-64int/CORE/perl.h:613:27: netinet/in.h:
> > > No such file or directory
> > > /usr/lib/perl5/5.8.0/cygwin-multi-64int/CORE/perl.h:617:26: arpa/inet.h:
> > > No such file or directory
> > > /usr/lib/perl5/5.8.0/cygwin-multi-64int/CORE/perl.h:663:27: sys/times.h:
> > > No such file or directory
> > > /usr/lib/perl5/5.8.0/cygwin-multi-64int/CORE/perl.h:782:30: sys/ioctl.h:
> > > No such file or directory
> > > /usr/lib/perl5/5.8.0/cygwin-multi-64int/CORE/perl.h:1193:23: ieeefp.h: No
> > > such file or directory
> > > /usr/lib/perl5/5.8.0/cygwin-multi-64int/CORE/perl.h:1984:21: win32.h: No
> > > such file or directory
> > > In file included from
> > > /usr/lib/perl5/5.8.0/cygwin-multi-64int/CORE/perl.h:2215,
> > >                  from mpdll2.c:2:
> >
> > Paul,
> >
> > When you give the -mno-cygwin flag to gcc, you're invoking the MinGW
> > runtime/environment.  MinGW stands for "Minimalist GNU for Windows" (the
> > keyword here is "Minimalist").  It doesn't supply all of POSIX emulation,
> > and it's very likely that some of the headers (and system calls) aren't
> > available in it.
> >
> > You will most likely have to implement a lot of the functionality using
> > Windows native calls (e.g. winsock, etc).  It also looks like you're
> > pulling in the Cygwin versions of perl headers - while not an error in
> > itself, this might be a warning flag, since Cygwin and MinGW runtimes
> > usually don't mix well.
> >       Igor

-- 
				http://cs.nyu.edu/~pechtcha/
      |\      _,,,---,,_		pechtcha AT cs DOT nyu DOT edu
ZZZzz /,`.-'`'    -.  ;-;;,_		igor AT watson DOT ibm DOT 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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019