Sponsored Content
Top Forums Programming default location of libs in dlopen Post 90107 by jim mcnamara on Friday 18th of November 2005 09:25:52 AM
Old 11-18-2005
The location of libraries is specified by the linker at the time the file is linked.
Some environments support a SHLIB_PATH or LD_LIBRARY_PATH envionment variable - when you link with +s.

This means dlopen will use /usr/lib first, then search through the directories speficed in the environment variable.

try
Code:
man ld

and search for +s or PATH

Last edited by jim mcnamara; 11-18-2005 at 11:47 AM..
 

10 More Discussions You Might Find Interesting

1. Programming

dlopen failed!

I can open my so file successfully by calling dlopen directly in my main function. But if I fork a child process, and call dlopen in child process, it failed! I don't know why. Following is my code: #include <stdio.h> #include <errno.h> #include <dlfcn.h> void childFunc(void) { void... (1 Reply)
Discussion started by: virmin
1 Replies

2. Programming

compile error while using dlopen

Hi unix lovers, I am getting error while compile a function which uses dlopen. My code is I am getting error as follows Am I missing something? I think I am missing a lot :-) I am using solaris. Thanks in advance, -Ashish (5 Replies)
Discussion started by: shriashishpatil
5 Replies

3. Programming

dlopen help

//foo.c #include<stdio.h> int pen(int a) { printf("%d",a); } $cc -c foo.c $ls -shared -o libfoo.so foo.o ///////////now libfoo.so formed //i have already designed libfoo.so //main.c #include<stdio.h> #include <dlfcn.h> int main() { (2 Replies)
Discussion started by: lookforlohith
2 Replies

4. Solaris

dlopen() on dolaris

Dear experts, please help #include <stdio.h> #include <dlfcn.h> #include <link.h> #include <iostream.h> #include<stdlib.h> #include<errno.h> void main() { printf("\n in the main\n"); void *handle; handle = dlopen("my.so", RTLD_LAZY); if( handle ==... (2 Replies)
Discussion started by: vin_pll
2 Replies

5. Shell Programming and Scripting

Shell Script for Copy files from one location to another location

Create a script that copies files from one specified directory to another specified directory, in the order they were created in the original directory between specified times. Copy the files at a specified interval. (2 Replies)
Discussion started by: allways4u21
2 Replies

6. Programming

shared libs

The gcc version is different on my computer than on the remote computer. An ldd on my program says: Is there any way I can tell gcc to compile my program against my version of libc-2.7.so and ld-2.7.so (which I would provide along with the program) instead of the remote computer's libs ? (I do... (5 Replies)
Discussion started by: cyler
5 Replies

7. Programming

dlopen Linux vs. OSX

I've got a C++ program and some plugins ( shared objects ) that I have been developing for Linux. I was originally using and OSX machine to develop and test most of the code. I use dlopen to open the shared objects and then call methods from them. It behaves differently on Linux ( don't know the... (3 Replies)
Discussion started by: rfkrakora
3 Replies

8. Shell Programming and Scripting

File created in a different location instead of desired location on using crontab

Hi, I am logging to a linux server through a user "user1" in /home directory. There is a script in a directory in 'root' for which all permissions are available including the directory. This script when executed creates a file in the directory. When the script is added to crontab, on... (1 Reply)
Discussion started by: archana.n
1 Replies

9. Shell Programming and Scripting

How to find a existing file location and directory location in Solaris box?

Hi This is my third past and very impressed with previous post replies Hoping the same for below query How to find a existing file location and directory location in solaris box (1 Reply)
Discussion started by: buzzme
1 Replies

10. AIX

Create shared libs on AIX (with certain libs which are statically linked)

I want to create a shared lib with certain libs statically linked to it. I can generate a fully shared lib as follows: gcc -maix64 -DHAVE_CONFIG_H -I. -I./src -DHAVE_OPENSSL -I/usr/include/openssl -I/usr/include -I/usr/include/apr-1 -D_LARGEFILE64_SOURCE -I/usr/java8_64/include -shared -o... (0 Replies)
Discussion started by: amandeepgautam
0 Replies
LDCONFIG(8)						    BSD System Manager's Manual 					       LDCONFIG(8)

NAME
ldconfig -- configure the shared library cache SYNOPSIS
ldconfig [-32] [-aout | -elf] [-Rimrsv] [-f hints_file] [directory | file ...] DESCRIPTION
The ldconfig utility is used to prepare a set of ``hints'' for use by the dynamic linker to facilitate quick lookup of shared libraries available in multiple directories. It scans a set of built-in system directories and any directories specified on the command line (in the given order) looking for shared libraries and stores the results in a system file to forestall the overhead that would otherwise result from the directory search operations the dynamic linker would have to perform to load the required shared libraries. Files named on the command line are expected to contain directories to scan for shared libraries. Each directory's pathname must start on a new line. Blank lines and lines starting with the comment character '#' are ignored. Filenames must conform to the lib*.so.[0-9] pattern in order to be added to the hints file. For security reasons, directories which are world or group-writable or which are not owned by root produce warning messages and are skipped, unless the -i option is present. The shared libraries which are found will be automatically available for loading if needed by the program being prepared for execution. This obviates the need for storing search paths within the executable. The LD_LIBRARY_PATH environment variable can be used to override the use of directories (or the order thereof) from the cache or to specify additional directories where shared libraries might be found. LD_LIBRARY_PATH is a ':' separated list of directory paths which are searched by the dynamic linker when it needs to load a shared library. It can be viewed as the run-time equivalent of the -L switch of ld(1). The ldconfig utility is typically run as part of the boot sequence. The following options are recognized by ldconfig: -32 Generate the hints for 32-bit ABI shared libraries on 64-bit systems that support running 32-bit binaries. -aout Generate the hints for a.out format shared libraries. -elf Generate the hints for ELF format shared libraries. -R Rescan the previously configured directories. This opens the previous hints file and fetches the directory list from the header. Any additional pathnames on the command line are also processed. This is the default action when no parameters are given. -f hints_file Read and/or update the specified hints file, instead of the standard file. This option is provided primarily for testing. -i Run in insecure mode. The security checks will not be performed. -m Instead of replacing the contents of the hints file with those found in the directories specified, ``merge'' in new entries. Direc- tories recorded in the hints file by previous runs of ldconfig are also rescanned for new shared libraries. -r List the current contents of the hints file on the standard output. The hints file is not modified. The list of directories stored in the hints file is included. -s Do not scan the built-in system directory (``/usr/lib'') for shared libraries. -v Switch on verbose mode. SECURITY
Special care must be taken when loading shared libraries into the address space of set-user-Id programs. Whenever such a program is run by any user except the owner of the program, the dynamic linker will only load shared libraries from the hints file. In particular, the LD_LIBRARY_PATH is not used to search for libraries. Thus, the role of ldconfig is dual. In addition to building a set of hints for quick lookup, it also serves to specify the trusted collection of directories from which shared objects can be safely loaded. FILES
/var/run/ld.so.hints Standard hints file for the a.out dynamic linker. /var/run/ld-elf.so.hints Standard hints file for the ELF dynamic linker. /etc/ld.so.conf Conventional configuration file containing directory names for invocations with -aout. /etc/ld-elf.so.conf Conventional configuration file containing directory names for invocations with -elf. /var/run/ld-elf32.so.hints /var/run/ld32.so.hints Conventional configuration files containing directory names for invocations with -32. SEE ALSO
ld(1), link(5) HISTORY
A ldconfig utility first appeared in SunOS 4.0, it appeared in its current form in FreeBSD 1.1. BUGS
Some security checks (for example, verifying root ownership of added directories) are not performed when -aout is specified. BSD
March 19, 2013 BSD
All times are GMT -4. The time now is 02:37 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy