Ads by TechWords

See your link here
Receive the latest technology news and information.
Application/Web Development
Computerworld Daily News (First Look and Wrap-Up)
Computerworld Blogs Newsletter
The Weekly Top 10
Cloud Computing
View all newsletters




Privacy Policy
 

Sharing the Tight Way

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



Jump to comments

Software Development

Additional Resources

Microsoft
Here are some of the key reasons why you would want to run Unified Access Gateway with DirectAccess.
Microsoft
Review how one energy firm tightened protection and simplified IT work using business-ready security solutions.
Sybase
In this white paper, IDC analyzes the role of next-generation mobile enterprise platforms as organizations seek a more strategic deployment of mobile solutions.

Learn the important issues you must consider before starting your next mobility initiative. Get your mobility white paper from IDC now, compliments of Sybase.

White Papers & Webcasts

Three IT Strategies to Cut Cost Intelligently
Register for this Webcast! Provided by BMC Software.

Five Steps to Successful IT Consolidation
Has your Enterprise made the strategic decision to consolidate remote site IT infrastructure into central data centers?  

The True ROI behind WAN Optimization
Looking for solid data behind the cost-savings story of WAN optimization?  

The Workday User Experience Video
Watch Workday's Creative Director, Scott Lietzke, discuss the business-centered design philosophy at Workday.

Forrester Consulting - Optimizing Users and Applications in a Mobile World
Learn how to successfully deploy a WAN optimization solution that is specifically tuned for a mobile environment!  

Business Process Framework Demo
Learn about Configurable Business Processes and Calculated Fields. Watch Now!


IT Jobs