MegaGlest Forum
MegaGlest => Bug reports => Closed bug reports => Topic started by: GlestTest on 18 April 2014, 20:57:20
-
Kubuntu 14.04 only has libtasn1.so.6 in the repositories, afaik.
-
Nine words for a bug report? You can't be serious. :-(
Please do read the instructions at http://bugs.megaglest.org (http://bugs.megaglest.org) - your report on IRC was much more useful (but those handling the bug reports here won't get to read it).
-
So, a little bit more detail.
I am running Kubuntu 14.04 64-bit.
The Megaglest binary from http://megaglest.org/download.html "Version 3.9.1 for Linux x86_64" does not start. The Error message is:
./megaglest: error while loading shared libraries: libtasn1.so.3: cannot open shared object file: No such file or directory
Packages libtasn1-3-dev and libtasn1-6-dev are installed.
If I make a symlink from /usr/lib/x86_64-linux-gnu/libtasn1.so.3 --> /usr/lib/x86_64-linux-gnu/libtasn1.so, the game starts and seems to work normally.
As confirmed by the command:
apt-file search libtasn1.so.3
the required file is not in the repositories.
Repository files are:
/usr/lib/x86_64-linux-gnu/libtasn1.so.6
/usr/lib/x86_64-linux-gnu/libtasn1.so.6.2.0
/usr/lib/x86_64-linux-gnu/libtasn1.so
-
Thanks for providing these details. I see the same on Ubuntu 12.04 now, though I used the strt_megaglest script to start the game (same issue and same workaround, though).
It does seem to work fine this way - I played a couple games today without any issues. So we may really just need an updated start_megaglest script to place the symlink in lib/
-
Some informations about availability in the debian:
libtasn1-3 | 2.7-1+squeeze+1 | squeeze-security
libtasn1-3 | 2.7-1+squeeze+1 | squeeze
libtasn1-3 | 2.13-2 | wheezy
libtasn1-6 | 3.4-2~bpo70+1 | wheezy-backports
libtasn1-6 | 3.4-3 | jessie
libtasn1-6 | 3.4-3 | sid
That means that libtasn1-3 is obsolete and script should create symlink:
/usr/lib/.../libtasn1.so.6 -> libtasn1.so
-
To fix this in x/k/ubuntu 14.04
In terminal do this
For 64 bit
sudo apt-get install libtasn1-3-bin
ln -s /usr/lib/x86_64-linux-gnu/libtasn1.so /usr/lib/x86_64-linux-gnu/libtasn1.so.3
For 32 bit should be similar but without _64 but I'm not sure.
Edit: See below this post
-
Thank you very much for documenting a possible fix, Alket.
I think one should not need to place a symbolic link in the global file system hierarchy nor install the -dev package (which provides the symlink target), though. Here's how you achieve the same by just local modifications for x86_64 and i686 (i386) platforms:
cd ~/megaglest/lib && \
rm -f libtasn1.so* && \
case `uname -i` in i686) ln -s /usr/lib/i386-linux-gnu/libtasn1.so.6 libtasn1.so.3;; x86_64) ln -s /usr/lib/x86_64-linux-gnu/libtasn1.so.6 libtasn1.so.3;; *) echo 'Error: unknown architecture' >&2 && exit 1;; esac
Neither fix is ideal in that we (sym)link to a library of a different version, which may be incompatible. Maybe we need to include this library in future releases.
-
...which may be incompatible. Maybe we need to include this library in future releases.
In my opinion in this case including library in the game's binary isn't the best idea for several reasons where the most important is that the library in the new version is recently available in every linux distribution and as upstream since november 2012.
Of course somewhere something may be incompatible but that's only a reason for start use new version in the develop branch and then eliminate incompatibilities in the code if any exists which is not very likely, in view of a decisive moment in the changelog:
...
2012-11-01 - Andreas Metzler <ametzler(at)debian.org> libtasn1-6 (3.0-1) experimental; urgency=low
* New upstream version, soname bumped. Change source and binary package names (libtasn1-3* to libtasn1-6* except for libtasn1-3-bin which is renamed to libtasn1-bin).
2012-09-27 - Andreas Metzler <ametzler(at)debian.org> libtasn1-3 (2.14-2) experimental; urgency=low
* Fix typo in shlibs version
...
Where additionally megaglest doesn't use libtasn1*-bin.
For me it looks like a little like typical ailment of renumbering without very apparent reason and in conflict with rules of semantic numbering.
-
I think so far we've often used Debian stable as "the oldest stuff we need to support". And Debian Wheezy (stable) has support for libtasn1-6 via backports (which have security support these days). So I guess we could switch to ...-6 indeed.
https://packages.debian.org/search?keywords=libtasn1-6&exact=1 (https://packages.debian.org/search?keywords=libtasn1)
-
This is fixed in git now ( https://github.com/MegaGlest/megaglest-source/commit/626775664679f09b96de58957c4ddbe95c79459b )
-
Thanks you!