Skip to content

Conversation

@yarcod
Copy link

@yarcod yarcod commented Dec 10, 2025

There was a missing package needed for compiling the Linux version under Ubuntu.

Summary by CodeRabbit

  • Documentation
    • Updated Linux installation prerequisites and setup documentation with clarified package requirements, including additional development libraries for improved setup guidance.

✏️ Tip: You can customize this high-level summary in your review settings.

There was a missing package needed for compiling the Linux version under
Ubuntu.
@coderabbitai
Copy link

coderabbitai bot commented Dec 10, 2025

📝 Walkthrough

Walkthrough

Updates documentation for Linux prerequisites by adding qt6-tools-dev to build commands and introducing new prerequisite sections for OpenSSL, Libpulse, and CMake with accompanying code examples and minor formatting adjustments.

Changes

Cohort / File(s) Change Summary
Linux Documentation
linux/README.md
Updated prerequisite instructions with qt6-tools-dev addition to Debian/Fedora build commands; added new sections for OpenSSL, Libpulse, and CMake dependencies with code examples; reflowed bullet points under "Hearing Aid features"

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'linux: add build requirement to Linux instructions' directly matches the main objective of the PR—adding missing build requirements (qt6-tools-dev, OpenSSL headers, Libpulse headers, and CMake) to the Linux build documentation.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
linux/README.md (1)

38-38: Fix typo: "EndevaourOS" should be "EndeavourOS".

There are spelling inconsistencies for the distribution name. Lines 38 and 51 have "EndevaourOS" (missing 'v'), while lines 22 and 64 correctly spell it as "EndeavourOS".

-    # On Arch Linux / EndevaourOS, these are included in the OpenSSL package, so you might already have them installed.
+    # On Arch Linux / EndeavourOS, these are included in the OpenSSL package, so you might already have them installed.

Apply the same fix to line 51.

Also applies to: 51-51

🧹 Nitpick comments (1)
linux/README.md (1)

31-32: Fedora Qt6 section missing tools package equivalent.

The Debian Qt6 build command now includes qt6-tools-dev (line 28), but the Fedora Qt6 section (lines 31-32) does not include the equivalent qt6-qttools-devel package. Consider adding it for consistency and to ensure all distros have the necessary build tools.

 # For Fedora
 sudo dnf install qt6-qtbase-devel qt6-qtconnectivity-devel \
-    qt6-qtmultimedia-devel qt6-qtdeclarative-devel
+    qt6-qtmultimedia-devel qt6-qtdeclarative-devel qt6-qttools-devel
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a75557d and e96be43.

📒 Files selected for processing (1)
  • linux/README.md (4 hunks)
🔇 Additional comments (1)
linux/README.md (1)

35-46: Well-structured additions for build prerequisites.

The new OpenSSL, Libpulse, and CMake prerequisite sections are well-organized, with consistent formatting across all three distributions (Arch/EndeavourOS, Debian/Ubuntu, and Fedora). These align correctly with the CMake-based build process shown in the Setup section (line 81). Package names are accurate and follow each distro's naming conventions.

Also applies to: 48-59, 61-72

@Kaden-Beck
Copy link

I found the same issue and needed to obtain the referenced dependency.

@Johnsoct
Copy link

I just went to install on my main laptop, which uses Fedora 43 (which installed perfectly fine on 42 on my second laptop), and am getting this error:

14:20:19 ~/dev/librepods/linux/build:main $ cmake ..
-- The CXX compiler identification is GNU 15.2.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Performing Test HAVE_STDATOMIC
-- Performing Test HAVE_STDATOMIC - Success
-- Found WrapAtomic: TRUE
-- Found OpenGL: /usr/lib64/libOpenGL.so
-- Found WrapOpenGL: TRUE
-- Found WrapVulkanHeaders: /usr/include
-- Could NOT find Qt6LinguistTools (missing: Qt6LinguistTools_DIR)
CMake Error at CMakeLists.txt:7 (find_package):
  Found package configuration file:

    /usr/lib64/cmake/Qt6/Qt6Config.cmake

  but it set Qt6_FOUND to FALSE so package "Qt6" is considered to be NOT
  FOUND.  Reason given by package:

  Failed to find required Qt component "LinguistTools".

  Expected Config file at
  "/usr/lib64/cmake/Qt6LinguistTools/Qt6LinguistToolsConfig.cmake" does NOT
  exist



  Configuring with --debug-find-pkg=Qt6LinguistTools might reveal details why
  the package was not found.

  Configuring with -DQT_DEBUG_FIND_PACKAGE=ON will print the values of some
  of the path variables that find_package uses to try and find the package.



-- Configuring incomplete, errors occurred!

I'm trying to figure out what package is missing from the Fedora RPM. I thought qt6-linguist would be enough, but apparently not.

Just thought I'd mention it.

@Johnsoct
Copy link

I just went to install on my main laptop, which uses Fedora 43 (which installed perfectly fine on 42 on my second laptop), and am getting this error:

14:20:19 ~/dev/librepods/linux/build:main $ cmake ..
-- The CXX compiler identification is GNU 15.2.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Performing Test HAVE_STDATOMIC
-- Performing Test HAVE_STDATOMIC - Success
-- Found WrapAtomic: TRUE
-- Found OpenGL: /usr/lib64/libOpenGL.so
-- Found WrapOpenGL: TRUE
-- Found WrapVulkanHeaders: /usr/include
-- Could NOT find Qt6LinguistTools (missing: Qt6LinguistTools_DIR)
CMake Error at CMakeLists.txt:7 (find_package):
  Found package configuration file:

    /usr/lib64/cmake/Qt6/Qt6Config.cmake

  but it set Qt6_FOUND to FALSE so package "Qt6" is considered to be NOT
  FOUND.  Reason given by package:

  Failed to find required Qt component "LinguistTools".

  Expected Config file at
  "/usr/lib64/cmake/Qt6LinguistTools/Qt6LinguistToolsConfig.cmake" does NOT
  exist



  Configuring with --debug-find-pkg=Qt6LinguistTools might reveal details why
  the package was not found.

  Configuring with -DQT_DEBUG_FIND_PACKAGE=ON will print the values of some
  of the path variables that find_package uses to try and find the package.



-- Configuring incomplete, errors occurred!

I'm trying to figure out what package is missing from the Fedora RPM. I thought qt6-linguist would be enough, but apparently not.

Just thought I'd mention it.

I did also ensure I followed each step of the build requirements:

14:22:09 ~/dev/librepods/linux/build:main $  sudo dnf install qt6-qtbase-devel qt6-qtconnectivity-devel \
> qt6-qtmultimedia-devel qt6-qtdeclarative-devel
Updating and loading repositories:
Repositories loaded.
Package "qt6-qtbase-devel-6.10.1-2.fc43.x86_64" is already installed.
Package "qt6-qtconnectivity-devel-6.10.1-1.fc43.x86_64" is already installed.
Package "qt6-qtmultimedia-devel-6.10.1-1.fc43.x86_64" is already installed.
Package "qt6-qtdeclarative-devel-6.10.1-2.fc43.x86_64" is already installed.

Nothing to do.
14:23:22 ~/dev/librepods/linux/build:main $ sudo dnf install openssl-devel
Updating and loading repositories:
Repositories loaded.
Package "openssl-devel-1:3.5.4-1.fc43.x86_64" is already installed.

Nothing to do.
14:23:33 ~/dev/librepods/linux/build:main $ sudo dnf install pulseaudio-libs-devel
Updating and loading repositories:
Repositories loaded.
Package "pulseaudio-libs-devel-17.0-7.fc43.x86_64" is already installed.

Nothing to do.
14:23:39 ~/dev/librepods/linux/build:main $ sudo dnf install cmake
Updating and loading repositories:
Repositories loaded.
Package "cmake-3.31.6-4.fc43.x86_64" is already installed.

Nothing to do.
14:23:43 ~/dev/librepods/linux/build:main $

@doprz
Copy link

doprz commented Dec 13, 2025

This will only work for the qt6 version of librepods. There is currently a rewrite using Rust + iced (#241) which will changes some of these requirements.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants