--- /dev/null
+--- a/tctdb.c
++++ b/tctdb.c
+@@ -20,6 +20,26 @@
+ #include "tctdb.h"
+ #include "myconf.h"
+
++#ifdef __UCLIBC__
++# include <features.h>
++# if __UCLIBC_MINOR__ <= 9 && __UCLIBC_SUBLEVEL__ <= 30
++
++size_t strlen(const char *s);
++long double strtold(const char *nptr, char **endptr);
++static inline long double nanl(const char *tagp)
++{
++ if (tagp[0] != '\0') {
++ char buf[6 + strlen(tagp)];
++ sprintf(buf, "NAN(%s)", tagp);
++ return strtold(buf, NULL);
++ }
++ return NAN;
++}
++
++# endif /* __UCLIBC_MINOR__ <= 9 && __UCLIBC_SUBLEVEL__ <= 30 */
++#endif /* __UCLIBC__ */
++
++
+ #define TDBOPAQUESIZ 64 // size of using opaque field
+ #define TDBLEFTOPQSIZ 64 // size of left opaque field
+ #define TDBPAGEBUFSIZ 32768 // size of a buffer to read each page