In computing, a dynamic linking is the process of an operating system (OS) that loads (copies from persistent storage to RAM) and links (fills jump tables and relocates pointers) the shared libraries needed by an executable at run time, that is, when it is executed.

learn more… | top users | synonyms (1)

1
vote
2answers
34 views

Specifying local libc does call global libc?

If I run the command foo specifying a a different libc to use as follows: LD_LIBRARY_PATH=$PATH_TO_MY_CUSTOM_LIBC foo Is the globally defined libc used to run any of the command given above? For ...
4
votes
1answer
108 views

LD_LIBRARY_PATH environment variable

I am trying to test the LD_LIBRARY_PATH environment variable. I have a program test.c as follows: int main() { func("hello world"); } I have two files func1.c and func2.c: // func1.c #include ...
13
votes
4answers
1k views

What system call is used to load libraries in Linux?

In strace outputs, the paths to the libraries that executables call are in calls to open(). Is this the system call used by executables that are dynamically linked? What about dlopen()? open() isn't a ...
2
votes
1answer
52 views

ldd shows library exists and is linked, program doesn't find it

Console Output: bitnami@linux:~$ sudo svnmucc propset svn:needs-lock 1 file:///opt/bitnami/repositories/Standard/Ipc/trunk -m "test set" svnmucc: error while loading shared libraries: ...
2
votes
1answer
1k views

ntp cannot open shared object file: Permission denied

On a server I haven't worked on, ntpd is broken: # /etc/init.d/ntpd start ntpd: error while loading shared libraries: libz.so.1: cannot open shared object file: Permission denied but permissions ...
2
votes
1answer
28 views

library file is found by ldconfig but not by ldd

I have build OpenGL acceleration libraries (libGL and libGLU) which I keep in a specific directory, /usr/lib/mali. I also have a software implementation of OpenGL which is installed in ...
1
vote
0answers
19 views

Linking shared library in linux kernel [migrated]

I would like to modify the linux kernel. I would like to use functions from a shared library (an .so file) in file kernel/panic.c. Unfortunately I don't know how to compile it. When I put it in ...
12
votes
8answers
36k views

Problem to launch java at Debian: “error while loading shared libraries: libjli.so”

I'm trying to launch java: $ java -version java: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory $ ldd ...
0
votes
1answer
24 views

Shared libraries for GCC installed via yum on Fedora 20

Unintentionally I erased my system gcc with a manually built one. To get things back, I did yum reinstall gcc and gcc --version attested that the initial version was back: $ which gcc /usr/bin/gcc $ ...
4
votes
2answers
2k views

How to find out the dynamic libraries executables loads when run

I want to find out the list of dynamic libraries a binary loads when run (With their full paths). I am using CentOS 6.0. How to do this?
2
votes
0answers
56 views

Debian: How to resolve relocation error?

I am running Debian 7.1. I tried to apt-get install -f, and messed up. All command line returns ln: relocation error: /lib/arm-linux-gnueabihf/libc.so.6: symbol _dl_find_dso_for_object, version ...
1
vote
1answer
257 views

Load shared objects relative to executable path

I'm trying to get a C application to load shared objects from a relative directory regardless of where I call it from. So far it only works if I'm in the same directory as the executable when I call ...
4
votes
2answers
254 views

Why can't I install multiple versions of a shared library?

There are often instances where a certain program will depend on library version x.y and another on x.z but, as far as I'm aware, no package manager will allow me to install both x.y and x.z. ...
1
vote
0answers
491 views

libmysqlclient.so.18: cannot open shared object file: no such file or directory [closed]

I am using Slackware 14.1 x64 and when I want to run a program that is using mysql.h over C I read the following error: bash-4.2$ /home/normal/Proyectos/a.out /home/normal/Proyectos/a.out: error ...
1
vote
2answers
6k views

libcurl.so.4 undefined reference error

Even after installation of curl and all concerned libcurl packages such as curl libcurl3 libcurl3-gnutls libcurl4-doc libcurl4-nss-dev libcurl-ocaml libcurl3-dbg libcurl3-nss libcurl4-gnutls-dev ...
0
votes
1answer
356 views

“symbol lookup error: /usr/lib/x86_64-linux-gnu/libxfconf-0.so.2: undefined symbol: g_type_class_adjust_private_offset” after upgrading to Jessie

Just upgraded my dev system from Debian Wheezy to Debian Jessie, by the straight-forward method of changing sources.list and apt-get upgrade/dist-upgrade. Now I'm seeing failures when I try to log in ...
3
votes
1answer
79 views

Memory layout of dynamic loaded/linked library

when loading a shared library in Linux system, what is the memory layout of the shared library? For instance, the original memory layout is the following: +-----------+ |heap(ori) | +-----------+ ...
0
votes
2answers
83 views

set library path for current script [closed]

How can I set the library path for the current script that's running? I mean I don't want to list a new path for the libraries in a textfile. I tried it using export LD_LIBRARY_PATH=$(pwd)/lib/ This ...
0
votes
0answers
469 views

libssl undefined reference to symbol 'SSL_load_error_strings@@OPENSSL_1.0.0'

With the following CMakeLists.txt (I tried to snip it AMAP) https://gist.github.com/pbertoni/29200833dc562ab6ee2c I got this error from make at linking time: /usr/bin/ld: ...
3
votes
1answer
466 views

How to use libraries installed by nix at run-time?

I'm using nix in "single-user mode" in a system where I'm not the root (see below for a description of my nix setup). I wanted to quickly run one of my binaries which is dynamically linked with a ...
2
votes
0answers
206 views

finding undefined symbol

I am trying to run a program whose source I downloaded and compiled. When I try to run the program I keep getting the message: unable to load undefined symbol _z15InvalidateImageSs I am trying to ...
5
votes
2answers
1k views

Cannot execute binary in NixOS - No such file or directory

I tried to install the current oracle jre on a VM running NixOS. Now the following happens: [michas@cc:~]$ tar xvzf jre-7u40-linux-x64.tar.gz |grep bin/java jre1.7.0_40/bin/javaws ...
1
vote
1answer
74 views

How to make my ELF run with both new and old version of glibc?

When I'm compiling my elf, it is "best practice" to make it link against the oldest version of glibc I can, so it will work both on new and old versions of glibc. i.e. if I use realpath, which in ...
5
votes
1answer
1k views

Using alternate libc with ld-linux.so hacks; cleaner method?

I have a legacy system with a very old glibc, which we can't upgrade without incurring a mountain of testing/validation work. I have needed to run newer programs (such as Java 1.7) on that system ...
1
vote
3answers
3k views

error while loading shared libraries: libc.so.6: cannot open shared object file

I have a Linux kernel and I chroot it on /var/chroot: I added bash dependencies like so: ldd /bin/bash linux-vdso.so.1 => (0x00007fff9a373000) libtinfo.so.5 => ...
0
votes
0answers
26 views

Accessing xfig from x11 fails

I am trying to get access to xfig from x11 on my mac to draw some diagrams and including them in latex, but it shows the following error bash-3.2$ xfig dyld: Library not loaded: ...
0
votes
1answer
42 views

Where is <libraryname>.pc?

When installing a library with configure, make and make install, does make install copy <libraryname>.pc to some place? If yes: Where is it? If no: Should we copy it somewhere rather than ...
1
vote
1answer
61 views

How do I get linux-gate.dso on a newer linux system?

I would like to find out which method my 32bit QEMU guest is using for system calls. There's an excellent article explaining linux-gate.dso (http://www.trilithium.com/johan/2005/08/linux-gate/). ...
1
vote
1answer
78 views

Types of dynamic linking in Unix/Linux environments

When creating a windows static library, we simply create a .lib file which should be included in the linker path. When creating a windows shared library, along with the .dll, we also a generate a ...
1
vote
2answers
2k views

libGLEW.so.1.11: cannot open shared object file

I am trying to compile an opengl program which results in: error while loading shared libraries: libGLEW.so.1.11: cannot open shared object file: No such file or directory compile: g++ -o ...
0
votes
1answer
111 views

file command to show “for GNU/LINUX 2.x.x” also for shared libraries

Using the command file my_executable_binary I get information like this: ELF 32-bit LSB executable, ARM, version 1 (SYSV), for GNU/Linux 2.6.34, dynamically linked (uses shared libs), stripped ...
1
vote
2answers
897 views

ld.so.preload doesn't differ x86_32 and x86_64

— It's known you can run x86_32 programms with x86_64 kernel if it was compiled with support for that. But dynamic linker doesn't provide any way to define a separate set of preload libraries for ...
2
votes
1answer
1k views

Installing flash player for Firefox

I would like to install Flash player for Firefox on Linux. I downloaded the .tar.gz, and there are some compiled shared libraries. I am not sure how to make them work, and I am looking for a hint. ...
2
votes
1answer
1k views

Why does chroot get ENOENT on an existing file?

;TL-DR - Answer: because the dynamic linker ld-linux-x86-64.so.2 was missing. I have mounted a squashfs (shouldn't matter) filesystem -ro,loop at /mnt/foo. It contains among other things the ...
44
votes
3answers
20k views

How do SO (shared object) numbers work?

I'm aware that shared objects under Linux use "so numbers", namely that different versions of a shared object are given different extensions, for example: example.so.1 example.so.2 I understand ...
1
vote
1answer
1k views

Testprintenv:error while loading shared libraries:libodbc.so.1: cannot open shared object file

I am trying to invoke a C-Program which returns the value for a given keyword from a configuration file While trying to invoke program it's displaying below error: **Testprintenv: error while ...
3
votes
2answers
2k views

Get ld to pick the correct library

I'm trying to compile a program prog and link it against OpenSSL's 1.0.2 beta, built from source and installed in /usr/local/ssl-1.0.2. On an older system using 0.9.8, this works without too much ...
3
votes
1answer
143 views

Does the Linux loader (ld.so) follow symlinks?

I have stumbled upon a problem by trying to move the ld.so.cache file to another location. I have tried to create a symlink for it in its previous location -- /etc/ -- but it seems that the loader ...
1
vote
2answers
785 views

How to create an environment for libraries and binaries?

I have a tool that cannot be run under my Desktop Linux. So I'd like to make a folder that contains all its requirements, and run it in the folder. Virtual machine or container is not a solution here ...
1
vote
1answer
531 views

ldconfig not following user-created symbolic link

I'm attempting to run Inkscape 0.48.4-15 (armv7) which is installed via pacman from Arch Linux ARM. $ inkscape inkscape: error while loading shared libraries: libMagick++-6.Q16HDRI.so.3: cannot open ...
5
votes
7answers
2k views

how to share environment variables between shells like globals related to a master pid?

So, I need to share environment variables between shells, and that the changes on the variables be promptly recognized by all shells, like global variables. But they must be related to a master pid, ...
2
votes
1answer
235 views

Mkfs error undefined symbol: ext2fs_numeric_progress_ops

I'm running a Oracle Linux 6.4 under Hyper-V. I have to add a disk. So I add it in Hyper-V, Linux sees it when I run fdisk -l and I can see it. So I did a fdisk /dev/sdb then I created an extended ...
7
votes
2answers
456 views

Identifying running programs that are using the old version of a library I just replaced

After installing updates to address CVE-2014-0160 (the OpenSSL Heartbleed bug), I had to take care to restart anything that might be using libssl -- many services, such as Apache and my VPN software, ...
7
votes
2answers
3k views

How to upgrade shared library without crash?

Here it says that you can rewrite an executable file and the process will run just fine - it will be re-read when a process restarts. However, when I try to replace a binary file while the process is ...
1
vote
1answer
1k views

How to use 32 bit compiled shared object (.so) file on 64 bit RHEL?

I have a shared object file libfault.so for my 32 bit compiled application on RHEL 6.4. I want to preload this file while starting my application. I have placed it in /usr/local/lib/ directory. But ...
4
votes
2answers
2k views

Can I use my own ld.so.cache?

ldconfig has two interesting options: -f conf Use conf instead of /etc/ld.so.conf. -C cache Use cache instead of /etc/ld.so.cache. I tried copying /etc/ld.so.conf to my own home ...
1
vote
2answers
541 views

ldd: cannot find library for xl c compiled binary but could for gcc compiled binary on AIX

I have compile on AIX two version of proftpd one with gcc and one with the xl c compiler from IBM. The command line to compile both version are almost the excat same, but when I do a ldd on the gcc ...
2
votes
1answer
981 views

Finding function parameters for functions in shared object libraries

I am currently fiddling around with some c libraries without documentation. I am wondering if it is at all possible to retrieve more metadata, such as parameters and return values, outside of what is ...
3
votes
2answers
3k views

Confusion about linking boost library while compilation

For a client I needed to add boost 1.54 to the system. So I downloaded the latest version (1.55) and built it within a special directory: /usr/local/lib/boost1.55/. This works. Then I had to adapt the ...
5
votes
2answers
7k views

Find where is a shared library symbol defined on a live system / list all symbols exported on a system

Basically, this is two questions into one - because if I can list all symbols exported within a system, along with their shared library path, then I could simply grep that output. For kernel ...