compiling file 3.26

John Zheng
Sun Mar 7 11:35:00 GMT 1999

Ah yes,

Adding the line

#include <errno.h>

to the file file.h did the trick.  It also worked, and may be more "correct,"
to add the line to the files file.c, fsmagic.c, and compress.c.  Perhaps the
need to make one of these changes should be documented at ?

Also, do you know if there is a version of gnu tar for win32 that supports
writing to remote unix tape devices that run rmt?  I would like to be able
to do something like

tar -cf c:\

and have tar write to my tape drive residing on the machine tapeserver.

Thanks again for your help.


On Sun, 7 Mar 1999, Corinna Vinschen wrote:

> John Zheng wrote:
> > 
> > Corinna,
> > 
> > I downloaded file-3.26.tar.gz from, and tried to compile it.
> > 
> > Near the end of compilation, I get the error:
> > [...]
> > /a/cygnus/file-3.26/file.c:202: undefined reference to `errno'
> > [...]
> > Do you know what the problem is?  errno appears to be defined as:
> > 
> > extern int errno;               /* Some unixes don't define this..      */
> The `extern' declaration of errno must be substituted with
> #include <errno.h>
> Cygwin defines errno not as a global variable, but as a
> #define to a function call. This is needed, because it
> wouldn't be reentrant else.
> Regards,
> Corinna

Want to unsubscribe from this list?
Send a message to

More information about the Cygwin mailing list