As you seek to create a new Linux application, or improve upon an existing app, trying to achieve the benefits of cross-distribution portability may seem daunting. Fortunately, there are a number of tools and strategies to help you meet this goal.
An operating system’s success is inextricably linked with the number and quality of applications that run on top of it. Linux and its variances between distributions, however, present ISVs and individual developers with a unique set of challenges: different distributions of Linux make use of different versions of libraries, important files stored in different locations, and so on. If an ISV wants to reach a global Linux audience, they must support more than one distribution of Linux.
As more and more developers develop applications for Linux, a lot of questions about portability and application certification are raised: how can I build the most portable application for Linux? Is certification to the Linux Standard Base right for my application? How do I get started on the right path for me?
In this section, you will learn the answers to these questions and more, as you step through the process of creating a better Linux application.
This document describes general steps on getting started with the LSB Application Checker.
The Linux Standard Base (LSB) project is pleased to announce several
updates to its suites of tools and tests. These updates are now
available from the LSB Download page:
Just in time for LinuxCon, we are pleased to announce the first draft of FHS 3.0!
The LSB Workgroup has released update 3 to the Distribution Tests and Application Battery for LSB 4.0.
The LSB Workgroup has released version 4.1.1 of the LSB Software Development Kit(SDK).
The Filesystem Hierarchy Standard (FHS) is a reference describing the conventions used for the layout of a UNIX system. It has been made popular by its use in Linux distributions, but it is used by other UNIX variants as well. The Linux Standard Base (LSB) refers to it as a standard.
Call for Participation
The LSB workgroup is preparing FHS 3.0, which will be the first FHS release since 2004. As part of that release, we are soliciting contributions from all interested parties.
The LSB workgroup is an open project, which welcomes contributions from all interested parties.
When targeting Linux as a platform, application developers want to have some assurance that the code they write on one Linux distribution will run on other Linux distributions without having to go through extra effort. This matches their experiences on other popular platforms, such as Windows or Mac OS X.
The LSB workgroup is pleased to announce the immediate availability of the Linux Standard Base (LSB) version 4.1.
The LSB workgroup provides the following documentation resources:
The LSB project is pleased to announce the availability of the first release candidate of LSB 4.1.
Links to the specification, as well as links to download the tests and SDK, are available at the following URL:
As of this writing, there are two known issues with the release candidate:
- The decision to promote xdg-utils out of trial use was made after the latest draft of the specification; therefore, the current RC spec continues to list it as trial use.
The LSB Workgroup has released Update 2 to the Distribution Test Kit for LSB 4.0.
The distribution tests for LSB 4.0 are distributed in LSB-compliant RPM package form from the following location:
Additionally, tarball bundles with an easy-to-use install script are available from here:
This update covers a number of bug fixes included since the last update of the distribution tests. Highlights include:
Please consult the Linux Foundation's trademark usage guidelines for over-all guideance on all Linux Foundation marks. Please do not refer to a product or service as being LF- or LSB-certified or use any of LF’s certification marks, unless your company has successfully undergone LF’s compliance testing suites and LF has explicitly authorized your use of these terms and the LF certification marks, and you have executed LF’s Trademark License.
The Linux Standard Base was created to lower the overall costs of supporting the Linux platform. By reducing the differences between individual Linux distributions, the LSB greatly reduces the costs involved with porting applications to different distributions, as well as lowers the cost and effort involved in after-market support of those applications.
Download the LSB specifications and tools here.The picture below represents the key LSB deliverables for application and distribution developers (click on particular items for details):
The Linux Standard Base (LSB) specifications are made available in two parts: an architecture independent (generic) part and an architecture dependent part. The architecture independent part is comprised of five modules: Core, C++, Desktop, Languages and Printing. The architecture dependent part is comprised of three modules: Core, C++ and Desktop.
Also, there are mandatory and trial use modules in the specification. The former impose mandatory requirements on LSB compliant distributions and applications may safely rely on the functionality described in mandatory modules. Functionality in trial use modules is not required in LSB compliant distributions and applications should take this into consideration. Meanwhile, trial use modules represent candidates for inclusion in the next versions of LSB.
|HTML||One Page HTML||Date|
|LSB 4.1 Generic||21-Feb-2011|
|LSB 4.1 (x86)||21-Feb-2011|
|LSB 4.1 (x86-64)||21-Feb-2011|
|LSB 4.1 (PPC32)||21-Feb-2011|
|LSB 4.1 (PPC64)||21-Feb-2011|
|LSB 4.1 (IA64)||21-Feb-2011|
|LSB 4.1 (S390)||21-Feb-2011|
|LSB 4.1 (S390X)||21-Feb-2011|
|Trial Use Modules|
|LSB 4.1 Trial Use||21-Feb-2011|
Older versions of the LSB are available here.
Another good way for browsing LSB specification and data about related Linux ecosystem is using LSB Navigator.
LSB application tools help developers in creating LSB compliant applications and finally achieving LSB Certified status.
The Linux App Checker contains tools for analyzing dependencies (libraries and interfaces externally required) of application packages. In particular it helps developers in testing their applications for LSB compliance and enables easy steps for LSB certification. To install the Linux App Checker, please download the appropriate tar file, extract the tar file, and run the included
Linux App Checker is version independent tool, i.e. it supports all relevant LSB versions at once (LSB 3.0 or greater). Please refer to Linux App Checker Getting Started for instructions on how to use the tool.
|Linux Application Checker (x86)|
|Linux Application Checker (x86-64)|
|Linux Application Checker (PPC32)|
|Linux Application Checker (PPC64)|
|Linux Application Checker (IA64)|
|Linux Application Checker (S390)|
|Linux Application Checker (S390X)|
The LSB Software Development Kit (SDK) contains the LSB Development Environment (shared library stubs, headers,
lsbc++) for building LSB compliant binaries. It supports all LSB releases starting from 3.0 at once.
To install the LSB SDK, please download the appropriate tar file, extract the tar file, and run the included
|LSB 4.1 SDK (x86)|
|LSB 4.1 SDK (x86-64)|
|LSB 4.1 SDK (PPC32)|
|LSB 4.1 SDK (PPC64)|
|LSB 4.1 SDK (IA64)|
|LSB 4.1 SDK (S390)|
|LSB 4.1 SDK (S390X)|
LSB Sample Implementation is not supported anymore.
LSB Eclipse Plugin is intended to facilitate development of portable C/C++ applications for the Linux platform by integrating the LSB tools into the Eclipse IDE. It enables smooth using the LSB SDK for building C/C++ applications within the Eclipse IDE along with "at hand" checking the applications with the Linux Application Checker.
To install the latest version of LSB Eclipse Plugin, please refer to LSB Eclipse Plugin Installation Instructions. To learn more about the LSB Eclipse Plugin, please refer to LSB Eclipse Plugin Getting Started page.
LSB distribution tools help distribution and upstream developers in analysing their products with regard to LSB requirements. They can be useful both as just a part of QA cycle and as a part of LSB certification process.
The LSB Distribution Testkit (DTK) contains everything developers need to test a Linux distribution for LSB compliance. The front end of the Distribution Testkit is DTK Manager that helps visually manage the testing process. DTK Manager automatically downloads necessary tests from the Linux Foundation FTP server, so please be sure you have Internet connection on the testing system the first time you want to run the tests.
To install the LSB DTK Manager, please download the appropriate tar file, extract the tar file, and run the included
Please refer to DTK Manager Getting Started for instructions on how to use the tool.
|LSB 4.1 Distribution Testkit (x86)|
|LSB 4.1 Distribution Testkit (x86-64)|
|LSB 4.1 Distribution Testkit (PPC32)|
|LSB 4.1 Distribution Testkit (PPC64)|
|LSB 4.1 Distribution Testkit (IA64)|
|LSB 4.1 Distribution Testkit (S390)|
|LSB 4.1 Distribution Testkit (S390X)|
LSB DTK Manager supports automation of scheduled (e.g. nightly) runs of the LSB certification tests on multiple test systems with collection of the results on a single server. Please refer to our Distribution Autotesting page and to the DTK Manager Nightly Run HOWTO for details.