Sponsored Content
Top Forums Programming AIX linker oddities...what is going on? Post 302491503 by DreamWarrior on Thursday 27th of January 2011 03:48:31 PM
Old 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

Linker (ld)

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

ftp oddities

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

dynamic linker error

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

G++ Linker Error

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

Hp-ux linker option -c

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

GCC: Choose my own linker

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

gcc linker address

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

runtime linker errors

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

Runtime Linker Problems ld.so.1

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
fixso(1)						      General Commands Manual							  fixso(1)

NAME
fixso - Fixes a shared object so that it can be quickstarted SYNOPSIS
fixso [+i | -i] [+w | -w] [+d | -d] [+n | -n] [-V] [-o outputobj] [-p path] inputobj OPTIONS
Turns informational message reporting on and off, respectively. By default (-i), informational messages are not reported. Turns warning message reporting on and off, respectively. By default (+w), warning messages are reported. Turns debugging message reporting on and off, respectively. By default (-d), debugging messages are not reported. Turns output generation on and off, respectively. By default (+n), fixso writes output to a.out or to the file specified by the -o option. If you specify -n, fixso just analyzes the inputobj and generates no output. Displays the version of the fixso command. Specifies the file to which fixso writes its output. By default, output is sent to a.out. Adds path to the beginning of the shared library search path. The default library search path, as explained in loader(5), is used. The fixso utility also honors any definition of the LD_LIBRARY_PATH environment variable. DESCRIPTION
The fixso utility allows executables that depend on a shared library registered in the so_locations database to continue to run quick- started even if the shared library changed after the time the executable was originally linked against it. The fixso utility accomplishes this by adjusting the object's checksum and timestamp, reconciling the object's conflict table (the list of symbols that are multiply defined among the entries in the object's library list), and resolving global symbols. You specify one executable or shared object in the inputobj parameter. The fixso utility opens the target object, scanning its library list for dependencies on symbols defined in other objects. When it discovers a dependency, it automatically opens the associated object and con- tinues processing it in the same manner, as long as it is located in the default library search path, the path indicated by the LD_LIBRARY_PATH environment variable, or specified by the -p option. Otherwise, it generates a message advising you to run fixso on that object first. The fixso utility examines each object's interface version, shared object name (soname), timestamp, and checksum. Although it can adjust timestamp and checksum discrepancies among the entries in the object's library list, fixso has the following limitations: The fixso utility does not change the size of the binary object; it will not expand the size of the conflict table if it encounters a new multiply-defined symbol while traversing the object's library list. An object's actual run-time memory location must match the quickstart location recorded in the so_locations file. The fixso utility cannot make an object quick-startable if the object has been moved from its quickstart loca- tion, or if another object has been moved into its quickstart location. The version of the run-time linker interface used by an object mapped in the inputobj's library list must be the same version used when inputobj was created by the linker. An object mapped in inputobj's library list must be located in the same library search path it was in when inputobj was created by the linker. The soname of an object mapped in inputobj's library list must be the same as when inputobj was created by the linker. By default, an object's soname is its filename (without a prepended pathname). ERRORS
The fixso utility generates the following types of messages: Error messages that indicate when the current use of the tool violates one of its limitations, as described previously. Error messages also help you determine the correct order in which to run fixso on a series of objects. You cannot turn off error messages. Warning messages that indicate conflicts, such as timestamp and checksum mismatches, that fixso attempts to fix automatically. The fixso utility generates warning messages by default. You can turn them off by specifying the -w option. Informational and debug messages that record the fixso utility's progress. These messages are turned off by default, but you can turn them on by using the +i and +d options, respectively. FILES
Shared library directory. Shared library directory. Shared library directory. Shared library directory. Shared library directory. Fix quickstarted shared objects utility. SEE ALSO
ld(1), loader(5) Programmer's Guide fixso(1)
All times are GMT -4. The time now is 01:16 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy