Hello,
I've come across a problem with code using gnulib.

it attempts to replace strerror with strerror_rpl, resulting in errors
like the following:

undefined reference to `rpl_strerror'

https://lists.gnupg.org/pipermail/gnutls-devel/2013-November/006594.html

This occurs for two reasons:

Problem #1:
m4/strerror.m4:56-96

this tests for strerror(0).

NetBSD (and likely other *BSDs) do not define errno 0.
You can see a list of those defined here:
http://nxr.netbsd.org/xref/src/sys/sys/errno.h

So while strerror is probably 'normal', gnulib chooses to replace it.

Problem #2:
lib/string.in.h:958-959
#   undef strerror
#   define strerror rpl_strerror

it redefines strerror as rpl_strerror, but then does not proceed to
define rpl_strerror

I do not understand the sed magic that follows, but it does not override
this definition.

Reply via email to