Questions tagged [linker]

The tag has no usage guidance.

Filter by
Sorted by
Tagged with
0 votes
0 answers
26 views

How do I find out which shared object resolved the symbol used in an ELF?

I'm wondering if there's a systematic method I can use to determine which shared object is resolving a specific symbol without running the binary. Assuming I look at curl, listing all of the shared ...
  • 813
0 votes
1 answer
191 views

Linker cannot find libpthread

I am trying to build 32bit versions of two programs, and both shows the same error message /usr/bin/ld: cannot find /media/34GB/Arquivos-de-Programas-Linux/Glibc-2.17-32bit/lib/libpthread.so.0 I ...
4 votes
1 answer
729 views

Existing .so file cannot be loaded even though it exists, seems to depend on Docker host OS

I have built Qt6 in an Alma8 based Docker container, with the Docker host being Fedora 35. Under some circumstances (described below), all Qt libs cannot load libQt6Core.so[.6[.2.4]]. But that file ...
0 votes
1 answer
234 views

How to get meson to use a library in a different lib directory?

I have two versions of a library, zita-convolver3 and zita-convolver4. The system library is zita-convolver3, but i want to link against zita-convolver4, which is stored in a local user directory. How ...
0 votes
1 answer
1k views

How does RAM get divided into Kernel Space and User Space

I understand that with Linux, RAM gets divided into kernel space and user space. Kernel space is reserved for running the kernel, and user space applications should not have direct access to the ...
  • 1,071
0 votes
1 answer
433 views

Linker unable to find header and library files

I've installed the CHERI simulator from this link. It allows me to use the clang compiler for both risc-v and a capability extended risc-v architecture. I've defined the following aliases alias clang-...
0 votes
0 answers
664 views

Usage of objcopy / elfedit to patchelf symbol (versions) in elf file

The context is as follows: on my o.s. there is (already) liba.so.v2 of "liba" which contains the string 'symbol_version-2' as the symbol version for its functions , e.g. functionX@version-2 ...
  • 1
0 votes
1 answer
222 views

Weird linking issue with libldap using cmake

I am trying to build SimGear from the FlightGear project using the download_an_compile.sh script (which uses CMake to build the binaries). The build went fine so far, but when the script tried linking ...
  • 101
0 votes
1 answer
132 views

FreeBSD - problem with linking protobuf

I have a small application that was tested on Linux and it worked. Now I would like to build the same code on FreeBSD. To build it on FreeBSD I needed to change a little my Makefile. Here is my ...
0 votes
0 answers
199 views

Project links during compile but ldd shows library not found. why?

When i run through the compile process of a project, quite often i need to use a custom library compiled and stored somewhere that is not in the path. At the start of the compile, I can specify the ...
0 votes
1 answer
686 views

Can't compile any c/ c++ program, linker problem

It's my second post here, i have a huge problem which prevents me to study so i have to fix it as soon as it's possible ! My gcc was working fine and i had to work on FairThreads (in C). I downloaded ...
2 votes
1 answer
659 views

LD_PRELOAD and the dynamic linker

So I have been reading about the preload feature of the dynamic liner (dl) and how it can be used to load a user specified, shared library (.so) using the LD_PRELOAD env variable, before all other ...
  • 346
-5 votes
1 answer
210 views

Does the existence of linker and loader not depend on operating systems such as Linux?

Does the existence of linker (for performing linking following compilation) and loader (for executing an executable file) not depend on operating systems such as Linux? (I had though of linker and ...
  • 95.9k
0 votes
1 answer
881 views

Does _start call my program's main function and other essential setup functions? [closed]

I'm reading a textbook which describes how loader works: When the loader runs, it copies chunks of the executable object file into the code and data segments. Next, the loader jumps to the program’s ...
  • 157
1 vote
1 answer
2k views

Why the dynamic linker couldn't resolve reference when a shared library has a dependency on other share library?

Code: //a.c I don't use header files as this is just for demo purpose. extern void function_b(int num); void function_a(int num) { function_b(num) } //b.c void function_b(int num) { ... } //...
  • 239
0 votes
1 answer
487 views

why static libraries use relocatable object files while share libraries use source file?

I was reading a textbook which describes static libraries anad shared libraries. There are two source files, addvec.c and multvec.c, to create a static library of them, we would use the ar tool as ...
  • 157
1 vote
1 answer
274 views

What Centos package contains the libraries for -lSM -lICE linker options?

Apologies if this has already been answered; I am having trouble finding an existing post (either on SE or linux forums) which solves the issue. I need to install the package(s) that enables the -lSM ...
  • 13
0 votes
1 answer
239 views

Can't run sudo after deleting libpcre2

I manually compiled libpcre2 with debug symbols into /usr/local/lib and then deleted the version installed in /lib64. While I can still run commands as my user by first running export LD_LIBRARY_PATH=/...
0 votes
1 answer
185 views

How to make path to current directory visible in bash, in order to be seen by linker?

I am trying to load shared library, but I dont have its .so file in directory loader look for, So I want to set a environment dir. $ ls # (current dir is bindir) foo.c foo.h libfoo.so exe $ ...
  • 300
2 votes
1 answer
1k views

What mandates the _start entrypoint (kernel, ld-linux.so, etc.)?

I know that ELF executable files need to have a visible _start subroutine where the execution begins. However, from what I can understand, the Kernel actually calls in ld-linux.so (or some other ...
1 vote
1 answer
1k views

ld ignores ld.so.conf

This is my /etc/ld.so.conf /usr/local/lib64 /usr/local/lib include /etc/ld.so.conf.d/*.conf The directory /etc/ld.so.conf.d/ contains mysql-x86_64.conf which contains only this one line: /usr/lib64/...
1 vote
1 answer
1k views

ld cannot find library right in front of it

I'm trying to build a rust program that involves diesel with postgresql on Fedora 31 and the build fails because the linker can't find libpq. As it's reproducible with gcc, I'm using gcc to keep the ...
  • 1,522
0 votes
0 answers
45 views

Use of a user defined section name [ __attribute__((section("name")) ]

I do have some doubts about __attribute__((section("name")) .What is the real use of defining a user defined .section? Is there any examples to shows how it is useful?
  • 169
1 vote
0 answers
793 views

Recover static library from executable

I have an existing executable for which a small amount of source code has been lost. In particular, the executable uses a few functions from a static library, and the source code for that library is ...
  • 135
1 vote
1 answer
263 views

ldconfig creating links with strange names after patching libraries with patchelf?

I am patching several libraries on my development server to remove unneeded dependencies using the patchelf tool. These get packaged into an RPM and installed on my runtime system. After the install, ...
  • 111
31 votes
4 answers
12k views

What is the gold linker?

Has anyone used the gold linker before? To link a fairly large project, I had to use this as opposed to the GNU ld, which threw up a few errors and failed to link. How is the gold linker able to link ...
4 votes
1 answer
439 views

Is the dynamic linker automatically invoked by the operating system or by code embedded in the ELF file?

I'm not sure, whether the dynamic linker /usr/bin/ld is automatically invoked by the operating system, when the ELF file is loaded, or whether it's invoked by code embedded in the ELF file? When I ...
  • 3,789
3 votes
1 answer
259 views

Annotating any files

I have had this problem for a very long time, had several discussions with friends, and tried searching relating info online. All efforts were in vain so I decide to give a shot here. I have lots of ...
  • 423
0 votes
0 answers
240 views

GNU Linker Colorization

Compiling code with GCC or Clang can result in some colorful error outputs. Linking code, however, doesn't enjoy the same luxury. It seems like the GNU Linker doesn't support colorized error output ...
  • 9
4 votes
3 answers
2k views

Embedding binary data into an executable using LLVM tools

In the past I have embedded resource files (images) into programs by first converting them to .o files using the GNU linker. For example: ld -r -b binary -o file.o file.svg Starting with FreeBSD 12, ...
4 votes
1 answer
841 views

Placed library in /usr/lib, but ldconfig doesn't put it in cache

I'm starting a project that requires an external shared library third-party.so. I've placed it in /usr/lib. However, when I run sudo ldconfig -v, it's not listed. ldconfig -p | grep third-party.so ...
  • 141
-5 votes
2 answers
249 views

BUG in clang linker - name resolving issue

I found bug in clang, and i post it here because it's very difficult to find how to do it in clang system. I think this information in useful - i saw similar questions in web. So, clang makes wrong ...
2 votes
1 answer
1k views

what are the executable ELF files respectively for static linker, dynamic linker, loader and dynamic loader?

In Linux, what are the executable ELF files respectively for static linker dynamic linker loader dynamic loader? Which of them are invoked by execve() by dlopen()? How are they invoked by execve(...
  • 95.9k
2 votes
1 answer
6k views

GNU Linker differences between the different 32bit emulation modes?

What is the difference between the 386 and 32 bit options in ld -V? elf32_x86_64 elf_i386 i386linux i386pep i386pe And, where can I find the documentation on these "emulation modes"
1 vote
1 answer
1k views

Manually linking shared object files

I've been diving into dependency hell on an embedded Yocto Linux project recently in an attempt to compile and install a large project. I frequently run into an error while installing the dependencies ...
  • 321
0 votes
2 answers
4k views

Creating a link to a shared library

I have a library ( ZendDebugger.so ) which in turn requires the openssl library but it doesn't find a reference to it. Indeed when ZendDebugger.so loads, it prints this error on the error log ( which ...
1 vote
1 answer
2k views

Difference between the linker flags

I'm adding c++ runtime and exception support to the Linux kernel. For that, I need to provide my own lib/gcc and lib/libstdc++instead of the standard libraries provided by the compiler. So, I am ...
  • 123
4 votes
1 answer
2k views

Is ld.so an executable?

$ file /lib/ld-linux.so.2 /lib/ld-linux.so.2: symbolic link to i386-linux-gnu/ld-2.27.so $ readlink -f /lib/ld-linux.so.2 /lib/i386-linux-gnu/ld-2.27.so $ file /lib/i386-linux-gnu/ld-2.27.so /lib/i386-...
  • 95.9k
5 votes
1 answer
1k views

De-prioritize ld.conf.so.d library path resolution

From a separate question, and other articles on the subject, it appears that additional library paths defined by ld.so.conf.d will always be resolved (i.e. in the case of a name clash, such as when ...
  • 272
0 votes
2 answers
5k views

Compile Git to use OpenSSL library libssl.so.1.0.1

Running a system that only has full support for OpenSSL version 0.9.8. Installed in parallel is OpenSSL 1.0.1 libraries (Supported by Distro) Git still preferentially uses the 0.9.8 libraries but we ...
  • 65
2 votes
1 answer
408 views

What is the difference between the runtime linker (ld.so) and the prelink program?

What is the difference between the runtime linker (ld.so) and the prelink program? I know the runtime linker (ld.so) loads all the dynamic libraries needed for a program but what is the benefit of ...
5 votes
1 answer
6k views

Symbol table in the .data section of ELF

I'm trying to understand how does symbol tables relate to the .data section in ELF. First some assumptions that I'm using as ground to start with. A symbol is a human readable (or "as written in ...
5 votes
1 answer
2k views

undefined reference, even when the linked library does exist

I'm trying to compile VTK from source and I received the following error. I'm running Fedora 27, kernel version 4.14.11-300.fc27.x86_64 /usr/lib64/libSM.so: undefined reference to `uuid_generate@...
0 votes
1 answer
171 views

Determine when the platform offers LD_LIBRARY_PATH?

I want to detect when the platform offers LD_LIBRARY_PATH to load libraries from an arbitrary location. The application is a lightweight shell script, so I am looking for a method that does not ...
user avatar
14 votes
1 answer
3k views

Linker script in .so file? (libc.so) Is that right?

I am currently trying to get python to run on my NAS which is a Zyxel NSA325. I did manage to get python 2.7 and pip running and I was able to successfully install the watchdog module with pip. I ...
  • 747
0 votes
2 answers
609 views

How to link libraries without root permissions

I am trying to compile OpenMPI without root permissions on my local account in a cluster, but I have the following error. /usr/bin/ld: cannot find -libcm /usr/bin/ld: cannot find -lnuma /usr/bin/ld: ...
  • 175
2 votes
0 answers
1k views

libtool: error: relink 'libpocketsphinx.la' with the above command before installing it

When I trying to install pocketsphinx by make install command(after ./autogen.sh , ./configure, make commands) , I get this error message: libtool: error: relink 'libpocketsphinx.la' with the above ...
  • 195
2 votes
2 answers
3k views

Extracting the size and origin of all symbols in an ELF

I am trying to estimate the code size of a binary's various components. I have access to the source code and resulting build directory containing all built object files. Of course, I want to include ...
  • 2,441
2 votes
2 answers
2k views

What do compile and link line refer to?

While installing the cudnn library, I came across this in the INSTALL.txt file: Add [installpath] to your build and link process by adding -I[installpath] to your compile line and -L[...
2 votes
1 answer
947 views

GNU linker producing useless spacing between sections in ELF file

My intent is to place the text section at a specific location in memory (0x00100000). SECTIONS { . = 0x00100000; .text : { *(.text*) } } Although the linker does do ...
  • 2,441