Welcome Guest. | Log In| Register | Membership Benefits
Labs

January 24, 2000

Printer ready
Printer ready
Linux:
Achilles' Heel: Linux Libraries

As vendors scramble to port business applications to Linux, the lack of a standard set of features for the open-source operating system is causing headaches and user uncertainty. The forthcoming Linux Standard Base may be the solution.

By Jason Levitt

Related links:
  • Linux Tool box
  • And from our sister publications:
  • VARBusiness Linux Packs a Low Cost Powerful Punch

  • InternetWeek Linux Scales Enterprise Wall

  • Send Us Your Feedback
    With the spate of major IT business platforms released for Linux the past six months, more IT managers are tempted to use Linux to save money.

    But these managers are finding that, despite the ease with which the word Linux is tossed about, there are at least 15 English-language distributions of the operating system for the Intel platform--and none of them are exactly alike. Though they are similar, since they each start with some version of the same freely available source-code base, the differences are such that there is no guarantee that your commercial Linux application will run on all of them. Vendors porting commercial applications to Linux are finding that the subtle (and sometimes not-so-subtle) differences in Linux distributions can cause problems for customers and developers.

    The solution is to define a standard set of guidelines and application programming interfaces so that developers can create Linux apps that will install and execute without having to worry about whether certain Linux features are available on the customer's system. The Linux Standard Base committee (www.linuxbase.org) is working on the standard set of guidelines and APIs that will solve developer problems. What the group is aiming for isn't a standard Linux implementation, per se, but rather a set of standard services, such as installation scripting and package support, and common APIs for services beyond the basic kernel support. The standard may not arrive until the third quarter, however. Meanwhile, vendors moving their commercial applications to Linux are dealing with porting, and the new open-source paradigm, in different ways.

    Adobe Systems Inc. is proceeding carefully after the December beta release of Framemaker 5.5.6 for Linux. "Understanding the issues of the Linux world was one of the key reasons for putting out this Framemaker beta for Linux," says Mark Hilton, group product manager for Framemaker, Adobe's high-end publishing application. Adobe is sending surveys to all registered customers who downloaded the Framemaker for Linux beta to determine the demand for a Linux version of Framemaker, as well as whether customers are willing to pay for it and what type of product packaging they want. Adobe is also investigating the differences among Linux versions. While the Linux port was easy, because Framemaker already ran on several versions of Unix, Adobe nevertheless ran into some problems with the beta that were related to the C programming language libraries when the beta was first released.

    "One thing we've learned is that the glibc differences are very significant," Hilton says, noting that glibc, the GNU C libraries used to compile applications on most current versions of Linux, are version-sensitive. "Pretty much as soon as we released the beta, we received E-mails from customers that were traced back to glibc."

    Indeed, if you start installing applications on various flavors of Linux, you are likely to run into C library problems. The relatively recent switchover from the old Linux C library, called libc5, to the Free Software Foundation's GNU libc 2.0, along with changes in shared libraries, had significant impact on application portability. The result is that some applications require the presence of certain versions of glibc or libc5 to work properly. Also, various X Window shared libraries depend on the presence of certain versions of C libraries. The Linux Standard Base will clearly standardize the C libraries, but for now, a number of available libraries are incompatible.

    Netscape, which ported its Communicator suite to Linux, offers four ports of Communicator that are cryptically labeled. Communicator is more stable than average under many Linux distributions because it has been around for a while and is widely used, but even it is subject to problems with C library and shared-library versions. The two officially supported ports of Communicator 4.7 are listed on Netscape's Web site as running under Linux 2.0 and Linux 2.0 (glibc). Inferences from the Netscape release notes suggest that Linux 2.0 refers to a Linux distribution running Linux kernel version 2.0 with the libc5 5.4.22 C library. Linux 2.0 (glibc) is kernel version 2.0 with the glibc 2.07 library. Netscape also offers two unsupported versions of Communicator 4.7, one for Linux 1.2 and one for Linux 2.2. These mean Linux kernel 1.2 and Linux kernel 2.2. Because they are unsupported, it's likely that Communicator is either unstable on distributions with these kernels, or that it won't run at all.

    Some smaller companies aren't concerned with multiple Linux distributions. Interstar Technologies, which is moving its network Faxserver software to Linux, uses only Red Hat Linux. "We think that distribution has the most market penetration," says Sebaseien Boire-Lavigne, product manager for Faxserver. "Hopefully, we're going to try to support some other major Linux distributions in the future. We're looking at Caldera, SuSE, and Debian, but there's no definitive list."

    Other server vendors are grappling with similar problems. Lotus Development Corp. recently released a port of its flagship Domino Server for Linux--specifically Red Hat's and Caldera's implementations. Lotus sees its customers choosing Linux principally because of the low cost of the operating system and the underlying Intel hardware. As such, some of the performance issues are less bothersome, from Lotus' point of view.

    Pointing to rapid development of support for technologies such as the Universal Serial Bus or IRDA, developers at Lotus' Iris Associates subsidiary see real advantages to the communal development model. But the common implementation of installation services and APIs "is definitely necessary for enterprise applications," says Kenneth Brunsen, principal software engineer at Iris. As at other vendors, Lotus' ability to deliver Domino Server on as many Linux ports as possible depends largely on installation issues: variations in the installation scripts, locating the directories where configuration files reside, and the specifics of the source library installation.

    Jim Noble, a software specialist at Applied Information Systems, makers of the popular Xess Spreadsheet that runs on most Linux distributions, Windows NT, OpenVMS, and many Unix variants, has noted several problems when trying to maintain a product across different flavors of Linux. "We've had problems with libpng in various distributions," he says. "The current version of libpng is 1.x, but there have been prior [incompatible] versions that are shipped in some distributions. We've had to bundle the latest version ourselves to fix that problem."

    Software installation under Linux has an emerging de facto standard, the Red Hat Package Manager. Most distributions use it, though some, such as Debian and Corel Corp., use Debian's installation package format and Slackware uses compressed tar archives. The Linux Standard Base will solve this problem by ensuring that standard package installation utilities are present.

    According to Noble, who has worked on aspects of the Linux Standard Base, the committee wants to standardize on glibc 2.2, which isn't expected to be ready for several months. Glibc 2.2 should have international as well as important Posix, XPG4, ISO, and Unix standards coverage. This will make it even easier to port applications to Linux. "With Linux Standard Base, if you use the published specs, your app will work," Noble says. "If your app uses features outside of the specification, it will have to carry them around and install them with your application."

    Sites such as www.linuxapps.com list a vast quantity of applications running under Linux, but none of the specifics of which version of Linux they work on. You may find that some vendors are unclear which Linux ports they support. With a growing number of conventional, binary-only applications moving to Linux, as well as many open-source apps, a standardized environment is key to Linux's success.


    Back to Labs
    Send Us Your Feedback
    Top of the Page

    CAREER CENTER
    Ready to take that job and shove it?



    TechCareers

    SEARCH
    Function:

    Keyword(s):

    State:
    SPONSOR
    RECENT JOB POSTINGS
    CAREER NEWS
    Go beyond Google and get vertical. These specialized search sites will help you find the business information you need -- fast.

    Ari Balogh was named to the post of chief technology officer as the companys for a "realignment" of employees.



    Specialty Resources

    Featured Microsite