I'm on an Ubuntu 22.04 system and I'm working with C language and libraries.
I know ( from different books, included "The Linux Programming Interface" by Kerrisk ) that this algorithm is used when looking for runtime shared libraries locations ( I just omitted the preloaded libraries for the sake of simplicity ) :
When RUNPATH field is specified (i.e. DT_RUNPATH is non-empty)
1 ) LD_LIBRARY_PATH
2 ) runpath (DT_RUNPATH field)
3 ) ld.so.cache
4 ) default library paths (/lib and /usr/lib)
In the absence of RUNPATH (i.e. DT_RUNPATH is empty string)
1 ) RPATH
2 ) LD_LIBRARY_PATH
3 ) ld.so.cache
4 ) default library paths (/lib and /usr/lib)
The problem is that most books say that generally speaking the default library paths are /lib and /usr/lib but they don't mention HOW I CAN GET THE EXACT DEFAULT LIBRARY PATHS FOR MY SYSTEM. What command can I use on my Ubuntu 22.04 system ?
What about the default headers include paths ? What command can I use the get them ?
And finally what is the specific algorithm used in my ubuntu system when dealing with "headers.h" vs <headers.h> ?
Bookmarks