projectm icon indicating copy to clipboard operation
projectm copied to clipboard

[DEV BUG] Can't build on bullseye

Open AntiSol opened this issue 1 month ago • 3 comments

Please confirm the following points:

  • [x] This report is NOT about the Android apps in the Play Store
  • [x] I have searched the project page to check if the issue was already reported

Affected Project

libprojectM (including the playlist library)

Affected Version

= 4.0.0

Operating Systems and Architectures

Linux (x86_64)

Build Tools

Build Tool: CMake

Additional Project, OS and Toolset Details

debian bullseye with recommended packages installed

Type of Defect

Build failure (compiler/linker or toolset error)

Log Output


Describe the Issue

On debian bullseye, I am not able to get any of the 4.x.x versions to build. It seems you're depending on a relatively new version of cmake which has made changes that are incompatible with earlier versions (commit 433ca9f9b55df469563fa3fc9bb4268e12c92c7b). I tried lowering the required version but that gives me an Unknown CMake command "check_source_compiles" error.

Your build instructions say that there's an autotools option but then the instructions only say to use cmake, and I don't see the regular autotools / configure script in the repo.

I think you've removed the autotools option but not updated the instructions to say that?

How to build 4.x on bullseye?

AntiSol avatar Oct 26 '25 09:10 AntiSol

Debian 11 delivers a relatively old version of CMake (3.18). We have to use a more modern version of CMake because of different bugs and missing features and compiler support in those old versions, so simply reducing the required minimum version will not work without rewriting some parts of the build system.

And yes, we've removed autotools and any other build system from the repo, so this is certainly something we should also remove from the docs.

With CMake, it's always recommended to use the most recent version available. You can try installing a binary build from their download page - if that doesn't work, building CMake from source is also an option, as it's really easy to do: first, uninstall Debian's CMake package, get the latest CMake source and unpack it. cd into the unpacked source dir and run:

./bootstrap && make -j && sudo make install

This will install CMake in your system and projectM should build fine. If you don't want to install it system-wide, don''t use sudo with make install and instead add DESTDIR=$HOME/cmake to the last command and add the $HOME/cmake/bin dir to your PATH env variable.

kblaschke avatar Oct 27 '25 09:10 kblaschke

I've updated the build instructions in master, removing any references to autotools usage and adding some additional information.

kblaschke avatar Oct 27 '25 10:10 kblaschke

Thanks! I'll give that a try. And your updated docs look great! 👍

AntiSol avatar Oct 27 '25 22:10 AntiSol