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