--- a/common/resolver.c
+++ b/common/resolver.c
@@ -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(__GLIBC__)
 	struct __res_state	res;
 #endif
 	unsigned char		answer[8192];
@@ -38,7 +38,7 @@ int getrrs(const char *label, int rrtype
 	uint16_t		type = 0, class = 0;
 	uint32_t		ttl = 0;
 
-#ifdef _LINUX
+#if defined(_LINUX) && defined(__GLIBC__)
 	memset(&res, 0, sizeof(res));
 	res.options = RES_DEBUG;
 	res_ninit(&res);
@@ -47,7 +47,7 @@ int getrrs(const char *label, int rrtype
 #endif
 
 	memset(answer, 0, sizeof(answer));
-#ifdef _LINUX
+#if defined(_LINUX) && defined(__GLIBC__)
 	ret = res_nquery(&res, label, C_IN, rrtype, answer, sizeof(answer));
 #else
 	ret = res_query(label, C_IN, rrtype, answer, sizeof(answer));
--- a/common/dn_skipname.c
+++ b/common/dn_skipname.c
@@ -9,7 +9,7 @@
  * return:
  *      0 on success, -1 (with errno set) on failure.
  */
-int ns_name_skip(const u_char **ptrptr, const u_char *eom)
+static int ns_name_skip(const u_char **ptrptr, const u_char *eom)
 {
 	const u_char *cp;
 	u_int n;
