Hey, I'm not going to fix this one I think; testapp needs to be built without NDEBUG. You shouldn't be passing that flag in; the build system makes the main memcached binary with NDEBUG already.
On Wed, 23 Jun 2021, 張俊芝 wrote: > > Version: 1.6.9 > > Steps to reproduce the bug: > > Run the following commands: > CFLAGS='-DNDEBUG' ./configure > make > > When compiling testapp.c, the error of undefined reference to `cache_error' > would happen. > > Path that fixes the bug: > @@ -1,5 +1,8 @@ > /* -*- Mode: C; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */ > +#ifdef NDEBUG > #undef NDEBUG > +#define PRODUCT_BUILT_WITH_NDEBUG > +#endif > #include <pthread.h> > #include <sys/types.h> > #include <sys/socket.h> > @@ -236,12 +239,16 @@ > char old = *(p - 1); > *(p - 1) = 0; > cache_free(cache, p); > + #ifndef PRODUCT_BUILT_WITH_NDEBUG > assert(cache_error == -1); > + #endif > *(p - 1) = old; > > p[sizeof(uint32_t)] = 0; > cache_free(cache, p); > + #ifndef PRODUCT_BUILT_WITH_NDEBUG > assert(cache_error == 1); > + #endif > > /* restore signal handler */ > sigaction(SIGABRT, &old_action, NULL); > > -- > > --- > You received this message because you are subscribed to the Google Groups > "memcached" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to memcached+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/memcached/cd5e8bd8-af2d-429a-af97-1e66a964ee91n%40googlegroups.com. > > -- --- You received this message because you are subscribed to the Google Groups "memcached" group. To unsubscribe from this group and stop receiving emails from it, send an email to memcached+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/memcached/c7bd5228-bf41-465a-145-4e3a7beeeda1%40rydia.net.