I'd spoken about libtool versioning at a lug meet a long time ago. This
will just be few lines on it.
libtool libraries on linux are of the form:
libname.so.X.Y.Z
where 'name' is the name of the library, and X, Y and Z are whole
numbers.
Let's deal with Y first since that's the easiest.
When a library author increments the Y number by 1, it signifies an
internal change in the library that does not affect users of the
library. These would generally be things like changing an algorithm or
variable names or documentation, but not touching the API.
Now the other two.
The first number - X - is the library version. A library author
increments this number by one when any of the following occurs:
- A new feature (including API) was added
- An existing feature (including API) was dropped
- An existing feature (including API) was changed
Of the above, the first is backwards compatible, the second is not, and
the third may be (using default values for new parameters for example).
For case 3, the new library may be source compatible but not binary
compatible, suggesting that any code that uses the library must be
recompiled to work, but not rewritten. For case 2, any code that used
the dropped feature must be rewritten.
For all three cases, code that uses the library may need to be
recompiled even if it doesn't make use of the changed features because
the virtual pointer table may have changed (specific to Compiled OO
languages).
libtool versioning helps tell library users what to do.
Everytime X is incremented, it suggests that code may have to be
rewritten or recompiled. To identify which, we look at the last digit -
Z.
The number Z is the library API's age, ie, how far back is it
compatible.
So, a few examples.
You compile against: libfoo.so.3.0.0
New version released: libfoo.so.3.1.0
Action needed: none
New version released: libfoo.so.4.0.1
Action needed: may need recompile/relink (4-1 == 3)
New version released: libfoo.so.5.0.2
Action needed: may need recompile/relink (5-2 == 3)
New version released: libfoo.so.4.0.0
Action needed: may need rewrite/recompile (4-0 > 3)
Let the major library version number that we compiled against be M.
In the above cases, to determine whether a recompile is required or a
rewrite is required, we check that X-Z <= M <= X
Here's something that I use to remind me:
# +1 : 0 : +1 == new interface that does not break old one.
# +1 : 0 : 0 == removed/changed an interface. Breaks old apps.
# ? : +1 : ? == internal changes that doesn't break anything.
Finished :)
For more information, run "info libtool"
--
Real Users are afraid they'll break the machine -- but they're never
afraid to break your face.
linuxers
I'm using woody 3.0. I installed some packages like jdk, netbeans etc using
tar/bin installer and some more application simmilarly. I also installed 2.6 kernel. This has created unmet dependencies, how do I resolve it?
Regards
Kamlesh Shah, E-comm Consultant
Parth Information Technology www.parthinfo.net
Email:pitcom@vsnl.com M:+919850430676
B2D is a Knoppix-based live CD (it can
optionally be installed on hard disk) with support for traditional
Chinese. The project's PureKDE edition has been updated to version
20050323. The new release fixes several bugs reported in the earlier
version, the KDE menu has been simplified, and bold text on Chinese
web sites now displays correctly. A number of applications have been
updated to their latest versions, including Freemind and Nvu
(traditional Chinese editions), Azureus and Skype. Several small
improvements have been made to settings of the persistent home
directory, while ALSA has replaced OSS as the default sound module.
download it
ftp://ftp3.tnc.edu.tw/KNOPPIX/health/B2DpureKDE20050323.iso
Minislack Linux aims to be focused on Internet application, multimedia
and coding tools. It's a complete system : this means that you'll be
able tu browse, mail, chat, listen to music, watch videos in various
formats, write documents, print, scan, burn CD and DVD, connect your
camera and edit your photographs, without adding anything. Coders will
like the full set of development libraries and interpreters.
Minislack has the following objectives :
Be simple, fast and reliable
Provide one application for one task
Provide coding tools and libraries
Be small so that it can be distributed on a single 400MB ISO image
Some features of the current version are :
Kernel(2.6.11.4) with support for USB, scsi, acpi, pcmcia, bluetooth,
Framebuffer, sata...
gcc(3.3.5),JRE(1.5.0_01), Python(2.4),Perl(5.8.6)
Windowmaker(0.91), XFCE(4.2)
Mozilla-firefox(1.0.1)/thunderbird(1.0), Abiword(2.0.12),
Gnumeric(1.2.13), Dia(0.94), Gimp(2.2.3)
Anjuta(1.2.2), Bluefish(1.0), Gedit(2.6.1), Gvim(6.3)
Alsa(1.0.8), Xine(1.0), Gnomebaker(0.3), Beep-media-player(0.9.7)
--- Clinton Goveas <clinton(a)clintongoveas.com> wrote:
> A news.com report writes:
> *"It took Red Hat 16 months to produce the newest
> version of its premium
> Linux product, which went on sale in February for as
> much as $2,499 per
> computer per year.
>
> *It took a group of programmers less than two weeks
> to release a free
> clone. But the move could help Red Hat as much as it
> appears to hurt it."
Doesn't RHEL already have a free clone called Whitebox?
__________________________________
Do you Yahoo!?
Yahoo! Small Business - Try our new resources site!
http://smallbusiness.yahoo.com/resources/
Hi all,
Recently I happened to add an application to be
started whenever I login to the system on an RHEL ES
system. This I did by using Start Menu | Preferences |
More Preferences | Sessions and startup programs on a
GNOME Desktop. It didn't start on a KDE Desktop even
at that time.
All was fine and the application used to popup when I
start login as desired user. Then later on I stopped
the startup of the application by removing the
corresponding entry at the same location. But then
whenever I login as the concerned user I am unable to
start GNOME but can only login to KDE (Both are
installed).
For other users on the system there is no problem
using both the Desktop Environments.
googling around also didn't help so all the
suggestions are valuable
Thanks in advance
Abhilash
Send instant messages to your online friends http://uk.messenger.yahoo.com
--- Rony Bill <ronbillypop(a)yahoo.co.uk> wrote:
> Nadiem wrote:
>
> >If you don't remove /home/rony and simply create a
> new
> >user called rony again, the system allocates the
> >directory to this user.
> >
> Will the system update any damaged or deleted or
> misconfigured system
> files in the /home/rony directory? If so then this
> is the shortest
> method to repair a user's configuration as all other
> data will remain
> intact.
When user rony is created, the system files defined by
/etc/skel are copied into /home/rony. So yes, if the
misconfigured files are present in /etc/skel ,they
would be repaired.
Regards,
Nadiem.
__________________________________
Do you Yahoo!?
Yahoo! Mail - Helps protect you from nasty viruses.
http://promotions.yahoo.com/new_mail
--- Rony Bill <ronbillypop(a)yahoo.co.uk> wrote:
> Suppose an existing user 'rony' was removed, and a
> new user called
> 'rony' was created, how will the system remove the
> older 'rony' and
> allot the existing ~rony directory to the new 'rony'
When you "remove" a user, you have to remove the
user's entry in the passwd, shadow, group and gshadow
files (using vipw and vigr commands). After that you
have to manually delete /home/rony and
/var/spool/mail/rony. Only after completing these
steps, is the user rony removed completely from the
system.
If you don't remove /home/rony and simply create a new
user called rony again, the system allocates the
directory to this user.
Regards,
Nadiem.
__________________________________
Do you Yahoo!?
Yahoo! Small Business - Try our new resources site!
http://smallbusiness.yahoo.com/resources/
Hello,
Since last few days people have been asking question about Tally 7.2 on
Linux. Does this mean that Tally is now available on Linux? If yes then
where to download demo version of Tally.
Regards,
Komal
On Fri, 25 Mar 2005 Navneet Choudhary wrote :
>Hi list,
>
>I am using Mandrake 10.1 Official on multiboot system.
>
>
>After installing Mandrake 9.2 (yes 9.2 NOT 10.1) on
>un-partitioned space. Windows stop booting.
>
>Since as per default GRUB setting, it should show non
>*Linux OS also in Boot menu.
>But, here it is not showing any other OS.
>
>NOTE: Boot loader might be installed on MBR (instead
>of first non windows partition)?
>
> So, I booted to Linux & can view non-Linux
>partition being mounted as below:
>
>#df-h
>
>/dev/hda1 1G 4.7G 11G 31% /mnt/win_c
>/dev/hda5 5.1G 4.6G 418M 92% /mnt/win_d
>
>and
>
>#fdisk -l
>
>Disk /dev/hda:40.0 GB,40020664320
>16 heads, 63 sectors/track, 77545 cylinders
>Units= cylinder of 1008 * 512= 516096 bytes
>
>Device Boot Start End Blocks Id System
>
>/dev/hda1 * 1 31206 15727603+ 7 HPFS/NTFS
>/dev/hda2 31206 77545 23355045 f W95Ext'd(LBA)
>/dev/hda5 31206 41613 524519 7 HPFS/NTFS
>/dev/hda6 41613 64700 11534638+ 6 FAT16
>/dev/hda7 64500 64708 1052738 83 Linux
>/dev/hda8 64709 65729 514552 82 Swap
>/dev/hda9 65730 69802 2052760 83 Linux
>/dev/hda10 69803 77545 3902446+ 83 Linux
>
>NOTE: /dev/hda1 Windows 2000 Professional
> /dev/hda5 Windows 2003 Server
> /dev/hda6 MISC (FAT16)
>
>Since, I am not getting any windows listing in my Grub
>boot menu.Therefore,i have manually added windows
>entry in it.
>
>Now,
>1)when I choose windows 2000 at boot time:
>
>ERROR o/p:-
>Root(hda0,1)
>Filesystem type unknown,partition oxf
>Chainloader +1
>
>2)When I choose windows 2003
>Root(hda0,5)
>Filesystem type unknown,partition ox6
>Chainloader +1
>
>
>Lastly I tried installing Mandrake 10.1
>Official Once again it could not able to recognise
>windows OS installed on my Hard Disk.
>
>Now, please suggest how to revert back to my original
>configuration ..
>Running Windows OS without formatting. Since it
>contains lots many important installation that cant
>be ported without running original Windows.
>
>
If you have installed Mandrake 9.2 after 10.1 then grub won't recognize your OS unless you manually change the grub.conf and point it to boot the newer (9.2) kernel.
Root(hda0,1)
Root(hda0,5)
???????????? I think it should be (hd0,0) and (hd0,4)
Sameer
'You will be what you WILL to Be'
-James Allen