-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build issue #206
Comments
Nice! The cmake command looks fine. I checked it on my system and it works. Most likely, the problem lies in a missing dependency that was not checked at the configuration stage (aka cmake stage). The root cause is printed somewhere above the lines you pasted. It is definitely not a problem with pcre2. Can you try also with |
Just attempted with You are probably right in regards to missing dependency. I've been attempting to match up requirements with the arch PKGBUILD, but probably missed something. This is a build machine, so excessive amount of dependencies and devel packages are already installed. Also tried I'm not sure which Makefile the line number is coming from (dammit, make). If it was the one at the root of build, annotated below: # The main all target
all: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start $HOME/rpmbuild/BUILD/dsnote-20250121/redhat-linux-build/CMakeFiles $HOME/rpmbuild/BUILD/dsnote-20250121/redhat-linux-build//CMakeFiles/progress.marks
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all # <<< failing line (139)
$(CMAKE_COMMAND) -E cmake_progress_start $HOME/rpmbuild/BUILD/dsnote-20250121/redhat-linux-build/CMakeFiles 0
|
Rather, it is a problem in the cmake script. All dependencies should be verified during the "cmake" step, but not in "make", so it's a bug on my side. Can you share entire output from cmake and make run? |
Aha, yes, definitely a cmake dependency check missing. Log attached; it's the output of rpmbuild. Any rpmbuild lines are prefixed with |
I honestly don't know what went wrong. This log of multi-threaded build is very difficult to read. Can you try with only one thread by adding I suspect this may be the cause (but I am most likely wrong):
What is the result with |
Flag is now Tried installing
Digging more, I flipped on
Setting it to |
Thanks for checking. When using So output of
|
This is the contents of
Looks like it's saying to add an |
I don't know what is wrong :/ I compared with the your system:
my:
It looks like you are adding the following additional flags: |
I believe these are default hardening for redhat distributions.
Which I believe may be adding the -pie flag if not building a shared/static library.
I think |
Also, being no fan of autotools, I would suggest integrating as much as possible with the cmake build system of this project. For example, for rnnoise, see this CMakeLists.txt While I can imagine it can't be done for every dependency, I can see it being reasonable for small libraries — reducing the dependency on autotools insanity. |
Sounds like something I can do. This project already has plenty of patches, so one more won't make a difference.
I tried to inject all the flags from your compilation and was not able to reproduce the error. Do you know how, in a not-too-painful way, I could reproduce exactly the environment and toolchain that are used in your build? |
I just tested this: Prerequisites:
Reproduction steps:
Spec file attached. It's incomplete; missing lines for runtime "Requires" (as I haven't gotten to that point yet), and there is probably some I've currently uncommented the Hope its not too painful. 🙂 |
This is a very cool manual :) You explained everything perfectly. I'll try it out over the weekend and let you know the results. |
I managed to reproduce the problem (thanks to your amazing guidelines). As you suggested, the problem lies in The only way I've found that doesn't require changes to the upstream code is to patch dsnote. new file rpmbuild/SOURCES/dsnote.patch
modifications in rpmbuild/SPECS/dsnote.spec @@ -6,6 +6,7 @@
License: MPL-2.0
URL: https://github.com/mkiol/dsnote
Source0: https://github.com/mkiol/dsnote/archive/refs/tags/dsnote-%{version}.tar.gz
+Patch0: dsnote.patch
BuildRequires: autoconf
BuildRequires: automake
@@ -39,7 +40,7 @@
Linux desktop and Sailfish OS app for note taking, reading and translating with offline Speech to Text, Text to Speech and Machine Translation
%prep
-%autosetup
+%autosetup -p1
%build rnnoise compiled successfully, but I encountered another problem:
An additional but minor problem: whisper.cpp was not detecting openblas:
Also this:
For some reason, rpmbuilder does not like rpath in shared libraries. The rpath is set to |
Excellent Work!
Let's see, we have
It's a Red Hat/Fedora policy. Sometimes a foolish one, especially for apps that want to control their libraries... I believe one intent was to enforce shared library usage. I don't often agree, as creates more work... With that, we're going to package this with all libraries included and rpath checks mostly disabled, and we'll use whatever system provided libraries we can; as we often do... If it works, it works. 🙂
Currently using Wayland/KDE (on the same distro/version) — works dandy — so X11 is on the chopping block here. Ideally it would be functional, but probably not as critical. |
It was actually something else. Cmake didn't try to find libopenblas in /usr/lib64. Only the following directories were considered:
Fixed by adding There was also a problem in
For some reason this didn't work on my system. To workaround I used Last not resolved error is this one:
I guess dsnote should also install the license file? Can this also be skipped? Current patch: rpmbuild/SOURCES/dsnote.patch:
I am one step ahead of successful build :) |
Truly Excellent!
Yes. There's a Once E.g.
P.S. You may add a |
Hello, I just wanted to give an update on the progress. I haven't had much time to play with it, but I finally managed to build the package :) It can be installed and works fine, but only under KDE. There is a problem on GNOME - the UI is completely unreadable. I'm trying to find where the problem is. I'll upload a working spec file when it's ready to this git repo. |
One last thing, so the rpm can be mostly portable between rpm based distributions: Replace some of the literal paths/prefixes in the build file (including the e.g. They are macros because some distros change these up (and they may be changed in the future). (I usually leave this step last as a simple multi-search/replace transform when composing spec files.) I'll give it my own run down and report as necessary. Thank You for making this good. Great work @mkiol! |
Hi!
I wanted to try to build this (in the form of an rpm package).
It stops during a cmake build, right after the pcre2 target.
I think it might have to do with pybind11... I tried using the system provided pybind11, but it couldn't find that for some reason (maybe that is best as a separate issue).
Keep getting an error I can't seem to get any debug on, or get past.
Tried the latest release (4.7.1) and the latest checkout (as of 20250121).
Wondering if you have any clues.
The error follows:
(
$HOME
is my home)Using the following to setup cmake:
The text was updated successfully, but these errors were encountered: