alexkay / spek

Acoustic spectrum analyser
http://spek.cc
GNU General Public License v3.0
2.5k stars 255 forks source link

Cannot install from tarball - dependency package 'libavformat' doesn't exist #297

Open lsahnicne opened 9 months ago

lsahnicne commented 9 months ago

./configure returns error:

configure: error: Package requirements (libavformat >= 59.27.100) were not met: No package 'libavformat' found

But it appears that package named 'libavormat' is no longer distributed. Instead, there are multiple others such as libavformat58, libavformat59, libavformat60, libavformat-dev etc.

Kilobyte3189 commented 8 months ago

I have the same problem, did you solve it?

fir3-1ce commented 7 months ago

I have this problem too on Ubuntu 22.04 - which is the current LTS release. Except I do have libavformat, it's just a slightly older version. I would prefer not to install libraries from future repos because it can break things in the future. Is there any way around this?

fir3-1ce commented 7 months ago

Alright I figured out how to install it but you have to use an old version. I installed 0.8.2. The first thing you have to do is make sure you have libavformat in the first place.

sudo apt install libavformat-dev

Then you want to clone this repository in the folder of your choice:

git clone https://github.com/alexkay/spek.git

Now since we can't install the latest version, you're going to want to checkout an older version of the software. So first:

cd spek

Then

git checkout ee8bc49

Now you have set the build for spek 0.8.2. Next you have to set up the build environment

./autogen.sh

Then compile the software:

make

Check if it works with

src/spek

You might get some warning about invalid icons. It seems to stop giving you this error when you actually install the program. So if everything else works, and if you want, you can install it to your system

sudo make install

And that should be it.

fir3-1ce commented 7 months ago

But it appears that package named 'libavormat' is no longer distributed

Whenever you are building software from source, the package with "dev" at the end is what you need. The dev stands for development. So you want libavformat-dev

lsahnicne commented 7 months ago

Whenever you are building software from source, the package with "dev" at the end is what you need. The dev stands for development. So you want libavformat-dev

Then why doesn't the error say "No package 'libavformat-dev' found"?

fir3-1ce commented 7 months ago

Whenever you are building software from source, the package with "dev" at the end is what you need. The dev stands for development. So you want libavformat-dev

Then why doesn't the error say "No package 'libavformat-dev' found"?

Because libavformat-dev has a version too. You have to use Synaptic or apt search to see it. It wants you to have version 59.27.100 or later, and you install the dev package to build with it. You might need both - the regular and the dev package, I'm not sure. I always just install both when I'm doing this kind of stuff

fir3-1ce commented 6 months ago

And that should be it.

And I spoke too soon. Spek crashes when loading a file 99% of the time for me, probably due to this error:

https://github.com/alexkay/spek/issues/111

So I'm out of luck for now, because I will not be installing Snap on my system