Mon Feb 18 09:31:46 2019, comment #4:
This was partly self-inflicted. I don't know the proper fix though.
dico doesn't build on OpenBSD due to some sort of gnulib problem:
Making all in tests
depbase=`echo distck.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`; cc -DHAVE_CONFIG_H -I. -I../.. -I../../grecs/include -I../../grecs/include -I../../gnu -I../../gnu -I/usr/local/include -O2 -pipe -g -MT distck.o -MD -MP -MF $depbase.Tpo -c -o distck.o distck.c && mv -f $depbase.Tpo $depbase.Po
/usr/bin/libtool --tag=CC --mode=link cc -O2 -pipe -g -L/usr/local/lib -o distck distck.o ../../grecs/src/libgrecs.la /usr/local/lib/libintl.so.6.0 /usr/local/lib/libiconv.so.6.0 -lc -Wl,-rpath,/usr/local/lib -lz
libtool: link: cc -o distck -O2 -pipe -g -Wl,-rpath -Wl,/usr/local/lib distck.o /ptmp/pobj/dico-2.7/dico-2.7/grecs/src/.libs/libgrecs.a -L.libs -lz -lintl -liconv
ld: error: undefined symbol: rpl_strerror
>>> referenced by diag.c:40
>>> diag.o:(default_print_diag) in archive /ptmp/pobj/dico-2.7/dico-2.7/grecs/src/.libs/libgrecs.a
ld: error: undefined symbol: rpl_strerror
>>> referenced by symtab.c:0
>>> symtab.o:(grecs_symtab_strerror) in archive /ptmp/pobj/dico-2.7/dico-2.7/grecs/src/.libs/libgrecs.a
ld: error: undefined symbol: rpl_strerror
>>> referenced by sockaddr.c:177
>>> sockaddr.o:(parse_inet) in archive /ptmp/pobj/dico-2.7/dico-2.7/grecs/src/.libs/libgrecs.a
cc: error: linker command failed with exit code 1 (use -v to see invocation)
Error while executing cc -o distck -O2 -pipe -g -Wl,-rpath -Wl,/usr/local/lib distck.o /ptmp/pobj/dico-2.7/dico-2.7/grecs/src/.libs/libgrecs.a -L.libs -lz -lintl -liconv
- Error 2 in grecs/tests (Makefile:1323 'distck')
- Error 1 in grecs (Makefile:1248 'all-recursive')
- Error 1 in grecs (Makefile:1177 'all')
- Error 1 in . (Makefile:1321 'all-recursive')
- Error 1 in /ptmp/pobj/dico-2.7/dico-2.7 (Makefile:1226 'all')
Blindly trying to come up with a fix, I made the mistake of doing this (and promptly forgetting I'd done it):
Index: gnu/string.in.h
--- gnu/string.in.h.orig
+++ gnu/string.in.h
@@ -939,8 +939,6 @@ _GL_EXTERN_C char * mbstok_r (char *string, const char
#if @GNULIB_STRERROR@
# if @REPLACE_STRERROR@
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# undef strerror
-# define strerror rpl_strerror
# endif
_GL_FUNCDECL_RPL (strerror, char *, (int));
_GL_CXXALIAS_RPL (strerror, char *, (int));
This let it build but resulted in a recursive strerror call at runtime.
|