LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 08-02-2016, 08:46 PM   #1
perfection
Member
 
Registered: Nov 2015
Distribution: Slackware64-Current
Posts: 58

Rep: Reputation: Disabled
Question Hard Question! Error with dependencies `LIBAVCODEC_56'


MY PC: Slackware64-Current | Minimal custom installation

Trying to run the Software Clementine!

Problem: When install ffmpeg-3.1.1-x86_64-1alien.txz or ffmpeg-3.0.2-x86_64-1gv.txz

I create the necessary shortcuts:
libavcodec.so.56 > libavcodec.so.57.48.101
libavutil.so.54 > libavutil.so.55.28.100

Appear the errors below:
clementine: /usr/lib64/libavcodec.so.56: version `LIBAVCODEC_56' not found (required by /usr/lib64/libchromaprint.so.0)
clementine: /usr/lib64/libavutil.so.54: version `LIBAVUTIL_54' not found (required by /usr/lib64/libchromaprint.so.0)

OBS: Only works with ffmpeg-2.8-x86_64-1alien.txz
OBS 2: chromaprint-1.2-x86_64-5_slack.txz installed

What is going on? How can I use the latest versions?
 
Old 08-02-2016, 09:56 PM   #2
Richard Cranium
Senior Member
 
Registered: Apr 2009
Location: McKinney, Texas
Distribution: Slackware64 15.0
Posts: 3,858

Rep: Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225
Easy answer is to build it for yourself. You'd probably have to change your installation to full to preclude build errors. Don't forget to build the dependencies.

https://slackbuilds.org/repository/1...io/clementine/
 
Old 08-02-2016, 11:43 PM   #3
perfection
Member
 
Registered: Nov 2015
Distribution: Slackware64-Current
Posts: 58

Original Poster
Rep: Reputation: Disabled
Question

Quote:
Originally Posted by Richard Cranium View Post
Easy answer is to build it for yourself. You'd probably have to change your installation to full to preclude build errors. Don't forget to build the dependencies.

https://slackbuilds.org/repository/1...io/clementine/
I don't understand what you mean?
What would be missing dependence between these 2 Packages (ffmpeg-3.1.1-x86_64-1alien.txz X ffmpeg-2.8-x86_64-1alien.txz) being that they have the same files, only with different versions?

I would like to remind you that the Clementine WORKS with the Package ffmpeg-2.8-x86_64-1alien.txz
 
Old 08-03-2016, 12:20 AM   #4
Richard Cranium
Senior Member
 
Registered: Apr 2009
Location: McKinney, Texas
Distribution: Slackware64 15.0
Posts: 3,858

Rep: Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225
I meant that you won't be able to build the clementine package without having built the other packages that clementine needs first. Those other packages may require yet other packages to be built themselves.
 
Old 08-03-2016, 02:14 AM   #5
Alien Bob
Slackware Contributor
 
Registered: Sep 2005
Location: Eindhoven, The Netherlands
Distribution: Slackware
Posts: 8,559

Rep: Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106
Quote:
Originally Posted by perfection View Post
[b]I create the necessary shortcuts:
libavcodec.so.56 > libavcodec.so.57.48.101
libavutil.so.54 > libavutil.so.55.28.100

Appear the errors below:
clementine: /usr/lib64/libavcodec.so.56: version `LIBAVCODEC_56' not found (required by /usr/lib64/libchromaprint.so.0)
clementine: /usr/lib64/libavutil.so.54: version `LIBAVUTIL_54' not found (required by /usr/lib64/libchromaprint.so.0)
Creating those symlinks is not going to work with programs depending on ffmpeg...

Quote:

OBS: Only works with ffmpeg-2.8-x86_64-1alien.txz
OBS 2: chromaprint-1.2-x86_64-5_slack.txz installed
...as this comment shows.

Quote:

What is going on? How can I use the latest versions?
At a minimum you need to recompile chromaprint because its libraries complain about the wrong ffmpeg version. Perhaps you need to recompile Clementine as well but hopefully not.
 
1 members found this post helpful.
Old 08-03-2016, 02:23 AM   #6
perfection
Member
 
Registered: Nov 2015
Distribution: Slackware64-Current
Posts: 58

Original Poster
Rep: Reputation: Disabled
Question

Quote:
Originally Posted by Richard Cranium View Post
I meant that you won't be able to build the clementine package without having built the other packages that clementine needs first. Those other packages may require yet other packages to be built themselves.
Okay. But it would not be the case. I did not build anything. I'm using a Package ready (clementine-1.3.1-x86_64-1_slonly.txz) and another test installed directly Source (Clementine-1.3.1.tar.gz)

There are several already built here:
http://slakfinder.org/index.php?act=...&file=#results

I can not understand is why I can not update ffmpeg. What does this have to do with the installation of clementine? I think it is not indifferent?
 
Old 08-03-2016, 02:37 AM   #7
perfection
Member
 
Registered: Nov 2015
Distribution: Slackware64-Current
Posts: 58

Original Poster
Rep: Reputation: Disabled
Thumbs up

Quote:
Originally Posted by Alien Bob View Post
At a minimum you need to recompile chromaprint because its libraries complain about the wrong ffmpeg version. Perhaps you need to recompile Clementine as well but hopefully not.
I think it's really the problem because it points the libchromaprint. I will study it!
 
Old 08-03-2016, 03:13 AM   #8
Richard Cranium
Senior Member
 
Registered: Apr 2009
Location: McKinney, Texas
Distribution: Slackware64 15.0
Posts: 3,858

Rep: Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225
Quote:
Originally Posted by perfection View Post
Okay. But it would not be the case. I did not build anything. I'm using a Package ready (clementine-1.3.1-x86_64-1_slonly.txz) and another test installed directly Source (Clementine-1.3.1.tar.gz)

There are several already built here:
http://slakfinder.org/index.php?act=...&file=#results

I can not understand is why I can not update ffmpeg. What does this have to do with the installation of clementine? I think it is not indifferent?
My point is the amount of time that you have wasted trying to force incompatible libraries to act as if they were compatible is probably greater than the amount of time it would have taken to use slackbuilds to build everything that you need to install a working version of Clementine.
 
1 members found this post helpful.
Old 08-03-2016, 04:41 AM   #9
Alien Bob
Slackware Contributor
 
Registered: Sep 2005
Location: Eindhoven, The Netherlands
Distribution: Slackware
Posts: 8,559

Rep: Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106Reputation: 8106
Quote:
Originally Posted by perfection View Post
I can not understand is why I can not update ffmpeg. What does this have to do with the installation of clementine? I think it is not indifferent?
You need to stop using so much bold-face text and start learning about library versions and ABI incompatibilities.
This is nothing new. Why do you think in Slackware it is sometimes needed to recompile multiple packages when a single core library is updated? That is because of the way dynamic library linking works. Clementine uses libchromaprint, and libchromaprint uses libavcodec. If you change a lower-level library, the consequences of that will work their way up to the calling program - Clementine.

And only a recompilation will help to let libchromaprint know about the new library version of libavcodec and friends.

This issue (updating ffmpeg shared libraries breaks a lot of programs that link to them) is one of the high-ranking topics in discussion forums of Ubuntu-like distros. Ubuntu users show the same level of incomprehension you do in this thread... but they usually do not know how to recompile a package, whereas you should know how to fix the issue by recompiling one or more packages.

This is also the reason why Slackware puts statically compiled ffmpeg libraries inside some of its packages (xine, mplayer) to prevent this kind of breakage.
 
3 members found this post helpful.
Old 08-03-2016, 03:48 PM   #10
CTM
Member
 
Registered: Apr 2004
Distribution: Slackware
Posts: 308

Rep: Reputation: 287Reputation: 287Reputation: 287
Quote:
Originally Posted by perfection View Post
I don't understand what you mean?
What would be missing dependence between these 2 Packages (ffmpeg-3.1.1-x86_64-1alien.txz X ffmpeg-2.8-x86_64-1alien.txz) being that they have the same files, only with different versions?
It's not a file name problem, it's an ABI problem, and the fact that the version numbers are different makes all the difference. The first number after the library name is typically used to indicate the "major" revision number of that library's ABI. Different major revision numbers are usually ABI-incompatible: that's why you can (usually) symlink libwhatever.so.1.8 to libwhatever.so.1.10 so a program that was compiled against libwhatever 1.8 will work on your libwhatever 1.10 system without recompilation, but (usually) can't do the same to make a program work if it was compiled against libwhatever 0.2.

You'd be doing yourself a massive favour by removing those libav* symlinks now, before you forget and break a ton of other stuff further down the line.

Quote:
Originally Posted by perfection View Post
I would like to remind you that the Clementine WORKS with the Package ffmpeg-2.8-x86_64-1alien.txz
That's because the Chromaprint package you've installed was compiled against ffmpeg 2.8. The libraries provided by ffmpeg 3.0 and above have different ABIs to the libraries in ffmpeg 2.8, so newer versions won't work unless you recompile Chromaprint against the newer version of ffmpeg. You might be able to get away with simply recompiling the version of Chromaprint that's already installed, but the ffmpeg API was also changed substantially for 3.0, and you'll have to upgrade to a version of Chromaprint that's compatible with the ffmpeg 3.0 API if the version you're using now doesn't know how to use it. If you have to do this, Clementine will also break if Chromaprint's ABI has changed between the version you had installed and the version you upgrade to; in that case, you'll also need to recompile or upgrade Clementine.

tl;dr: either use a set of precompiled packages from the same source (hint: look at the tag, after the last hyphen and before the ".txz" in the file name), or compile everything yourself from the SlackBuilds. Until you know what you're doing, mixing and matching is a recipe for disaster. (If it makes you feel any better, repeatedly breaking and fixing things is the process by which you come to know what you're doing. )
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Dependencies Question. cod_liver_0il Slackware 10 07-29-2012 03:40 AM
Fedora 9: error when compiling flash plug-in with error failed dependencies seow_ming Fedora 2 06-17-2008 07:17 PM
Should it be this hard installing a software on Linux? dependencies and conflicts. kevintse Linux - Software 3 04-04-2008 03:10 AM
I recieve a failed dependencies error, but I have all required dependencies Laptop2250 Linux - Software 15 02-03-2004 07:58 PM
A little question about dependencies. Megamieuwsel Linux - General 1 02-02-2004 03:18 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 09:23 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration