Sources for libffts.a?
I was helping @utk4r-sh in preparing to package rpp for Debian, but I noticed that there is a prebuilt copy of libffts.a in the sources. While the FFTS license is open source compatible, the Debian project needs to be able to build all library components from source in order to ensure that they follow Debian guidelines and so that Debian can maintain the package for the life of the release (e.g., security updates, bug fixes, etc).
What were the original sources used to produce this static library? And, could you please provide build instructions for reproducing this binary?
@r-abishek can we provide the source for FFT or add as a submodule rebuild if source is available?
@kiritigowda @cgmb This is the lib used - https://github.com/anthonix/ffts.git
After cloning locally, the following should generate the libffts.a mkdir build cd build cmake -DCMAKE_POLICY_VERSION_MINIMUM=4.1.0 .. make
@cgmb how do you want to proceed with this?
@kiritigowda, thanks for the information. We're working around the lack of libffts for the moment by building with audio support disabled.
I'm not sure if Debian will package FFTS separately given that it appears to be unmaintained upstream and it doesn't appear to be widely used. Nevertheless, I don't think that's a blocker as we can probably vendor FFTS for the limited use of rpp without it being too much of a burden.
With that said, is there a reason to use FFTS instead of some other FFT library? I know there's at least a few others that are permissively licensed, such as kissfft or ooura.
I see that kissfft is widely available already on many distributions compared to FFTS's availability, although I know nothing about its API or performance. Ooura doesn't seem to be separately packaged by any distros, but seems to be vendored quite frequently (e.g., in Chromium).
Debian/Fedora are not blocked by this issue --- we have a reasonable workaround --- but I would ask that you look into how you might replace that prebuilt archive with a dependency on a package or with vendored source code.
Ooura doesn't seem to be separately packaged by any distros, but seems to be vendored quite frequently (e.g., in Chromium).
Two hours after I said this, it was no longer true. ooura was accepted into Debian as a separate package. I guess it's used as a dependency of TensorflowLite.
@cgmb we have a PR to add the source for FFT can you please take a look to see if this satisfies the requirement
PR - #619