membase / manifest

repo manifest
http://techzone.couchbase.com/wiki/display/membase/Contributing+changes
44 stars 117 forks source link

Error in building `memcached` #5

Closed arashm closed 10 years ago

arashm commented 10 years ago

I'm getting this error while I have both gperftools 2.2.1 and jemalloc 3.6.0 installed:

checking google/malloc_extension_c.h presence... yes
configure: WARNING: google/malloc_extension_c.h: present but cannot be compiled
configure: WARNING: google/malloc_extension_c.h:     check for missing prerequisite headers?
configure: WARNING: google/malloc_extension_c.h: see the Autoconf documentation
configure: WARNING: google/malloc_extension_c.h:     section "Present But Cannot Be Compiled"
configure: WARNING: google/malloc_extension_c.h: proceeding with the compiler's result
configure: WARNING:     ## ----------------------------------------- ##
configure: WARNING:     ## Report this to memcached@googlegroups.com ##
configure: WARNING:     ## ----------------------------------------- ##
checking for google/malloc_extension_c.h... no
configure: error: google/malloc_extension_c.h not found
Makefile:155: recipe for target 'memcached/Makefile' failed
make: *** [memcached/Makefile] Error 1

While I also have memcached 1.4.20 installed, is there any way that I link the system version to makefile and bypass building memcached from source?

alk commented 10 years ago

System memcached cannot be used. Our memcached is heavy fork.

This issue is due to our fork of memcached trying to use google/malloc_extension.h rather than gperftools/malloc_extension.h

The former works, but gives warning which somehow still confuses configure. I'll take a look at it from gperftools perspective. There's no way to fix old memcached in old release.

alk commented 10 years ago

This is yet another fine example of why -Werror by default is plain evil. In this case it doesn't seem to be disable-able.

One way I was able to compile is by doing 'make CFLAGS='-O2 -g -Wno-cpp'

which disables warning from using deprecated google/malloc_extensions_c.h header.

Another ways are:

I'm closing the bug because, couchbase now uses cmake to build this stuff, so bug of older autotools-based build infrastructure is invalid in that setting.