Hello all, I wanted to have a look at but hit a small snag the final link ended with: libtool: link: gcc -std=gnu99 -g -O2 -o .libs/lstopo lstopo-lstopo.o lstopo-lstopo-color.o lstopo-lstopo-text.o lstopo-lstopo-draw.o lstopo-lstopo-fig.o lstopo-lstopo-cairo.o lstopo-lstopo-xml.o -L/home/OpenHPC/hwloc/src/hwloc/trunk/src -lm ../src/.libs/libhwloc.so -Wl,-rpath -Wl,/home/OpenHPC/hwloc/build/lib ../src/.libs/libhwloc.so: undefined reference to `hwloc_hwloc_strncasecmp' collect2: ld returned 1 exit status
I'm using a fresh svn checkout, svn info shows: --- Path: . URL: http://svn.open-mpi.org/svn/hwloc Repository Root: http://svn.open-mpi.org/svn/hwloc Repository UUID: 4b44e086-7f34-40ce-a3bd-00e031736276 Revision: 1090 Node Kind: directory Schedule: normal Last Changed Author: sthibaul Last Changed Rev: 1090 Last Changed Date: 2009-10-02 04:32:28 +1000 (Fri, 02 Oct 2009) --- and after runnign autogen.sh I build with: ./configure --prefix /home/OpenHPC/hwloc/build ; make ; make install I suspect that somehow there is one to many "hwloc_" prefixes on that function call? A svn an and svn log thinks that this revision is the cause: [tony@thor trunk]$ svn log -r 1090 -v ------------------------------------------------------------------------ r1090 | sthibaul | 2009-10-02 04:32:28 +1000 (Fri, 02 Oct 2009) | 1 line Changed paths: M /trunk/README M /trunk/configure.ac M /trunk/doc/Makefile.am M /trunk/include/hwloc/cpuset-bits.h M /trunk/include/hwloc/cpuset.h M /trunk/include/hwloc/glibc-sched.h M /trunk/include/hwloc/helper.h M /trunk/include/hwloc/linux-libnuma.h M /trunk/include/hwloc.h M /trunk/include/private/private.h M /trunk/src/bind.c M /trunk/src/topology-hpux.c M /trunk/src/topology-synthetic.c M /trunk/src/topology.c M /trunk/utils/hwloc-mask.h hp-ux compiler fixes ------------------------------------------------------------------------ This quick hack fixes it for me, but I don't know if it will work with hp-ux compilers. Index: trunk/src/topology-synthetic.c =================================================================== --- trunk/src/topology-synthetic.c (revision 1090) +++ trunk/src/topology-synthetic.c (working copy) @@ -37,19 +37,19 @@ break; if (*pos < '0' || *pos > '9') { - if (!hwloc_hwloc_strncasecmp(pos, "machines", 2)) + if (!hwloc_strncasecmp(pos, "machines", 2)) type = HWLOC_OBJ_MACHINE; - else if (!hwloc_hwloc_strncasecmp(pos, "nodes", 1)) + else if (!hwloc_strncasecmp(pos, "nodes", 1)) type = HWLOC_OBJ_NODE; - else if (!hwloc_hwloc_strncasecmp(pos, "sockets", 1)) + else if (!hwloc_strncasecmp(pos, "sockets", 1)) type = HWLOC_OBJ_SOCKET; - else if (!hwloc_hwloc_strncasecmp(pos, "cores", 2)) + else if (!hwloc_strncasecmp(pos, "cores", 2)) type = HWLOC_OBJ_CORE; - else if (!hwloc_hwloc_strncasecmp(pos, "caches", 2)) + else if (!hwloc_strncasecmp(pos, "caches", 2)) type = HWLOC_OBJ_CACHE; - else if (!hwloc_hwloc_strncasecmp(pos, "procs", 1)) + else if (!hwloc_strncasecmp(pos, "procs", 1)) type = HWLOC_OBJ_PROC; - else if (!hwloc_hwloc_strncasecmp(pos, "misc", 2)) + else if (!hwloc_strncasecmp(pos, "misc", 2)) type = HWLOC_OBJ_MISC; next_pos = strchr(pos, ':'); Yours Tony