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

  • abstract pattern of cybersecurity, ai and cloud imagery

    OpenAI Report Identifies Malicious Use of AI in Cloud-Based Cyber Threats

    A report from OpenAI identifies the misuse of artificial intelligence in cybercrime, social engineering, and influence operations, particularly those targeting or operating through cloud infrastructure. In "Disrupting Malicious Uses of AI: June 2025," the company outlines how threat actors are weaponizing large language models for malicious ends — and how OpenAI is pushing back.

  • cybersecurity book with a shield and padlock

    NIST Proposes New Cybersecurity Guidelines for AI Systems

    The National Institute of Standards and Technology has unveiled plans to issue a new set of cybersecurity guidelines aimed at safeguarding artificial intelligence systems, citing rising concerns over risks tied to generative models, predictive analytics, and autonomous agents.

  • student with headphones engaged in virtual learning

    Virtual Learning that Works: 4 Ways to Build Real Engagement

    As colleges and universities expand online offerings, the goal now is clear: Build environments where students actively participate, not passively attend.

  • Jasper Halekas, instrument lead for the Analyzer for Cusp Electrons (ACE), checks final calibration. ACE was designed and built at the University of Iowa for the TRACERS mission.

    TRACERS: The University of Iowa Leads NASA-Funded Space Weather Research with Twin Satellites

    Working in tandem, the recently launched TRACERS satellites enable new measurement strategies that will produce significant data for the study of space weather. And as lead institution for the mission, the University of Iowa upholds its long-held value of bringing research collaborations together with academics.