I ran into an error compiling the trunk on one of our clusters. It appears that a bug in glibc (version 2.5) causes __pthread_cleanup_routine to be defined when pthread.h is included and compiling with -std=gnu99 and -fexceptions.
The obvious fix is for lanl to upgrade either the cluser's gcc (which undoubtedly has a workaround) or glibc. But, seeing OpenMPI can not require c99 (as much as I would like to require c99) it might be a good idea to remove the c99 requirement on hwloc. Any comments? Better ideas? Error: mca/paffinity/hwloc/.libs/libmca_paffinity_hwloc.a(paffinity_hwloc_module.o): In function `__pthread_cleanup_routine': /usr/include/pthread.h:580: multiple definition of `__pthread_cleanup_routine' mca/paffinity/hwloc/.libs/libmca_paffinity_hwloc.a(paffinity_hwloc_component.o):/usr/include/pthread.h:580: first defined here mca/paffinity/hwloc/.libs/libmca_paffinity_hwloc.a(bind.o): In function `__pthread_cleanup_routine': /usr/include/pthread.h:580: multiple definition of `__pthread_cleanup_routine' mca/paffinity/hwloc/.libs/libmca_paffinity_hwloc.a(paffinity_hwloc_component.o):/usr/include/pthread.h:580: first defined here mca/paffinity/hwloc/.libs/libmca_paffinity_hwloc.a(cpuset.o): In function `__pthread_cleanup_routine': /usr/include/pthread.h:580: multiple definition of `__pthread_cleanup_routine' mca/paffinity/hwloc/.libs/libmca_paffinity_hwloc.a(paffinity_hwloc_component.o):/usr/include/pthread.h:580: first defined here mca/paffinity/hwloc/.libs/libmca_paffinity_hwloc.a(misc.o): In function `__pthread_cleanup_routine': /usr/include/pthread.h:580: multiple definition of `__pthread_cleanup_routine' mca/paffinity/hwloc/.libs/libmca_paffinity_hwloc.a(paffinity_hwloc_component.o):/usr/include/pthread.h:580: first defined here mca/paffinity/hwloc/.libs/libmca_paffinity_hwloc.a(topology-linux.o): In function `__pthread_cleanup_routine': /usr/include/pthread.h:580: multiple definition of `__pthread_cleanup_routine' mca/paffinity/hwloc/.libs/libmca_paffinity_hwloc.a(paffinity_hwloc_component.o):/usr/include/pthread.h:580: first defined here mca/paffinity/hwloc/.libs/libmca_paffinity_hwloc.a(topology-synthetic.o): In function `__pthread_cleanup_routine': /usr/include/pthread.h:580: multiple definition of `__pthread_cleanup_routine' mca/paffinity/hwloc/.libs/libmca_paffinity_hwloc.a(paffinity_hwloc_component.o):/usr/include/pthread.h:580: first defined here mca/paffinity/hwloc/.libs/libmca_paffinity_hwloc.a(topology-x86.o): In function `__pthread_cleanup_routine': /usr/include/pthread.h:580: multiple definition of `__pthread_cleanup_routine' mca/paffinity/hwloc/.libs/libmca_paffinity_hwloc.a(paffinity_hwloc_component.o):/usr/include/pthread.h:580: first defined here mca/paffinity/hwloc/.libs/libmca_paffinity_hwloc.a(topology-xml.o): In function `__pthread_cleanup_routine': /usr/include/pthread.h:580: multiple definition of `__pthread_cleanup_routine' mca/paffinity/hwloc/.libs/libmca_paffinity_hwloc.a(paffinity_hwloc_component.o):/usr/include/pthread.h:580: first defined here mca/paffinity/hwloc/.libs/libmca_paffinity_hwloc.a(topology.o): In function `__pthread_cleanup_routine': /usr/include/pthread.h:580: multiple definition of `__pthread_cleanup_routine' mca/paffinity/hwloc/.libs/libmca_paffinity_hwloc.a(paffinity_hwloc_component.o):/usr/include/pthread.h:580: first defined here mca/paffinity/hwloc/.libs/libmca_paffinity_hwloc.a(traversal.o): In function `__pthread_cleanup_routine': /usr/include/pthread.h:580: multiple definition of `__pthread_cleanup_routine' mca/paffinity/hwloc/.libs/libmca_paffinity_hwloc.a(paffinity_hwloc_component.o):/usr/include/pthread.h:580: first defined here -Nathan Hjelm HPC-3, LANL