linux: add build requirement to Linux instructions
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.
📝 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.
Comment @coderabbitai help to get the list of available commands and usage tips.
I found the same issue and needed to obtain the referenced dependency.
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 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-linguistwould 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 $
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.