Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , 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 12:24:53 -0400 (EDT) From: Igor Pechtchanski Reply-To: cygwin AT cygwin DOT com To: Paul Bezzam cc: cygwin AT cygwin DOT com Subject: Re: Compiling errors with '-mno-cygin' option on Cygwin In-Reply-To: Message-ID: References: Importance: Normal MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII 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/