Re: 1.5.7 undefined reference to getreent when using mno-cygwin

2008-05-12 Thread Igor Peshansky
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/
  |\  _,,,---,,_[EMAIL PROTECTED] | [EMAIL PROTECTED]
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
--
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/

Re: 1.5.7 undefined reference to getreent when using mno-cygwin

2004-03-05 Thread Igor Pechtchanski
On Fri, 5 Mar 2004 listatlistdotdk 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
-- 
http://cs.nyu.edu/~pechtcha/
  |\  _,,,---,,_[EMAIL PROTECTED]
ZZZzz /,`.-'`'-.  ;-;;,_[EMAIL PROTECTED]
 |,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/