Sponsored Content
Top Forums Programming How to make use others' C library installed not for the system-wide (Ubuntu/Linux)? Post 303043000 by GRMartin on Wednesday 15th of January 2020 02:05:02 PM
Old 01-15-2020
You can compile and link using compiler options. The library is referenced using -l<its_name_here> and the path to the library using -L/path/to/lib.


-I is for the path to include directories.


However, if the library isn't in a directory in the linkers path when you run the executable you'll get an error. One way to solve this is to use rpath option.


someting like:

Code:
gcc -Wall -O3 -o vcf_parser01 vcf.c vcf_parser01.c -Wl,-rpath,/home/yifangt/Study/C/VCF -L/home/yifangt/Study/C/VCF -lhtslib-1.10.2  2>err.txt


Note: I'm guessing what you need and what each item is. -I should be used with the path to header -l prepended to the library name and -L preceding the path to the library.

Last edited by GRMartin; 01-15-2020 at 03:22 PM..
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

links working system wide

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

System wide CDE setup

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

FIND function - system wide

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

How to mount/make a FAT system on Linux

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

system wide password change

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

System wide find and sort

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

How to run User-mode Linux installed with synaptic package manager in Ubuntu 10.10

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

Changing system-wide for umask

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

System-wide search

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
dlsetlibpath(3C)														  dlsetlibpath(3C)

NAME
dlsetlibpath() - set the dynamic search path used to locate shared libraries SYNOPSIS
[flag]... file... [library]... Multithread Usage This routine is thread-safe. Calls to affect all subsequent calls to and on any thread. DESCRIPTION
is one of a family of routines that give the user direct access to the dynamic linking facilities (using the option on the compiler or com- mand line). sets the dynamic search path used by and to locate shared libraries. libpath is the dynamic search path. It is a list of one or more path names separated by colons When searching for a library, the dynamic loader uses search paths in the following default order: 1. The dynamic search path specified in a call to 2. The environment variable. 3. The environment variable. 4. The embedded path of the calling module (executable program or shared library) for libraries named in calls to or For dependent libraries, the embedded path of the library that named it as a dependent is used. 5. The standard library path. 6. The current working directory. (This is only for libraries named in calls to and not their dependent libraries.) (See dld.so(5) for additional information on search paths and options that can change the order described above.) Any combination of these paths may be disabled by setting flags to one or more of the following flag values OR'ed together. If the follow- ing value is set, the dynamic loader does not search the specified location: Directories specified in the dynamic search path. Directories specified in the environment variable. Directories specified in the environment variable. Directories specified in the embedded path. Standard library directory. Current working directory. Multiple search paths can be disabled by OR'ing individual flags: flags = RTLD_FLAG_DISABLE_STD_PATH | RTLD_FLAG_DISABLE_CWD_PATH A single search path can be enabled by setting flags to the complement of the flag value that disables that search path: flags = ~RTLD_FLAG_DISABLE_DYNAMIC_PATH EXAMPLES
The following example illustrates the use of to set the dynamic search path and disable other search paths. For simplicity, error checking has been omitted. #include <dlfcn.h> int main() { void *handle; int status; int flags; /* Set dynamic search path and disable the embedded * path and the standard library directory. */ flags = RTLD_FLAG_DISABLE_EMBEDDED_PATH | RTLD_FLAG_DISABLE_STD_PATH; status = dlsetlibpath("/opt/lib:/opt/usr/lib", flags); /* Call dlopen to load a library using the dynamic * search path. */ handle = dlopen("mylib.so", RTLD_LAZY); /* Remove the dynamic search path and reenable all * disabled search paths. */ status = dlsetlibpath(NULL, 0); } RETURN VALUE
If successful, returns otherwise a non-0 value is returned. More detailed diagnostic information is available through or ERRORS
If fails, a subsequent call to returns one of the following values: Cannot allocate dynamic memory. Failed to apply relocation while resolving call to call failed on entry to call failed on exit from failed on entry to or exit from Invalid argument in call to SEE ALSO
dlopen(3C), dlopene(3C), dlgetfileinfo(3C), dlerrno(3C), dlerror(3C), dld.so(5). Texts and Tutorials: (See the option) (See manuals(5) for ordering information) dlsetlibpath(3C)
All times are GMT -4. The time now is 05:16 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy