delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2008/05/12/11:35:08

X-Recipient: archive-cygwin AT delorie DOT com
X-Spam-Check-By: sourceware.org
Date: Mon, 12 May 2008 11:34:30 -0400 (EDT)
From: Igor Peshansky <pechtcha AT cs DOT nyu DOT edu>
Reply-To: cygwin AT cygwin DOT com
To: =?ISO-8859-1?Q?Jes=FAs_Oliva?= <joliva AT iai DOT csic DOT es>
cc: cygwin AT cygwin DOT com
Subject: Re: 1.5.7 undefined reference to getreent when using mno-cygwin
In-Reply-To: <4828218F.30206@iai.csic.es>
Message-ID: <Pine.GSO.4.63.0805121130340.23011@access1.cims.nyu.edu>
References: Pine DOT GSO DOT 4 DOT 56 DOT 0403051013110 DOT 1570 AT slinky DOT cs DOT nyu DOT edu <4828218F DOT 30206 AT iai DOT csic DOT es>
MIME-Version: 1.0
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/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

---559023410-758783491-1210606470=:23011
Content-Type: TEXT/PLAIN; charset=ISO-8859-1
Content-Transfer-Encoding: 8BIT

<http://cygwin.com/acronyms/#PPIOSPE>.  I've redirected your query to the
appropriate list and set the Reply-To: header -- please make sure your
mailer honors it.

Ugh, top-posting...  Reformatted.

On Mon, 12 May 2008, Jesús Oliva wrote:

> > > Hi,
> > >
> > > I have a pure Win32 console program which I am trying to compile under
> > > Cygwin. I am
> > > including the following libraries
> > >
> > >         -lws2_32 -lrpcrt4 -luuid -lrpcns4 -lpsapi -liphlpapi
> > >
> > > and am using a host of Win32 calls for threading, sockets, semaphores, etc.
> > >
> > > I know that I need to compile with the option -mno-cygwin to be able to run
> > > the program on
> > > a computer without the cygwin.dll, which is what I want, however, when I add
> > > this option I
> > > get the following linker error:
> > >
> > >         undefined reference to `___getreent'
> > >
> > > This is my linker statement:
> > >
> > > g++ -g -O2 -D_GNU_SOURCE -D_REENTRANT -D_THREAD_SAFE -D WIN32 -D CYGWIN -D
> > > __CYGWIN__
> > > CoreMain.o CoreLibrary.a -Wl,--rpath -Wl,/usr/local/lib  -o CoreTest
> > > -mno-cygwin -lws2_32
> > > -lrpcrt4 -luuid -lrpcns4 -lpsapi -liphlpapi
> > >
> > > I have found that I get this for every line in the code where I use either
> > >
> > >         getchar()
> > > or
> > >         printf("...\b..."); fflush(stdout);
> > >
> > > and when I comment out these the error goes away, but jumps to the next line
> > > or file where
> > > I use this or something like it. I must admit that I have not tried removing
> > > all hundreds
> > > of them, just the first 15 or so...
> > >
> > > I have tried to include all sorts of libraries instead of the cygwin.dll and
> > > actually,
> > > when I include the -lpthread it compiles, but then the program crashes when
> > > I start using
> > > threads and semaphores...
> > >
> > > As I mentioned above, when I do not state -mno-cygwin, everything works fine
> > > and the
> > > program runs perfectly! But then it needs the cygwin.dll, of course...
> > >
> > > I found a few references to this on the web, mostly promoting the compiler
> > > directive
> > >
> > >         -D __CYGWIN__
> > >
> > > which I have tried, but to no avail...
> > >
> > > Below is a snippet of output from the linker. I hope this will make sense to
> > > somebody out
> > > there, who can tell me what to include in my linker statement...
> > >
> > > Thank you very much in advance!
> > >
> > > Best regards,
> > > Thor List
> > >
> > > [Linker output snipped]
> >
> > Thor,
> >
> > You have to use -mno-cygwin for the whole compilation, not just for the
> > link line, otherwise the wrong headers get picked up.  IOW, don't add
> > "-mno-cygwin" to LDFLAGS -- instead, redefine CXX='g++ -mno-cygwin' (and
> > CC='gcc -mno-cygwin') and rebuild everything from scratch.
> >        Igor
>
> I have a similar problem that the one related below, but when I try to
                                                above
> compile everything with the -mno-cygwin option, I get many errors such
> as:
>
> 'error: u_int32_t has not been declared
>
> I suppose that, if I don´t want to use cygwin.dll, I should add some
> libraries to the compiling and linking process, but I don´t know wich.
> Could you help me??
>
> Thank you very much,
> Jesús Oliva

You may need headers that define the above types, or you may be unable to
compile the code with -mno-cygwin if those headers are not present in
MinGW.

Remember, -mno-cygwin means "no Cygwin" -- you're using MinGW, and will
only be able to compile programs that MinGW has enough support for.

Further questions about this should really be directed to a MinGW list...
	Igor
-- 
				http://cs.nyu.edu/~pechtcha/
      |\      _,,,---,,_	    pechtcha AT cs DOT nyu DOT edu | igor AT watson DOT ibm DOT com
ZZZzz /,`.-'`'    -.  ;-;;,_		Igor Peshansky, Ph.D. (name changed!)
     |,4-  ) )-,_. ,\ (  `'-'		old name: Igor Pechtchanski
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

"That which is hateful to you, do not do to your neighbor.  That is the whole
Torah; the rest is commentary.  Go and study it." -- Rabbi Hillel

---559023410-758783491-1210606470=:23011
Content-Type: text/plain; charset=us-ascii

--
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/
---559023410-758783491-1210606470=:23011--

- Raw text -


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