01-17-2020
rpath is actually a linker option rather then a compiler option. gcc passes it to ld.
Well, th estandard way to use shared objects (.so) is to install them in the system directories used for that purpose (/usr/lib etc.) but that's not always possible. The archive (.a) allows you to link objects into your executable which produces a larger exectable but gets around the problem. If the library is updated you must recompile whereas with a shared object you only need to recompile if the update breaks your code.
For the loader to load a shared object at runtime it must know where to find them. rpath tells the linker to embed the path in the header of the executable but if the so is moved the loader won't be able to load it. ORIGIN resolves to whereeve the binary is at runtime so as long as the library stays with the executable it works.
-Greg.
This User Gave Thanks to GRMartin For This Post:
9 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I have created symbolic links to several frequently used commands, for example:
"lt" is a link to "ls -ltrgo|tail". What can I do to make these links available system-wide, or at least in the directories my coworkers are in most of the time? I have copied the link to several directories, and... (6 Replies)
Discussion started by: jpprial
6 Replies
2. UNIX for Advanced & Expert Users
Does anyone know how to make system wide changes to the CDE's front panel icons? I dont know if it matters but im running Solaris 9.
THanks (1 Reply)
Discussion started by: meyersp
1 Replies
3. UNIX for Dummies Questions & Answers
Hi, I have a task to search for a file called 'Xstartup' in the whole system because there might be different versions of it which overrite eachother.
Can anyone suggest a smart command to run this search ? The machine needs to scan every single folder beginning from root.
Please help, I am... (5 Replies)
Discussion started by: DGoubine
5 Replies
4. Filesystems, Disks and Memory
Yea i was wondering how i would mount, and create a FAT directory that way i can save files in the FAT directory in a windows system and be able to access them on Linux systems. Or if there is any other way to share files between Linux and Windows. Any responds will help... thanks! (2 Replies)
Discussion started by: kyoist
2 Replies
5. Shell Programming and Scripting
Hello,
I am new to shell scripting and I was trying to write a script that would force a system wide password change except for admins. I am having some trouble and any help that someone could give me would be greatly appreciated. I am trying to do it by using the UID as the marker for anyone... (6 Replies)
Discussion started by: kilemark
6 Replies
6. Linux
Hi,
I need to look for a config file (ldap.conf) and pick the latest modified file.
`locate` tells me there are many ldap.conf's, some in /etc, /usr, /home, etc.
Is there some way I can sort them by last modified time via bash?
I was thinking maybe I could pipe the output of `locate` to `ls... (4 Replies)
Discussion started by: Housni
4 Replies
7. Linux
I have installed user-mode linux kernel in Ubuntu 10.10 with the help of Synaptic package manager.
But I'm not getting how to run it.
If we install it manually, we've to run it using the executable binary file.
But here, I'm unable to locate any such file.
Please help....
Thanking You....
... (0 Replies)
Discussion started by: rohitadeshmukh1
0 Replies
8. Red Hat
Hi everybody,
How can I change the default UMASK for non root users, e.g. I want the umask for every new created user will be 0044.
Thanks (6 Replies)
Discussion started by: leo_ultra_leo
6 Replies
9. Shell Programming and Scripting
When looking for wherever a program or a filename appears in the system, a short scrip is "findinner" which another script calls with a long parameter list consisting of path names ending with ".sh" or ".menu". "findinner" looks like this:
# If not .savenn file, show name and result of grep.
#... (4 Replies)
Discussion started by: wbport
4 Replies
LEARN ABOUT DEBIAN
sdl-config
sdl-config(1) General Commands Manual sdl-config(1)
NAME
sdl-config - script to get information about the installed version of SDL
SYNOPSIS
sdl-config [ --prefix= DIR] [ --exec-prefix= DIR] [ --version ] [ --libs | --library-libs | --plugin-libs ] [ --cflags ]
DESCRIPTION
sdl-config is a tool that is used to configure and determine the compiler and linker flags that should be used to compile and link pro-
grams, libraries, and plugins that use SDL. It is also used internally by the m4 macros that are included with SDL.
OPTIONS
--cflags
Print the compiler flags that are necessary to compile a program or library that uses SDL.
--exec-prefix=DIR
If specified, use DIR instead of the installation exec prefix that SDL was build with when computing the output for the --cflags,
--libs, --library-libs, and --plugin-libs options. This option must be specified before any of the --cflags, --libs, --library-
libs, and --plugin-libs options.
--libs Print the linker flags that are necessary to link a program that uses SDL.
--static-libs
Print the linker flags that are necessary to statically link a program that uses SDL.
--library-libs
Print the linker flags that are necessary to link a library that uses SDL. (This excludes any static objects required for linking,
since these must be linked only by executable programs.)
--plugin-libs
Print the linker flags that are necessary to link an SDL-using object that is to be accessed via dlopen(3). This may include static
objects with PIC symbol information. This option should not be used for ordinary shared libraries or standalone applications.
--prefix=DIR
If specified, use PREFIX instead of the installation prefix that SDL was built with when computing the output for the --cflags,
--libs, --library-libs, and --plugin-libs options. This option is also used for the exec prefix if --exec-prefix was not specified.
This option must be specified before any of the --cflags, --libs, --library-libs, and --plugin-libs options.
--version
Prints the currently installed version of SDL on standard output.
EXAMPLES
gcc -o main.o $(sdl-config --cflags) main.c
is how you might use sdl-config to compile a C source file for an executable program.
gcc -o my_app $(sdl-config --libs) main.o util.o
is how you might use sdl-config to link compiled objects into an executable program.
gcc -o libSDL_nifty-1.2.so.0.0.1 $(sdl --library-libs) read.o write.o munge.o
is how you might use sdl-config to link compiled objects into a shared library.
gcc -o libnifty_xmms.so $(sdl --plugin-libs) stream.o blit.o deinterlace.o
is how you might use sdl-config to link compiled objects into a plugin for use by another program.
AUTHOR
The Simple DirectMedia Layer (SDL) library was written by Sam Lantinga.
This manual page was written by Branden Robinson, originally for Progeny Linux Systems, Inc., and the Debian Project.
SDL 1.2 2001-12-25 sdl-config(1)