Home PC Games Linux Windows Database Network Programming Server Mobile  
           
  Home \ Linux \ Linux shared libraries .so file name and Dynamic Link     - Lambda expressions of evolution (Programming)

- Linux SU command security Suggestions (Linux)

- Use exp exported EXP-00091 error (Database)

- Batch kill processes using awk command (Linux)

- Bash command substitution (Programming)

- The correct way to open Xcode - Debugging (Programming)

- Use the vi text editor and copy and paste Linux tips (Linux)

- Installation and configuration of Hadoop under Linux (Server)

- About Samba certification process and permissions (Linux)

- Linux environment SSH login password instead of using the RSA Certificate (Linux)

- MySQL query performance comparison of a single truth (Database)

- Linux Troubleshooting: How to save the status of the SSH session is closed (Linux)

- ORA-12547: TNS: lost contact error Solution (Database)

- Kubernetes Cluster Setup problems encountered and solutions (Server)

- MongoDB upgrade to 2.6 (Database)

- Debian SSD ext4 4K aligned (Linux)

- Java reflection Introduction (Programming)

- Use Makeself Create installation file (Linux)

- Linux Telnet access Windows 7 configuration procedure (Linux)

- Shell command line operation (Linux)

 
         
  Linux shared libraries .so file name and Dynamic Link
     
  Add Date : 2018-11-21      
         
         
         
  In Linux .so file is dynamically linked product
Understood as a shared library provides a variety of performance function set, provides a standard interface to the external
Linux naming system shared library rules

The major version number: incompatibilities between different version numbers
Minor version number: Incremental upgrades backwards compatible
Release Number: bug fixes and minor version corresponds to performance does not affect compatibility
Linux shared libraries are not always in the format
    For example GLibc shared library named: libc-x.y.z.so
    The dynamic linker is GLibc part, use ld-x.y.z.so named
    libm (math library), etc.

SO-NAME mechanism
Systems and procedures to link shared library format is generally: libname.so.x
Generally is a carton system the same major version number, minor version number of the same name as the highest shared library, the purpose is to ensure that the latest version compatible with the premise
Stored in the executable file (Linux for ELF files) related field is SO-NAME
When the shared library upgrade, there are about two cases:
1) major version number unchanged, indicating shared libraries just do incremental upgrade (to ensure that all the original does not change, add a new interface based on this), it does not affect the validity of the previous program run
    In this case, the original version does not require the presence of all replace the existing older version (minor version number is relatively low) file with the new shared library file, then run ldconfig [later speaks] it
2) major version number change, then upgrade when you want to keep the original old version of the shared library (for compatibility with this version since the original shared library executables), and the need to save the new version of the shared library

In Linux ldconfig
When the system is installed or updated when a shared library needs to be updated soft links and the dynamic linker to find the file
So it should promptly run ldconfig
ldconfig role is to go through all of the directory to save the shared library / lib / usr / lib, etc., depending on the version update soft link actual shared library
When GCC compiled using shared libraries in the form of relatively simple, it does not need to spell SO-NAME, etc.
gcc -o hello hello.c -lNAME
Using the above form can be linked to libNAME.so.x.y.z (System version)
The dynamic linker sequence or find the shared object loaded in the following order
1) Path specified by the environment variable LD_LIBRARY_PATH
2) /etc/ld.so.cache path specified by the path to cache file
3) The default shared directory to / usr / lib and then / lib
Which is a LD_LIBRARY_PATH environment variable, LD_LIBRARY_PATH when specifying a program
The dynamic linker to find shared libraries, will first start looking from the specified path
     
         
         
         
  More:      
 
- Ubuntu Server (Ubuntu 14.04 LTS 64-bit) installation libgdiplus 2.10.9 error solution (Linux)
- MySQL5.7 implement virtual column expression index (Database)
- Linux find command usage practices (Linux)
- iptraf: A Practical TCP / UDP network monitoring tools (Linux)
- How SSHfs mount a remote file system on Linux (Linux)
- Linux common network tools: ping host sweep (Linux)
- Ubuntu users to install the system indicator SysPeek 0.3 (Linux)
- MySQL IO SSD attempt at optimization (Database)
- HBase table data processing tab (Database)
- Git build a team development environment operating drills (Linux)
- Detailed iptables (Linux)
- DRBD daily management (Server)
- Docker use Dockerfile created since the launch of the service support SSH container mirror (Server)
- Revive Adserver ad server installation on Ubuntu 15.04 / CentOS7 (Server)
- 64-bit Ubuntu 15.10 How to compile the latest version of the 32 Wine 1.7.53 (Linux)
- Mumble installation source VoIP application on Ubuntu (Linux)
- Achieve single backup of MySQL by innobackupex (Database)
- Install Web-based monitoring tool: Linux-Dash (Server)
- CentOS 6.x systems installation + NIC driver installation (Realtek PCIe GBE Family Controller for Linux) (Linux)
- CentOS 6.5 three ways to configure the IP address (Linux)
     
           
     
  CopyRight 2002-2022 newfreesoft.com, All Rights Reserved.