Hi,
Concerning the few points of interest which Frank raised about my distribution/installation, I have the results below.
$ HWLOC_DIR=/usr/lib/x86_64-linux-gnu
[ I didn't know if this was also part of the commands you suggested for me. I just typed it on the terminal anyway.
$ pgk-config hwloc --static --libs No command 'pgk-config' found, did you mean: Command 'pkg-config' from package 'pkg-config' (main) Command 'pkg-config' from package 'pkgconf' (universe) pgk-config: command not found $ pgk-config hwloc --static --libs -lhwloc -lxml2 -lz -lm -lpci No command 'pgk-config' found, did you mean: Command 'pkg-config' from package 'pkgconf' (universe) Command 'pkg-config' from package 'pkg-config' (main) pgk-config: command not found]
$ ls $HWLOC_DIR/libhwloc.* /usr/lib/x86_64-linux-gnu/libhwloc.a /usr/lib/x86_64-linux-gnu/libhwloc.so /usr/lib/x86_64-linux-gnu/libhwloc.so.0 /usr/lib/x86_64-linux-gnu/libhwloc.so.1 /usr/lib/x86_64-linux-gnu/libhwloc.so.2 /usr/lib/x86_64-linux-gnu/libhwloc.so.3 /usr/lib/x86_64-linux-gnu/libhwloc.so.4 /usr/lib/x86_64-linux-gnu/libhwloc.so.5 /usr/lib/x86_64-linux-gnu/libhwloc.so.5.4.0
$ ldd $HWLOC_DIR/libhwloc.so | grep numa libnuma.so.1 => /usr/lib/x86_64-linux-gnu/libnuma.so.1 (0x00007f84d1bf7000)
$ nm $HWLOC_DIR/libhwloc.a | grep -i numa $ nm -D $HWLOC_DIR/libhwloc.so | grep -i numa $ ls /usr/lib/libnuma.* ls: cannot access /usr/lib/libnuma.*: No such file or directory
$ dpkg -l '*libhwloc*' Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-==============-============-============-================================= un libhwloc-contr <none> <none> (no description available) ii libhwloc-dev:a 1.8-1ubuntu1 amd64 Hierarchical view of the machine un libhwloc-plugi <none> <none> (no description available) un libhwloc0 <none> <none> (no description available) un libhwloc1 <none> <none> (no description available) un libhwloc2 <none> <none> (no description available) un libhwloc3 <none> <none> (no description available) un libhwloc4 <none> <none> (no description available) ii libhwloc5:amd6 1.8-1ubuntu1 amd64 Hierarchical view of the machine
$ dpkg -l '*libnuma*' Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-==============-============-============-================================= ii libnuma1:amd64 2.0.9~rc5-1u amd64 Libraries for controlling NUMA po
Regards,
Dumsani
On 26/06/2014 17:01, Frank Loeffler wrote:
Hi
First of all - try disabling the hwloc thorn. You don't necessarily need it. It might not be the best solution, but the fastest for now.
On Thu, Jun 26, 2014 at 12:22:50PM +0200, Ian Hinder wrote:
# Add libnuma manually, if necessary if grep -q '[-]lnuma' ${HWLOC_LIB_DIR}/libhwloc.la 2>/dev/null; then
This only greps ${HWLOC_LIB_DIR}/libhwloc.la which might not be present. I am not sure about your distribution, but Debian doesn't ship with this file at all, which should make the above test always fail. While this doesn't seem right, it shouldn't cause the problem you describe.
What I could imagine is that this test triggers for you, and you do have libnuma installed, but not libnuma-dev. This would mean libhwloc seems to (?) need linkage against libnuma, that is also installed, but the relevant development files are not. In that case, either the test is wrong (no explicit linkage to libnuma would in fact be required), or you need to install the development files for libnuma (likely the libnuma-dev package).
It would be good to know a couple of things about your installation, in particular the following (with results shown for my Debian workstation):
HWLOC_DIR=/usr/lib/x86_64-linux-gnu
$ pkg-config hwloc --static --libs -lhwloc -lxml2 -lz -lm -lpci
(Note that numa is missing here, but the shared library in fact requires it. This works because libnuma is installed in a standard location. Adding -lnuma to the link line would probably make linking fail, since I don't have libnuma.so installed - while of couse libnuma.so.1 is.)
ls $HWLOC_DIR/libhwloc.* /usr/lib/x86_64-linux-gnu/libhwloc.a /usr/lib/x86_64-linux-gnu/libhwloc.so.3 /usr/lib/x86_64-linux-gnu/libhwloc.so /usr/lib/x86_64-linux-gnu/libhwloc.so.4 /usr/lib/x86_64-linux-gnu/libhwloc.so.0 /usr/lib/x86_64-linux-gnu/libhwloc.so.5 /usr/lib/x86_64-linux-gnu/libhwloc.so.1 /usr/lib/x86_64-linux-gnu/libhwloc.so.5.0.1 /usr/lib/x86_64-linux-gnu/libhwloc.so.2
$ ldd $HWLOC_DIR/libhwloc.so | grep numa libnuma.so.1 => /usr/lib/libnuma.so.1 (0x00007fd82c17d000)
$ nm $HWLOC_DIR/libhwloc.a | grep -i numa
$ nm -D $HWLOC_DIR/libhwloc.so | grep -i numa
$ ls /usr/lib/libnuma.* /usr/lib/libnuma.so.1
$ dpkg -l '*libhwloc*' Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-===================-==============-==============-=========================================== ii libhwloc-dev 1.4.1-4 amd64 Hierarchical view of the machine - static l un libhwloc0 <none> (no description available) un libhwloc1 <none> (no description available) un libhwloc2 <none> (no description available) un libhwloc3 <none> (no description available) un libhwloc4 <none> (no description available) ii libhwloc5:amd64 1.4.1-4 amd64 Hierarchical view of the machine - shared l
$ dpkg -l '*libnuma*' Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-===================-==============-==============-=========================================== ii libnuma1 2.0.8~rc4-1 amd64 Libraries for controlling NUMA policy
Frank