Okay, so what do we do with the new errno?

Matthew Dillon dillon at apollo.backplane.com
Wed May 4 09:22:34 PDT 2005

:After today's update I started to recompile all of my ports again
:(yes, I was well aware that I must) but the first port I tried
:(bash) died because of this line in psize.c:
:extern int errno;
:and this obviously conflicts with the definition in /usr/include/errno.h
:extern __thread int  errno;
:So -- what kind of patching does bash need?  The bash port might be a
:useful place to explain how this is going to work.  I see that errno.h
:includes a message about ports that want to define errno as a normal
:'int' but the provided workaround doesn't seem to work:
:#define errno   errno
:Is that really the intended definition, or a typo?
:Thanks for any clues.

    That's the intended definition, to work around programs which check
    to see if errno is a macro and declare it extern int if it isn't.

    The only thing we can do for programs which declare errno regardless
    of anything else is to rip out such declarations and throw an
    #include <errno.h> in instead.  Those programs are plain and simply
    broken and the authors need to fix their code.
					Matthew Dillon 
					<dillon at xxxxxxxxxxxxx>

More information about the Bugs mailing list