delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1998/03/06/22:14:14

From: rhg AT cps DOT com (Richard H. Gumpertz)
Subject: Re: undefined errno in libftp
6 Mar 1998 22:14:14 -0800 :
Message-ID: <199803040221.UAA24057.cygnus.gnu-win32@Pooh.cps.com>
References: <01BD46B3 DOT E0C159A0 DOT fdiez AT tekniker DOT es>
To: fdiez AT tekniker DOT es
Cc: gnu-win32 AT cygnus DOT com

> Hello,
> 
> I am trying to build the Library for ftpd clients (libftp) from Oleg Orel 
> in Windows NT ( SP3 ). I built it in Solaris with no problem but when I 
> build it in windows NT I get the next error;
> 
> FtpLibrary.h:105: field `__errno' declared as a function
> 
> There is a struct;
> 
> typedef struct/* All structure initialize from edited struct FtpInit */
> {
> ...
> 
> int errno;        /* Last error code */  ( FtpLibrary.h:105)
> 
> ...
> }
> 
> If I add the next code to the FtpLibrary.h
> 
> #ifndef __CYGWIN32__
> extern int errno;
> #else
> #include <errno.h>
> #endif
> 
> I can build the library, but when I try to build a program I get the next 
> message:
> 
> FtpLogin.c:70: undefined reference to `errno'
> 
> Does anybody know what it happens ?

The problem is that C allows errno to be implemented as a macro rather than
an extern.  This is important for thread-safe code and a variety of other
things.  Avoid using the name errno in any context like that struct and you
should be OK.  In other words, the bug is in the file you are trying to
compile.

-- 
 =============================================================================
 |Richard H. Gumpertz rhg AT CPS DOT COM  VOICE: (913) 642-1777  FAX: (913) 642-8777|
 |Computer Problem Solving 4518 W 89th St, Ste 220, Prairie Vlg KS 66207-2293|
 =============================================================================
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request AT cygnus DOT com" with one line of text: "help".

- Raw text -


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