Why do some files of working packages return “not found” for some libraries of ldd’s output?

I’m finding a bunch of stuff where working packages contain files where ldd returns “not found” for some libraries. For example… /usr/lib64/thunderbird/libprldap60.so libldap60.so => not found /usr/lib64/libreoffice/program/libofficebean.so libjawt.so => not found We have hundreds of users using Thunderbird and Libre Office, and no one has reported any problems. And these files exist on the system: … Read more

What are the alternatives to GNU ld?

I was curious if it’s possible to build Linux kernel without GNU toolchain (gcc+autotools). I found out that it is possible: after applying patches from llvm.linuxfoundation.org, it was possible to build Linux kernel with clang. GNU linker was used. The alternative to ld is gold which is also part of GNU binutils. Popular musl+clang toolchain … Read more

Is there a way to check whether a .so has been compiled with -Bsymbolic-functions flag?

My application loads custom code using dlopen on the fly. For common symbols, the global symbol table is used by default. However, I want to provide the functionality where – if the user has linked their so with -Bsymbolic-functions, I pass the RTLD_DEEPBIND flag to the dlopen function. Is there a way I can programmatically … Read more

Difference between ‘ld’ and ‘ld.so’?

While both are called “linker” and are used to link binaries, I can’t really figure out how they differ from each other. Can anyone tell me their differences? Answer Without getting too technical: Both are “linkers”, i.e. a tool that combines/loads a piece of compiled code with/into another piece of compiled code. ld is a … Read more

ldd does not find path, How to add

I know this question isn’t very new but it seems as if I didn’t be able to fix my problem on myself. ldd generate the following output u123@PC-Ubuntu:~$ ldd /home/u123/Programme/TestPr/Debug/TestPr linux-vdso.so.1 => (0x00007ffcb6d99000) libcsfml-window.so.2.2 => not found libcsfml-graphics.so.2.2 => not found libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fcebb2ed000) /lib64/ld-linux-x86-64.so.2 (0x0000560c48984000) Which is the correct way to tell ld … Read more

Changing linked library for a given executable (CentOs 6)

I have an executable linked like this: $ ldd a.out libboost_system-mt.so.1.47.0 => /usr/lib64/libboost_system-mt.so.1.47.0 (0x00007f4881f56000) libssl.so.10 => /usr/lib64/libssl.so.10 (0x00007f4881cfb000) libcrypto.so.10 => /usr/lib64/libcrypto.so.10 (0x00007f4881965000) librt.so.1 => /lib64/librt.so.1 (0x00007f488175d000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f4881540000) libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f4881239000) . . Where the libcrypto and libssl libraries are openssl 1.0.0-fips libs. I want to experiment with the 1.0.1 libraries instead, … Read more

What are stripped and not-stripped executables in Unix?

From man file, EXAMPLES $ file file.c file /dev/{wd0a,hda} file.c: C program text file: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped /dev/wd0a: block special (0/0) /dev/hda: block special (3/0) $ file -s /dev/wd0{b,d} /dev/wd0b: data /dev/wd0d: x86 boot sector $ file -s /dev/hda{,1,2,3,4,5,6,7,8,9,10} /dev/hda: x86 boot sector … Read more

Getting “Not found” message when running a 32-bit binary on a 64-bit system

I have currently a strange problem on debian (wheezy/amd64). I have created a chroot to install a server (i can’t give any more detail about it, sorry). Let’s call its path /chr_path/. To make things easy, I have initialized this chroot with a debootstrap (also wheezy/amd64). All seemed to work well inside the chroot but … Read more