Sponsored Content
Top Forums Programming How to make use others' C library installed not for the system-wide (Ubuntu/Linux)? Post 303043110 by GRMartin on Saturday 18th of January 2020 10:02:22 AM
Old 01-18-2020
Quote:
Originally Posted by yifangt
It seems to me that they are different names for the same thing, but I might be wrong.
3) My point is what the right way(s)---may not be the best way--- is to use them.
Can I ask in another way:
What is the best practice to use others library (static *.a and shared *.so) not installed system-wide in C programming? I may need to start a new thread before the topic is veered too far off.

Thank you so much for your time!

No, they are not at all the same thing. An archive is just that. A collection of object files that can be statically linked to your executable. Shared objects are dynamically linked at runtime. They are compiled with a flag that tells the compiler to generate position independent code. Here's what gcc docs have to say:


Code:
-fpic   Generate position-independent code (PIC) suitable for use in a shared library, if supported for the target machine.  Such code accesses all constant addresses through a global offset table (GOT).  The dynamic loader resolves the GOT entries when the program starts (the dynamic loader is not part of GCC; it is part of the operating system).  If the GOT size for the linked executable exceeds a machine-specific maximum size, you get an error message from the linker indicating that -fpic does not work; in that case, recompile with -fPIC instead.  (These maximums are 8k on the SPARC, 28k on AArch64 and 32k on the m68k and RS/6000.  The x86 has no such limit.)

Since archives are statically linked to your your code, it is no longer dependent on the object. With shared objects you remain dependent on the library.
This User Gave Thanks to GRMartin For This Post:
 

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
NTFSPROGS(8)						      System Manager's Manual						      NTFSPROGS(8)

NAME
libntfs-gnomevfs - Module for GNOME VFS that allows access to NTFS filesystems. OVERVIEW
The GNOME virtual filesystem (VFS) provides universal access to different filesystems. The libntfs-gnomevfs module enables GNOME VFS aware clients to seamlessly utilize the NTFS library libntfs. So you can access an NTFS filesystem without needing to use the NTFS utilities themselves (at least in theory anyway). In practice this is probably more useful for programs and programmers to make using libntfs easier, more generic, and to allow easier debugging of libntfs. Examples Prerequisites To be able to follow these examples you will need to have installed the test utilities from the gnome-vfs-2.4.x package. The easiest way to do this is to download and compile the gnome-vfs-2 package, e.g. download from: http://ftp.gnome.org/pub/GNOME/desktop/2.4/2.4.0/sources/gnome-vfs-2.4.0.tar.gz Then run ./configure followed by make and make install (as root). This will install it into /usr/local so it should not conflict with your existing installation from rpm or deb packages which will be in /usr. Note you may also need to add /usr/local/lib to /etc/ld.so.conf and then run ldconfig (as root) to let your system see the installed gnome- vfs-2.4.x libraries. Then run ./configure followed by make and make install (as root) in the main ntfsprogs directory to build and install the libntfs-gnomevfs module and libntfs library which is used by the module. Copying a file from an NTFS partition To copy the file autoexec.bat from the main directory of an NTFS partition (/dev/hda1) to the /tmp directory on your system you could run: /path/to/gnome-vfs-2.4.x/test/test-xfer file:///dev/hda1#libntfs:/autoexec.bat /tmp/autoexec.bat To copy a file from a directory inside the NTFS partition you would just specify the full path. So for example to copy the file win.ini from the Windows directory you would run: /path/to/gnome-vfs-2.4.x/test/test-xfer file:///dev/hda1#libntfs:/Windows/win.ini /tmp/win.ini Shell access to an NTFS partition For debugging it is most useful to be able to do various things to the NTFS partition while it is being operated upon by libntfs. This is achieved using the test-shell utility (from the gnome-vfs-2.4.x package) by running: /path/to/gnome-vfs-2.4.x/test/test-shell This drops you into the GNOME VFS shell from where you can now cd into the NTFS partition (/dev/hda1) by typing: cd file:///dev/hda1#lib- ntfs:/ You are now in the root directory of the NTFS partition. The first thing you will probably want to do is to type "ls" to display the directory contents. You could then change directories using the "cd" command, e.g. to enter the Windows directory you would type: cd Windows You can then open files, seek inside files, read from files (write is not enabled at present), etc thus exercising large portions of the NTFS library. Use the "help" command while in the shell to see the available commands. BUGS
No bugs are known but there are several limitations at the moment: You cannot get information about files other than what the "ls" command in the test-shell can give you, i.e. the "info" command in the test-shell does not work. Further access to the partition is read-only and hence you cannot write to files. This will be changed in the future once the module has had more wide testing. There may be other limitations and possibly bugs. Please report any problems to the NTFS mailing list: linux-ntfs-dev@lists.source- forge.net AUTHORS
The libntfs-gnomevfs module was written by Jan Kratochvil. This man page was written by Anton Altaparmakov. AVAILABILITY
The ntfsprogs package which contains the libntfs-gnomevfs module can be downloaded from http://www.linux-ntfs.org/content/view/19/37/ These manual pages can be viewed online at http://man.linux-ntfs.org/ntfsprogs.8.html SEE ALSO
ntfsprogs(8) Linux-NTFS version 2.0.0 November 2003 NTFSPROGS(8)
All times are GMT -4. The time now is 05:06 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy