This is the mail archive of the cygwin@cygwin.com 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: Compiling errors with '-mno-cygin' option on Cygwin


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@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]