10-05-2007
It is traditional to put version numbers of shared libraries where the major number refers the interface to the library, the complete version refering to the implementation.
If you look in /usr/lib on an ELF system you will typically see
libNAME.so.major.minor
with a link from
libNAME.so.major to libNAME.so.major.minor
and another link
libNAME.so to libNAME.so.major
This library will have the SONAME attribute set to libNAME.so.major so when an application links against it, it will refer to the correct interface, not the exact implementation.
This allows the implementation to be updated and maintained as long as the interface does not change.
Some other binary systems have equivalents to ELF's SONAME, such as Darwin's 'install_name'.
The SONAME attribute is set at link time.
8 More Discussions You Might Find Interesting
1. Solaris
Please correct me if I am wrong... Isnt the only difference between minor releases of Solaris, ex. 9/04 and 9/05, is the patche revs between them? If so, why does the /etc/release info stay static when patched? (4 Replies)
Discussion started by: mhm4
4 Replies
2. Linux
A question that has come up repeatedly where I work from our former VMS guys is... "will any Linux filesystem ever support versioning like RMS did"? When they talk about versioning they really are talking about something that *I think* would involve having apps that support versioning. For... (7 Replies)
Discussion started by: deckard
7 Replies
3. Shell Programming and Scripting
Need to add the version date to the moved file if same file name in folder exists and limit the same files in the folder.
Ex: If moved or copy file abc.txt to folder XYZ then append the version date abc07112011.txt or abc07122011.txt in the folder.
\xyz
abc07132011.txt
abc07122011.txt... (2 Replies)
Discussion started by: Brado
2 Replies
4. SCO
Hi ,
I am using SCO openserver realease 3.2 and tried to test versioning on a directory with undelete -s . The command executes well but it is not creating any versions of the files in it. I have also setted versioning options via filesystem and then remounted it but of ... (0 Replies)
Discussion started by: dextergenious
0 Replies
5. Shell Programming and Scripting
Hello *nix specialists,
Im working for a non profit organisation in Germany to transport DSL over WLAN to people in areas without no DSL. We are using Linksys WRT 54 router with DD-WRT firmware There are at the moment over 180 router running but we have to change some settings next time. So my... (7 Replies)
Discussion started by: digidax
7 Replies
6. Programming
Hi,
Is anybody familiar with libtool could explain me the following issue.?
I've created a small factorial program(fact_impl.c, fact_appln.c & fact.h) in order to know about this libtool.
>>> fact.h
#include<stdio.h>
#include<math.h>
extern unsigned int fact_num(unsigned int num);... (0 Replies)
Discussion started by: Parameswaran
0 Replies
7. Shell Programming and Scripting
Hi,
I need to get versioning of the branch name dynamically. can you please help us to achieve this functionality.
curl https://altrecmktg.com/artifactory/mediamarketing/release-2.0.1/altrec.tar
curl https://altrecmktg.com/artifactory/mediamarketing/release-2.0.2/altrec.tar
everytime... (5 Replies)
Discussion started by: lkeswar
5 Replies
8. UNIX for Beginners Questions & Answers
I have this code that works great ...
#!/bin/sh
for file in "$@"
do
ext=${file##*.}
base=${file%.*}
num=${base##*v}
zeroes=${num%%*}
num=${num#$zeroes} #remove leading zeros, or it uses octal
num=$((num+1))
base=${base%v*}
... (5 Replies)
Discussion started by: scribling
5 Replies
MAKEDEV(3) Linux Programmer's Manual MAKEDEV(3)
NAME
makedev, major, minor - manage a device number
SYNOPSIS
#define _BSD_SOURCE
#include <sys/types.h>
dev_t makedev(int maj, int min);
int major(dev_t dev);
int minor(dev_t dev);
DESCRIPTION
A device ID consists of two parts: a major ID, identifying the class of the device, and a minor ID, identifying a specific instance of a
device in that class. A device ID is represented using the type dev_t.
Given major and minor device IDs, makedev() combines these to produce a device ID, returned as the function result. This device ID can be
given to mknod(2), for example.
The major() and minor() functions perform the converse task: given a device ID, they return, respectively, the major and minor components.
These macros can be useful to, for example, decompose the device IDs in the structure returned by stat(2).
CONFORMING TO
The makedev() major() and minor() functions are not specified in POSIX.1, but are present on many other systems.
NOTES
These interfaces are defined as macros. Since glibc 2.3.3, they have been aliases for three GNU-specific functions: gnu_dev_makedev(3),
gnu_dev_major(3), and gnu_dev_minor(3). The latter names are exported, but the traditional names are more portable.
SEE ALSO
mknod(2), stat(2)
COLOPHON
This page is part of release 3.25 of the Linux man-pages project. A description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
Linux 2008-12-01 MAKEDEV(3)