bsc-performance-tools / extrae

Instrumentation framework to generate execution traces of the most used parallel runtimes.
https://tools.bsc.es/extrae
GNU Lesser General Public License v2.1
62 stars 38 forks source link

Configure does not detect libbfd #25

Closed metbosch closed 5 years ago

metbosch commented 5 years ago

I'm natively building on an arm64 machine with libbfd installed (see below find) and extrae configure is not able to find the library. It is not found either with the --with-binutils option not without it.

Output of find command:

user@Node-arm64:~/$ find /usr/ -name libbfd\*.so
/usr/lib/aarch64-linux-gnu/libbfd-2.26-system.so
/usr/lib/aarch64-linux-gnu/libbfd.so

Output of configure:

user@Node-arm64:~/gitrepos/extrae/build-arm64$ ../configure --without-mpi --without-unwind --enable-posix-clock --without-dyninst --enable-openmp-ompt --without-papi --enable-arm64 --with-binutils=/usr
...
checking for binutils... notfound
configure: Warning! Cannot find the libbfd library in the given binutils home. Please, make sure that the binutils packages is correctly installed. If you have installed the binutils package by hand from their source code, make sure to add --enable-shared in its configure execution.
configure: libiberty library directory: /usr/lib/aarch64-linux-gnu
configure: error: Error! Cannot find binutils home in the given path! Check for the previous warning messages. Check for the given path or whether the binutils development packages -binutils-dev or binutils-devel- are installed.

user@Node-arm64:~/gitrepos/extrae/build-arm64$ ../configure --without-mpi --without-unwind --enable-posix-clock --without-dyninst --enable-openmp-ompt --without-papi --enable-arm64
...
checking for binutils... notfound
configure: Warning! Cannot find the libbfd library in the given binutils home. Please, make sure that the binutils packages is correctly installed. If you have installed the binutils package by hand from their source code, make sure to add --enable-shared in its configure execution.
configure: libiberty library directory: /usr/lib/aarch64-linux-gnu
checking bfd.h usability... yes
checking bfd.h presence... yes
checking for bfd.h... yes
checking whether libbfd and libiberty work... no, see config.log for further details
configure: error: You can gather call-site information which must be translated using binutils, but either libbfd or libiberty are not found. Please make sure that the binutils-dev package is installed and specify where to find these libraries through --with-binutils. The latest source can be downloaded from http://www.gnu.org/software/binutils

The problem is in config/macros.m4 where the find command is limited to 1 depth level. This restriction is valid if we are cross-compiling and multiarch_triplet is set.

emercadal commented 5 years ago

PR #26