Hardcoded path to `addr2line` or `eu-addr2line` in `BLBackTrace`
mirenradia opened this issue · 0 comments
mirenradia commented
The paths to addr2line
and eu-addr2line
are hardcoded to
/usr/bin/addr2line
and
/usr/bin/eu-addr2line
respectively in AMReX_BLBackTrace.cpp. These might not be the ones we want to use if we are not using the system binutils (or elfutils) (e.g., we have built a newer binutils using Spack). This has caused issues for me and @draenog where the newer binutils we are using compresses the debug info in a way that the older addr2line
from the system binutils is not able to cope with and we get the following errors
/usr/bin/addr2line: /path/to/my_amrex_application.ex: unable to initialize decompress status for section .debug_info
/usr/bin/addr2line: /path/to/my_amrex_application.ex: File format not recognized
This code should instead check what addr2line
or eu-addr2line
is available in the PATH
first and can then resort to the above hardcoded paths if the command is not found.