AICCU - compile error - AlpineLinux
Shadow Hawkins on Tuesday, 04 March 2014 06:36:59
Hello,
can someone help me to compile AICCU on a fresh installed AlpineLinux.
To compile AICCU the "alpine-sdk gnutls-dev" needed.
But when I compile the software, I get an error:
localhost:~/aiccu# make
Building : aiccu - Automatic IPv6 Connectivity Configuration Utility
Copyright : SixXS
Version : 2007.01.15
make[1]: Entering directory '/root/aiccu/unix-console'
../common/resolver.o: In function `getrrs':
resolver.c:(.text+0xce): undefined reference to `res_nquery'
collect2: error: ld returned 1 exit status
Makefile:147: recipe for target 'aiccu' failed
make[1]: *** [aiccu] Error 1
make[1]: Leaving directory '/root/aiccu/unix-console'
Makefile:67: recipe for target 'all' failed
make: *** [all] Error 2
Can someone help me ?
AICCU - compile error - AlpineLinux
Jeroen Massar on Tuesday, 04 March 2014 06:59:24
res_nquery() is part of the resolver libraries. Very strange if you are missing that on any standard Linux distro. Normally this is defined in resolv.h.
"A security-oriented, lightweight Linux distribution based on uClibc and Busybox."
ah, indeed, uclibc does not include those functions.
AICCU - compile error - AlpineLinux
Shadow Hawkins on Tuesday, 04 March 2014 21:53:25
I found a patch that works !!!!!
300-resolver-uclibc.patch
--- aiccu/common/resolver.c.orig2007-09-02 23:10:58.000000000 +0200
+++ aiccu/common/resolver.c2007-09-02 23:11:01.000000000 +0200
@@ -26,7 +26,7 @@
int getrrs(const char *label, int rrtype, void gotrec(unsigned int num, int type, const char *record))
{
-#ifdef _LINUX
+#if defined(_LINUX) && !defined(__UCLIBC__)
struct __res_stateres;
#endif
unsigned charanswer[8192];
@@ -38,7 +38,7 @@
uint16_ttype = 0, class = 0;
uint32_tttl = 0;
-#ifdef _LINUX
+#if defined(_LINUX) && !defined(__UCLIBC__)
memset(&res, 0, sizeof(res));
res.options = RES_DEBUG;
res_ninit(&res);
@@ -47,7 +47,7 @@
#endif
memset(answer, 0, sizeof(answer));
-#ifdef _LINUX
+#if defined(_LINUX) && !defined(__UCLIBC__)
ret = res_nquery(&res, label, C_IN, rrtype, answer, sizeof(answer));
#else
ret = res_query(label, C_IN, rrtype, answer, sizeof(answer));
Posting is only allowed when you are logged in. |