Skip the navigation
Opinion

Sharing the Tight Way

By Nicholas Petreley
December 10, 2001 12:00 PM ET

Computerworld - I recently compared Microsoft's proposed solution to DLL hell with the way Unix developers avoid ".so" hell [Technology, Nov. 12]. The term .so stands for shared objects, which are more commonly known as shared libraries. They are basically the Unix equivalent of Dynamic Link Libraries (DLL).
Microsoft is proposing a complicated procedure that would require developers to embed version numbers within header files, as well as create many new registry entries in some cases and replace registry entries with XML files in others. The solution on Unix is to simply rename the library file.
Admittedly, my explanation of the Unix approach was a bit of an oversimplification. So allow me to elaborate by describing how shared libraries are handled on Linux, which is a Unix clone. Consider yourself warned, however, that what I'm about to describe isn't the official policy on how to manage .so versions in Unix or Linux. This is simply my observation of how Linux library maintainers generally work. There's probably an official policy guide on .so versioning, but more likely than not, it simply describes what Unix programmers already do, which is whatever makes sense at the time.
Imagine that a group of people maintains a fictitious library called "libwidgets." These folks are reasonably happy with their work and release Version 4.0 of this library. Version 4.0 gains widespread approval, and it becomes the de facto standard version for libwidgets.
So the next time you install a Linux distribution, it will probably install a file called "libwidgets.so.4." The distribution maintainers may also install one or more symbolic links to this file. (If you're not a Unix person, a symbolic link looks like a file but is only a pointer to a file. Think of it as something similar to a Windows "shortcut.") This is a brand-new version, so it's probably necessary to create only one symbolic link, such as libwidgets.so.4.0.
The only reason you may want this symbolic link is because someone may build an application that expects to load the file libwidgets.so.4.0 instead of libwidgets.so.4. If you try to run that application without first creating the symbolic link, the program will complain that it can't find the library it needs, because it will be looking for the wrong file name.
Naturally, libwidgets will change. People will fix bugs and add features. If the bug fixes are minor and don't seem to affect existing applications, it's up to the library maintainers, the Linux distributors or both to decide whether to change the version number of the



Additional Resources
Forrester Consulting - Optimizing Users and Applications in a Mobile World
WHITE PAPER
Solving application issues over the WAN requires careful consideration. Based on their independent research, Forrester Consulting offers recommendations on how to tackle application performance issues, insufficient bandwidth and the inability to quickly restore users in a disaster.

Read now.

Security KnowledgeVault
WHITE PAPER
Security is not an option. This KnowledgeVault Series offers professional advice how to be proactive in the fight against cybercrimes and multi-layered security threats; how to adopt a holistic approach to protecting and managing data; and how to hire a qualified security assessor. Make security your Number 1 priority.

Read now.

Cut Communications Costs Once and for All
WHITE PAPER
New IP-based communications systems are being deployed by small and midsized businesses at a rapid rate. Learn how these organizations are enabling faster responsiveness, creating better customer experiences, speeding office or mobile interactions, and dramatically reducing existing communications costs.

Read now.

App Development White Papers
The Keys to Distributed & Agile Application Development
How leading firms are winning with strategies for efficient application development, without relying on co-location.
Overcome Top 7 Admin Challenges of Active Directory
As Active Directory's role in the enterprise has drastically increased, so has the need to secure the data. Gain insight on creating repeatable,...
Insiders Can Ruin Your Company. Take Action.
Did you know that 80 percent of threats to an organization come from the inside? The threat from insiders is often overlooked in...
Top Solutions and Tools to Prevent Devastating Malware
Custom malware frequently goes undetected. According to Forrester Research, the best way to reduce risk of breach is to deploy file integrity monitoring...
Streamline Compliance and Increase ROI
Streamline, simplify, and automate compliance related activities; especially those that impact multiple business units. This white paper from NetIQ, outlines solutions that will...
All App Development White Papers
App Development Webcasts
Reduced TCO for Communications Applications with New Oracle SPARC Servers
In this webcast learn how Oracle's new SPARC T4 servers and SPARC Supercluster deliver the security, performance, and scalability required for 4G network...
Optimizing Networks for the Cloud
Join guest speaker, Rohit Mehra, IDC Director of Enterprise Communications Infrastructure, to explore current trends, discuss best practices for optimizing Data Center and...
Apps QuickStart Series Part 2: Designing and Deploying SQL Server on VMware vSphere
Download this webcast to learn about the design considerations for virtualizing SQL workloads, performance and scalability information and high-availability options, as well as...
Apps QuickStart Series Part 1: Designing and Deploying Exchange 2010 on VMware vSphere
Download this webcast to learn the virtual hardware design considerations for Exchange 2010, deployment using the building block approach, options for high-availability and...
Customer Spotlight: How IPC The Hospitalist Company Implemented Oracle on VMware
Have you been looking to hear about customer's experiences with the new VMware vCenter Site Recovery Manager product? View this webcast to learn...
All App Development Webcasts
Newsletter Sign-Up

Receive the latest news test, reviews and trends on your favorite technology topics

Choose a newsletter
  1. View all newsletters | Privacy Policy
IT Jobs