Linux Application Checker Brings Distro Help

Linux application development has always been a tricky business. Although Linux is a solid platform, it is often hard for independent software vendors to develop and maintain packages for all distributions. In response, the Linux Foundation this month released an open beta of Linux Application Checker (AppChecker). The utility, now at Beta 3, helps work through differences between Ubuntu, SuSE, Fedora, and more.

AppChecker is designed to test the compatibility of a binary package (.rpm or .deb) or source (tar.bz2 or tar.gz) with various Linux distributions. Perl, Python and shell scripts are also supported. After AppChecker finishes, the developer is presented with a compatibility report of the software across the various Linux distros.

According to Amanda MacPherson, vice president of the Linux Foundation, AppChecker is not meant to give a "thumbs up" or "thumbs down" on a particular distro. Instead, it provides information needed to get the program running on each Linux version. Packages are checked against the Linux Standard Base (LSB) for each distro, and if the check is successful, developers are able to apply for LSB certification.

The test results can be shared with the Linux Foundation, and that helps everyone, according to MacPherson.

"If you choose to share your results with us, it helps the Linux platform and helps the LSB get better. For example, it tells us what libraries Linux developers are using that aren't in LSB. We can then include [them] in the LSB, and that will make the LSB better."

AppChecker is like a more sophisticated alternative to the precompilation configuration script used to prepare a build environment for Linux programs. Linux software compilation usually follows a three-step process -- configuration, compilation and installation. When a user runs "./configure," the build system is checked for all necessary dependencies needed by the program to run. If a needed dependency is missing, the configuration script will fail and the user will have to locate the missing component.

Finding missing components can sometimes be difficult, especially with old or relatively obscure programs. Often the needed version of a dependency must itself be compiled from source, and the whole process can become very recursive.

Standard configuration scripts will not allow compilation in the case of missing dependencies. Substitution with alternative libraries is not supported if a needed dependency cannot be found or compiled. In such a situation, the only recourse aside from giving up is to modify the program's source code to work with a different library, but this may be beyond the skill of some users.

AppChecker offers superior functionality over configuration scripts in that it can recommend replacements or alternatives to dependencies if they aren't available for a user's particular distro. However, AppChecker is not a true debugger. It doesn't check to see if a program's requirements are actually provided by the available libraries.

Also, AppChecker cannot detect subtle code changes between different versions of a program. Likewise, it is not a replacement for standard configuration scripts. Users wishing to compile from source must still run ./configure if the compilation process requires them to.

In short, AppChecker helps developers see what dependencies are needed, allowing them to take to care to make them available. While developers already do this, AppChecker just make their task a little easier.

More information on the Linux AppChecker is available at the Linux Developer Network here.

About the Author

Will Kraft is a Web designer, technical consultant, and freelance writer. His website is Pagewizard Web Design. You can contact Will at [email protected].

Featured

  • illustration of a futuristic building labeled "AI & Innovation," featuring circuit board patterns and an AI brain motif, surrounded by geometric trees and a simplified sky

    Cal Poly Pomona Launches AI and Innovation Center

    In an effort to advance AI innovation, foster community engagement, and prepare students for careers in STEM fields and business, California State Polytechnic University, Pomona has teamed up with AI, cloud, and advisory services provider Avanade to launch a new Avanade AI & Innovation Center.

  •  black graduation cap with a glowing blue AI brain circuit symbol on top

    Report: AI Is a Must for Modern Learners

    A new report from VitalSource identifies a growing demand among learners for AI tools, declaring that "AI isn't just a nice-to-have; it's a must."

  • glowing shield hovers above a digital cloud platform with abstract data streams and cloud icons in the background

    Google to Acquire Cloud Security Firm Wiz

    Google has announced it will acquire cloud security startup Wiz. If completed, the acquisition — an all-cash deal valued at $32 billion — would mark the largest in Google's history.

  • digital dashboard featuring a shield icon, graphs, a world map, and network nodes

    IBM Introduces Agentic AI Governance and Security Platform

    IBM has launched a new software stack for enterprise IT teams tasked with managing the complex governance and security challenges posed by autonomous AI systems.