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
LEARN ABOUT FREEBSD
minor
MAKEDEV(3) BSD Library Functions Manual MAKEDEV(3)
NAME
makedev, major, minor -- device number conversion
SYNOPSIS
#include <sys/types.h>
dev_t
makedev(int major, int minor);
int
major(dev_t dev);
int
minor(dev_t dev);
DESCRIPTION
The makedev() macro allows a unique device number to be generated based on its major and minor number. The major() and minor() macros can be
used to obtain the original numbers from the device number dev.
In previous implementations of FreeBSD all block and character devices were uniquely identified by a pair of major and minor numbers. The
major number referred to a certain device class (e.g. disks, TTYs) while the minor number identified an instance within the device class.
Later versions of FreeBSD automatically generate a unique device number for each character device visible in /dev/. These numbers are not
divided in device classes.
On FreeBSD these macros are only used by utilities that need to exchange numbers with other operating systems that may use different encod-
ings for dev_t, but also applications that present these numbers to the user in a more conventional way.
RETURN VALUES
The major() macro returns a device major number that has a value between 0 and 255. The minor() macro returns a device minor number whose
value can span the complete range of an int.
SEE ALSO
mknod(2), devname(3), devfs(5)
BSD
September 28, 2008 BSD