So digging a bit more,
On Centos 6
package numactl-devel-2.0.9-2.el6.x86_64
/usr/include/numa.h contains:
/* Set with all nodes from which the calling process may allocate memory.
Only valid after numa_available. */
extern struct bitmask *numa_all_nodes_ptr;
On Centos 5
package numactl-devel-0.9.8-12.el5_6
/usr/include/numa.h doesn't have any mention of numa_all_nodes_ptr, instead there is:
/* Set with all nodes. Only valid after numa_available. */
extern const nodemask_t numa_all_nodes;
Thank you Tomislav. I tried to build on Centos5 and here is what I got on CMakeFiles/ CMakeError. log:
Run Build Command: /usr/bin/ gmake "cmTryCompileEx ec/fast" cmTryCompileExe c.dir/build. make CMakeFiles/ cmTryCompileExe c.dir/build percona- server/ CMakeFiles/ CMakeTmp' report /vagrant/ percona- server/ CMakeFiles/ CMakeTmp/ CMakeFiles 1 cmTryCompileExe c.dir/src. c.o OFFSET_ BITS=64 -D__STDC_ LIMIT_MACROS -D__STDC_ CONSTANT_ MACROS -D__STDC_ FORMAT_ MACROS -fPIC -DHAVE_LIBNUMA -o CMakeFiles/ cmTryCompileExe c.dir/src. c.o -c /vagrant/ percona- server/ CMakeFiles/ CMakeTmp/ src.c percona- server/ CMakeFiles/ CMakeTmp/ src.c: In function ?~@~Xmain?~@~Y: percona- server/ CMakeFiles/ CMakeTmp/ src.c:6: error: ?~@~Xnuma_ all_nodes_ ptr?~@~ Y undeclared (first use in this function) percona- server/ CMakeFiles/ CMakeTmp/ src.c:6: error: (Each undeclared identifier is reported only once percona- server/ CMakeFiles/ CMakeTmp/ src.c:6: error: for each function it appears in.) cmTryCompileExe c.dir/src. c.o] Error 1 percona- server/ CMakeFiles/ CMakeTmp' ec/fast] Error 2
/usr/bin/gmake -f CMakeFiles/
gmake[1]: Entering directory `/vagrant/
/usr/bin/cmake -E cmake_progress_
Building C object CMakeFiles/
/usr/bin/gcc -D_LARGEFILE_SOURCE -D_LARGE_FILES -D_FILE_
/vagrant/
/vagrant/
/vagrant/
/vagrant/
gmake[1]: *** [CMakeFiles/
gmake[1]: Leaving directory `/vagrant/
gmake: *** [cmTryCompileEx
Source file was:
#include <numa.h>
set_mempolicy( MPOL_DEFAULT, 0, 0);
#include <numaif.h>
int main()
{
struct bitmask *all_nodes= numa_all_nodes_ptr;
return all_nodes != NULL;
}
So digging a bit more, devel-2. 0.9-2.el6. x86_64
On Centos 6
package numactl-
/usr/include/numa.h contains:
/* Set with all nodes from which the calling process may allocate memory. nodes_ptr;
Only valid after numa_available. */
extern struct bitmask *numa_all_
On Centos 5 devel-0. 9.8-12. el5_6
package numactl-
/usr/include/numa.h doesn't have any mention of numa_all_nodes_ptr, instead there is:
/* Set with all nodes. Only valid after numa_available. */
extern const nodemask_t numa_all_nodes;
so the cmake check is not passing on Centos5.