Closed Majoraslayer closed 4 months ago
For RPM based, only build from source.
I'm not really sure how to do that to be honest. I'm not really a software dev, but I did discover Cmake just spits out a bunch of errors when trying to run it on the downloaded and extracted source under Fedora. I take it the short answer is "learn to be a software developer, or just run the Snap package" lol. The application does work well once it's running, so thanks for your work on it!
To build from source, you need to install dependencies. I can't provide a list of dependencies for Fedora, but you can find analogs based on dependencies for Ubuntu. See https://github.com/iEvgeny/cctv-viewer/blob/master/debian/control
P.S. I don't have the ability to support multiple package systems right now, so yes, if you want to use something other than Snap and PPA, you'll have to do it yourself.
After poking around for a few days trying to install all the dependencies for Cmake, I'm stuck at this error when trying to run make:
libavutil/cpu.h: No such file or directory
I'm stumped, any chance you have suggestions? I have ffmpeg installed, and that's what Google seems to indicate it's related to. I can't figure out why this error is keeping me from compiling cctv-viewer though.
It looks like you still do not have some of the devel packages installed.
Try installing libavutil-free-devel
I ended up building using the Docker method documented here: https://gist.github.com/ItsNotGoodName/5181f8b25b63f0715b3d4117623090f3
As best I can tell, it's just completely incompatible with Fedora outside of a Snap package, I believe due to the way ffmpeg is handled natively by Fedora itself. By default, Fedora uses ffmpeg-free because proprietary codecs=killing puppies. Installing regular ffmpeg is possible with rpmfusion, but doesn't seem to install it in a way that CCTV-Viewer is able to find the libraries it needs. Trying to execute it results in:
./cctv-viewer: error while loading shared libraries: libavformat.so.59: cannot open shared object file: No such file or directory
which seems to be related to a codec included with ffmpeg. A Google search shows that some other apps have issues with this because libavformat may be installed in different places. I can't seem to find any references mentioning where it's kept on Fedora, and I'm not sure if the instructions I've found to specify the path would even work under Fedora.
Thanks for taking the time trying to help me fumble through this though!
Docker is conceptually different from Snap only in that the former is not designed to run GUI applications ;)
Docker is conceptually different from Snap only in that the former is not designed to run GUI applications ;)
True, but I wasn't trying to run the application in Docker. The linked instructions seem to work for compiling it, which seemed to solve my problem of tracking down the missing dependencies for make and cmake to do it natively.
It seems that Fedora uses other include paths for ffmpeg headers. Now I'll try to fix the build scripts.
I have made the necessary changes to the project code, please follow these steps:
sudo dnf groupinstall "Development Tools" "Development Libraries"
sudo dnf install git cmake libva-devel libavcodec-free-devel libavdevice-free-devel libavformat-free-devel libavutil-free-devel libswresample-free-devel libswscale-free-devel qt5-qtbase-devel qt5-qtdeclarative-devel qt5-qtmultimedia-devel qt5-linguist gtest-devel pkg-config
sudo dnf install qt5-qtquickcontrols qt5-qtquickcontrols2
git clone --recurse-submodules https://github.com/iEvgeny/cctv-viewer.git
cd cctv-viewer
cmake .
make -j$(nproc)
./cctv-viewer
This worked great, thanks a TON for taking the time to address my problem and putting together instructions to build it!
How do I install this on Fedora without resorting to the Snap store?