01-27-2011
Speaking of paths...it seems the linker places the path of the shared library in the executable itself. The documentation says to pass -bnoipath to, supposedly, prevent this. However, using -bnoipath (or -Wl,-bnoipath from cc) doesn't seem to work. The path is still present and shown by ldd. This isn't directly an issue because it does appear the runtime linker uses the LD_LIBRARY_PATH first before consulting the paths in the executable, but I'd prefer it not to have the option. This way, if a developer forgets to properly configure the LD_LIBRARY_PATH they don't pick up a version of the library by default, rather they get an error that the library isn't found.
As for the original problem...I still can't make heads or tails of it. We're just going to have to keep fighting the linker. Ugh...
9 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
hai
I have installed Linux 7.0 on my system and i have an doubt the
linker
i ran simple hello.c program with gcc compiler
gcc -c hello.c
i want linker to produce the output
so i put on the command line as
ld first.o -lc
but it is not running ver properly
but there is an... (1 Reply)
Discussion started by: rajashekaran
1 Replies
2. Solaris
I have recently set up a connection b/t a sun ultra 60 running solaris 8 and a regular old pc running XP. Unfortunately I only know a little bit about networking thanks to Winblows plug and play mentality. Can anyone tell me why my connection from PC to sun is intermittant? The IP is always... (2 Replies)
Discussion started by: Serious_Lee
2 Replies
3. HP-UX
Hi All
Could anyone help in giving a little background to the following runtime error.
/usr/lib/pa20_64/dld.sl: Mmap failed due to errno: 13.
Seen when executing a 64-bit ELF executable.
Thanks
Ed (3 Replies)
Discussion started by: C3000
3 Replies
4. Linux
Hi All,
I m new to this group.
I m facing one problem during my linking of CPP code at Linux env.
after compliation i m getting error
"undefined reference to ....."
Please anyone help me to resolve this error.
Regards,
ASR
make: Leaving directory /fwk'
echo g++ -o server ... (1 Reply)
Discussion started by: ASRRAJ
1 Replies
5. HP-UX
Hi,
The necessary symbols in a shared library can be exported to the application using linker option --version-script in Linux. The same can be done in Hp-ux using linker option +e. This can also be done by listing all the global symbols with +e in a file with linker option ld -c filename in... (0 Replies)
Discussion started by: roopa_v
0 Replies
6. Programming
Hi,
I do not use the default linker, and instead us another one and pass this argument -Wl,--dynamic-linker=<path to linker> to gcc when compiling. However, what happens if the linker is not under /lib and /lib64 and I am not able to create a symlink to the linker in /lib or /lib64 due to no... (2 Replies)
Discussion started by: Shompis
2 Replies
7. Programming
Hai,
I have two (Pgm1.c and Pgm2.c) simple programs, which is compiled using gcc. Now we have two exe's (Pgm1 and Pgm2). When i executed the nm Pgm1 and nm Pgm2, in the listed symbols the address of main is same for both programs (08048344 T main) at run time also.
Doubt:
1) What is this... (3 Replies)
Discussion started by: rajamohan
3 Replies
8. Solaris
Hey guys
I have a solaris 10 OS, with a zone configured. In that zone, I am trying to install an Oracle Client. However, when I run the oracle installer, I get the following error:
ld.so.1: java: fatal: libexpat.so.0: open failed: No such file or directory
ld.so.1: java: fatal:... (2 Replies)
Discussion started by: goodvikings
2 Replies
9. Solaris
Hello all,
I am releatively new to Solaris and I am the System administrator for my branch at the FAA. This is the first time I can say I have really messed something up thankfully. My issue came up after installing and uninstalling Oracle Secure Backup which i felt I needed to do a clean... (7 Replies)
Discussion started by: jbirkes
7 Replies
ldd_ia(1) General Commands Manual ldd_ia(1)
NAME
ldd_ia: ldd - list dynamic dependencies of executable files or shared libraries on Integrity systems
SYNOPSIS
filename...
Remarks
This manpage describes on Integrity systems. For on PA-RISC systems, see ldd_pa(1).
DESCRIPTION
is a command that can list the dynamic dependencies of incomplete executable files or shared libraries.
lists verbose information about dynamic dependencies and symbol references. If the object file is an executable file, lists all shared
libraries that would be loaded as a result of executing the file. If it is a shared library, lists all shared libraries that would be
loaded as a result of loading the library.
uses the same algorithm as the dynamic loader and to locate the shared libraries at runtime. See in dld.so(5) for more information.
Options
recognizes the following options:
Check reference to data symbols.
Check reference to data and code symbols.
Display the search path used to locate the shared libraries.
Display all dependency relationships.
EXTERNAL INFLUENCES
Environment Variables
uses the following environment variables to locate shared libraries.
These environment variables can be used to specify the directories to be searched for library files at runtime.
The value is a colon-separated list of paths of such directories. For more information, see in dld.so(5) or the option in
ld(1).
The following internationalization variables affect the execution of
Determines the locale category for native language, local customs and
coded character set in the absence of and other environment variables. If is not specified or is set to the empty string, a
default of (see lang(5)) is used instead of
Determines the values for all locale categories and has precedence over
and other environment variables.
Determines the locale that should be used to affect the format
and contents of diagnostic messages written to standard error.
Determines the locale category for numeric formatting.
Determines the locale category for character handling functions.
Determines the location of message catalogs for the processing
of
If any internationalization variable contains an invalid setting, behaves as if all internationalization variables are set to See envi-
ron(5).
DIAGNOSTICS
prints the record of shared library path names to stdout. The optional list of symbol resolution problems are printed to stderr.
returns zero when the operation is successful. A non-zero return code indicates that an error occurred.
EXAMPLES
By default prints a simple dynamic path information. This consists of the dependencies recorded in the executable (or the shared library)
followed by the physical location where these libraries are found.
The option causes to print dependency relationship along with the dynamic path information.
The option to causes it to analyze all symbol references and print information about unsatisfied code and data symbols.
WARNINGS
does not list shared libraries explicitly loaded using dlopen(3C) or shl_load(3X).
FILES
output file
32-bit Integrity system dynamic loader
64-bit Integrity system dynamic loader
32-bit dummy executable loaded to check the dependencies of shared libraries
64-bit dummy executable loaded to check the dependencies of shared libraries
message catalog
SEE ALSO
System Tools
ld(1) invoke the link editor
Miscellaneous
a.out(4) assembler, compiler, and linker output
dld.so(5) dynamic loader
Texts and Tutorials