Strategies for Application Portability

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.

LSB Introduction

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.

Learn About Portability

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.

LSB Application Checker Getting Started

This document describes general steps on getting started with the LSB Application Checker.

LSB Charter

2012-05-02: This is currently a historical document. Please see the mailing list for our current discussions on the state of the charter.

LSB Updates: SDK, Checkers, 4.1

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:

FHS 3.0 Draft 1

Just in time for LinuxCon, we are pleased to announce the first draft of FHS 3.0!


LSB 4.0 Update 3

The LSB Workgroup has released update 3 to the Distribution Tests and Application Battery for LSB 4.0.

LSB SDK 4.1.1

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.

Contributing to the LSB

The LSB workgroup is an open project, which welcomes contributions from all interested parties.

About the LSB

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.

LSB 4.1

The LSB workgroup is pleased to announce the immediate availability of the Linux Standard Base (LSB) version 4.1.

LSB 4.1 Release Notes

LSB 4.1 Release Notes


The LSB project team is proud to announce LSB Version 4.1. The specification is available for download at the Specification page. The tools, tests and development environment are available for download at the Download page.

LSB Documentation Resources

The LSB workgroup provides the following documentation resources:

LSB 4.1 RC1

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.

LSB 4.0 Update 2

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:

Linux Standard Base Trademark Guidelines

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.

Linux Standard Base (LSB)

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):
Linux Developer Network LSB Certification System LSB Navigator LSB Specification Linux Application Checker LSB Eclipse Plugin LSB Sample Implementation LSB SDK LSB Application Tools LSB Distribution Testkit Multi-Distro Testing Farm LSB Distribution Tools LSB Concept Tools


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
Mandatory Modules
LSB 4.1 Generic

Core , C++ , Desktop ,
Interpreter Languages , Printing

Core , C++ , Desktop ,
Interpreter Languages , Printing

LSB 4.1 (x86)

Core , C++ , Desktop

Core , C++ , Desktop

LSB 4.1 (x86-64)

Core , C++ , Desktop

Core , C++ , Desktop

LSB 4.1 (PPC32)

Core , C++ , Desktop

Core , C++ , Desktop

LSB 4.1 (PPC64)

Core , C++ , Desktop

Core , C++ , Desktop

LSB 4.1 (IA64)

Core , C++ , Desktop

Core , C++ , Desktop

LSB 4.1 (S390)

Core , C++ , Desktop

Core , C++ , Desktop

LSB 4.1 (S390X)

Core , C++ , Desktop

Core , C++ , Desktop

Trial Use Modules
LSB 4.1 Trial Use




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

LSB application tools help developers in creating LSB compliant applications and finally achieving LSB Certified status.

Linux App Checker

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 script.

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
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)


LSB Software Development Kit (SDK)

The LSB Software Development Kit (SDK) contains the LSB Development Environment (shared library stubs, headers, lsbcc, and 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 script.

LSB 4.1 Software Development Kit (SDK)
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

LSB Sample Implementation is not supported anymore.

LSB Eclipse Plugin

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

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.

LSB Distribution Testkit

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 script.

Please refer to DTK Manager Getting Started for instructions on how to use the tool.

LSB 4.1 Distribution Testkit
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 Multi-System Testing

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.

Syndicate content