lundi 24 octobre 2016

How to change default dynamic library search path for libasan

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