On Fri, 2007-08-10 at 12:43 +0700, zen wrote: > core# g++ -DHAVE_CONFIG_H -I. -I. -I../include -I../include -I../include > -Werror -Wall -Wpointer-arith -Wwrite-strings -Wcomments -D_REENTRANT -g > -O2 -MT MemPool.o -MD -MP -MF ".deps/MemPool.Tpo" -E -o MemPool.E MemPool.cc > core# fgrep -3 mallopt MemPool.E > core# OK. So there is no mallopt in your preprocessed MemPool.E, as expected. Let's see whether g++ will suddenly find it if you compile MemPool.E. Run the same compilation command, but with a -c option at the end and adjusted output/input file names: g++ -DHAVE_CONFIG_H -I. -I. -I../include -I../include -I../include -Werror -Wall -Wpointer-arith -Wwrite-strings -Wcomments -D_REENTRANT -g -O2 -MT MemPool.o -MD -MP -MF ".deps/MemPool.Tpo" -c -o MemPool.o MemPool.E If it fails, email me your MemPool.E along with the g++ output. If it succeeds, we would have a case of two pretty much identical compilations producing different results. If you recall, nearly the same command failed when you ran "make" (we just ran the preprocessing step manually). If this happens, try running " make -k distclean; ./configure ... && make again. Thank you, Alex.