I have an application that is supposed to run on various platforms i.e. ARM, i386, amd64 etc. I want to check any possible memory leaks, I have address sanitizer enabled in GCC as -fsanitize=address We are using buildroot to compile the whole OS+Application. To ensure that each developer has same versions of library installed, we pack all the required dynamic libraries in ProjectX/lib path and set this as LD_LIBRARY_PATH. All works fine if address sanitizer is switched off. On compiling with address-sanitizer and running the app gives
/lib/i386-linux-gnu/libm.so.6: version `GLIBC_2.23' not found (required by BUILD/host_shared_0_1/host/usr/i686-buildroot-linux-gnu/lib/libasan.so.1)
`GLIBC_2.23' is already there but packed under $ProjectX/lib However, libasan looks for it under /lib/i386-linux-gnu/ and on finding an incompatible version, throws the error.
QS: How can I instruct libasan to look for the required libraries in the path specified by LD_LIBRARY_PATH only.
Aucun commentaire:
Enregistrer un commentaire