sm00thslp / hedgewars

Automatically exported from code.google.com/p/hedgewars
GNU General Public License v2.0
0 stars 0 forks source link

Hedgewars requires libavcodec.so.53, but Ubuntu 14.04 only has libavcodec.so.54 #818

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Hedgewars requires libavcodec.so.53, but Ubuntu 14.04 only has 
libavcodec.so.54. The same goes for libavformat.so.54 (requires 53) and 
libavutil.so.52 (requires 51).

Steps to reproduce the problem:
1. Install Ubuntu 14.04 Trusty Tahr
2. Install Hedgewars 0.9.20.5-2, AMD64
3. Try to start the game (from command line to see error messages)

The game does not start. I get the error message:

hedgewars: error while loading shared libraries: libavcodec.so.53: cannot open 
shared object file: No such file or directory

I tried to create a symlinks using
ln -s libavcodec.so.54 libavcodec.so.53
ln -s libavformat.so.54 libavformat.so.53
ln -s libavutil.so.52 libavutil.so.51

But then I see error messages that the program requires certain variables to 
exist within the library. And I am not feeling so well messing up the source 
code myself...

Please make it work on Ubuntu 14.04! Thank you!

Original issue reported on code.google.com by djungbre...@gmail.com on 2 Sep 2014 at 4:16

GoogleCodeExporter commented 9 years ago
This is almost certainly an Ubuntu packaging bug, not a Hedgewars bug.
I'd recommend filing it against Ubuntu bugtracking.

I've pinged the Ubuntu packager in the interim though.

Original comment by kyberneticist@gmail.com on 2 Sep 2014 at 6:42

GoogleCodeExporter commented 9 years ago
This isn't a packaging bug.
Ubuntu has a debian-like rebuild system when a new library comes out.

I downloaded the trusty amd64 binary from here 
https://launchpad.net/ubuntu/+source/hedgewars/0.9.20.5-2/+build/5451084
and ldd hedgewars show correctly the libraries.
libavcodec.so.54 => /usr/lib/x86_64-linux-gnu/libavcodec.so.54 
(0x00007ff4b557a000)
libavformat.so.54 => /usr/lib/x86_64-linux-gnu/libavformat.so.54 
(0x00007ff4b5257000)

Moreover I use ubuntu trusty, I purged my hw, reinstalled it and ldd'ed the 
binary file.
sudo apt-get install hedgewars
[snip]
Do you want to continue? [Y/n] 
Get:1 http://archive.ubuntu.com/ubuntu/ trusty/universe hedgewars-data all 
0.9.20.5-2 [126 MB]
Get:2 http://archive.ubuntu.com/ubuntu/ trusty/universe hedgewars amd64 
0.9.20.5-2 [4.155 kB]
Fetched 130 MB in 51s (2.539 kB/s)                                             
[snip]
ldd /usr/games/hedgewars |grep av
    libavcodec.so.54 => /usr/lib/x86_64-linux-gnu/libavcodec.so.54 (0x00007f9281722000)
    libavformat.so.54 => /usr/lib/x86_64-linux-gnu/libavformat.so.54 (0x00007f92813ff000)
    libavutil.so.52 => /usr/lib/x86_64-linux-gnu/libavutil.so.52 (0x00007f92811da000)

so you are using a bad installation, did you play with libav libraries?

BTW ubuntu trusty NEVER had such old libav version
https://launchpad.net/ubuntu/+source/libav

Original comment by gianfran...@abinsula.com on 3 Sep 2014 at 8:46

GoogleCodeExporter commented 9 years ago
Thank you for your replies. I recently upgraded from Ubuntu 13.10 to 14.04. 
Maybe this is not the same as doing a fresh install?

I am not an export of those issues. All I can say is that I used the normal 
way: Going to the Ubuntu software center and installing Hedgewars, and it is 
not working.

ldd gives:

djung@ziltoid:~$ ldd /usr/local/bin/hedgewars | grep av
/usr/local/bin/hedgewars: /usr/lib/x86_64-linux-gnu/libavutil.so.51: version 
`LIBAVUTIL_51' not found (required by /usr/local/bin/hedgewars)
/usr/local/bin/hedgewars: /usr/lib/x86_64-linux-gnu/libavformat.so.53: version 
`LIBAVFORMAT_53' not found (required by /usr/local/bin/hedgewars)
    libavcodec.so.53 => not found
    libavformat.so.53 => /usr/lib/x86_64-linux-gnu/libavformat.so.53 (0x00007f72d07bd000)
    libavutil.so.51 => /usr/lib/x86_64-linux-gnu/libavutil.so.51 (0x00007f72d0598000)
    libavcodec.so.54 => /usr/lib/x86_64-linux-gnu/libavcodec.so.54 (0x00007f72ccc5a000)

Thanks for any help you can provide!

Original comment by djungbre...@gmail.com on 4 Sep 2014 at 11:28

GoogleCodeExporter commented 9 years ago
This appears to be specific to a single installation and probably resolvable by 
installing the correct version of libav which can probably be done by finding 
the package in synpatic and reinstalling it, hopefully.

Upgrading should work totally fine, but if you'd manually installed a libav 
.deb previously that was the wrong version that could have messed things up.  
Can't think what else would do it. Some PPA?

Anyway, I guess irc://irc.freenode.net/ubuntu  and Locutus here can help you 
out.  Feel free to use the bug for comments if you like, but I'm going to close 
it out.

Original comment by kyberneticist@gmail.com on 4 Sep 2014 at 3:04

GoogleCodeExporter commented 9 years ago
you can try to purge hedgewars and reinstall then, it can help maybe
sudo apt-get purge hedgewars && sudo apt-get install hedgewars

oh no man
djung@ziltoid:~$ ldd /usr/local/bin/hedgewars | grep av

NO PROGRAM from ubuntu install anything in "local", so you have a custom built 
hedgewars in local that is overriding the system (and good) one. Please delete 
it, and try again

Original comment by gianfran...@abinsula.com on 4 Sep 2014 at 3:25

GoogleCodeExporter commented 9 years ago
Hah. Missed that.  Yeah.  You are more than welcome to build your own 
Hedgewars, but then it is up to you to rebuild and maintain it when things 
change.

Our copy and paste instructions here:
https://code.google.com/p/hedgewars/wiki/BuildingOnLinux

Do not recommend installing system wide.  And in fact, don't even recommend 
adding to the path.  That helps avoid confusion like this.

But, currently, thanks to Locutus, really, Ubuntu tends to very rapidly update 
to latest stable after a release, so unless you are looking to help with dev, 
you're probably better off sticking to the Ubuntu release.

Original comment by kyberneticist@gmail.com on 4 Sep 2014 at 3:34

GoogleCodeExporter commented 9 years ago
And if you want to use the development releases you can always setup my 
automatic built ppa here
https://code.launchpad.net/~costamagnagianfranco/+archive/ubuntu/hedgewars-night
ly
so, seriously *no* need to custom build hw on debian/ubuntu :)

Original comment by gianfran...@abinsula.com on 5 Sep 2014 at 9:27

GoogleCodeExporter commented 9 years ago
Ah, indeed, I purged and deleted everything and reinstalled, then it worked. So 
it was due to my own stupidity, sorry for that.

I think I had to build hedgewars myself last year, because at that point there 
was no package yet and I wanted to play online...

Original comment by djungbre...@gmail.com on 8 Sep 2014 at 10:17

GoogleCodeExporter commented 9 years ago
Just to keep running this into the ground.  AFAIK the 0.9.20.x releases to 
Ubuntu by Locutus were very very prompt.
There might have been a modest review delay, and we did have some fixes that 
had to go out due to various platform issues, but if you check:
https://bugs.launchpad.net/ubuntu/+source/hedgewars/+bug/1264606

Can see that it was out and on the mirrors two weeks after release.

You can also use his PPA if you want things even faster than that.

But, yeah, if you do your own build, please do as the wiki suggests and just 
keep it under your $HOME unless you're pretty familiar w/ what you are doing 
and have a multi user system.  Is just easier to keep from mucking up system.

Original comment by kyberneticist@gmail.com on 8 Sep 2014 at 7:34

GoogleCodeExporter commented 9 years ago
Fortunately with the old version the game doesn't just "stop working", but you 
can only play with people using the same version, so I think a couple of weeks 
is not a big problem, moreover my ppa gets updated in a couple of days!
the next release hopefully (if I get onr RC before) won't have this problem 
anymore.

cheers,

G.

Original comment by costamag...@gmail.com on 9 Sep 2014 at 5:25