如何解决Trusty(14.04)中缺少的libmng.so.1包已不再可用

我想运行SoulseekQT 。 然而不幸的是,其中一个依赖项是libmng1,它不再包含在Trusty中。 sudo apt-get install libmng.so.1或libmng1或libmng1:i386在Trusty(14.04)中不再可用。 你知道如何解决这个冲突吗?
我的意思是它确实排除了libmng1吗? 我可以用某种方式使用libmng2吗? 如果没有,我可以以某种方式为Trusty重建libmng1吗? 或者我是否必须降级回Saucy(13.10)?

当库的主版本号发生更改时,通常意味着库不再与它提供的先前接口兼容。 以前版本的Ubuntu都有libmng1,但是现在提供了libmng2,并且已经重建了14.04中的所有Ubuntu软件包以使用libmng.so.2。 在这种情况下,可能需要重建第三方应用程序以在14.04中使用更新的库。 在此之前,您可以尝试从最新的具有libmng1的Ubuntu版本安装库包。

要在libmng2旁边安装libmng1,首先要从http://packages.ubuntu.com/libmng1中找到受支持的Ubuntu版本中的最新版本。 然后下载并安装适合您的体系结构的软件包。 例如:

 wget http://archive.ubuntu.com/ubuntu/pool/main/libm/libmng/libmng1_1.0.10-3build1_i386.deb sudo dpkg -i libmng1_1.0.10-3build1_i386.deb 

请注意,您不会获得此软件包的更新,因为它不在Ubuntu 14.04存储库中。

当然,一个更好的解决方案是让应用程序开发人员提供一个新版本的SoulseekQt,它现在可以与Ubuntu 14.04一起发布。

我尝试了几种解决方案,但对我有用的是将它链接到Ubuntu中的现有库。 首先找到图书馆:

 $ locate libmng.so.2 /usr/lib/x86_64-linux-gnu/libmng.so.2 /usr/lib/x86_64-linux-gnu/libmng.so.2.0.2 

然后建立一个符号链接:

 $ ln -s /usr/lib/x86_64-linux-gnu/libmng.so.2 /usr/lib/x86_64-linux-gnu/libmng.so.1 

祝好运!

从源代码安装

 sudo apt-get install liblcms1-dev wget http://prdownloads.sourceforge.net/libmng/lm010010.zip unzip lm010010.zip cd libmng # MANUAL: edit `makefiles/makefile.linux` to add `-fPIC` to `CFLAGS` make -f makefiles/makefile.linux sudo make -f makefiles/makefile.linux install # MANUAL: add /usr/local/lib to your search path: http://unix.stackexchange.com/questions/67781/use-shared-libraries-in-usr-local-lib 

在Ubuntu 14.04上测试过。

在阅读mtmiller的解释后,我尝试了他的代码,但我遇到了一个依赖性问题。 因此,如http://packages.ubuntu.com/saucy/i386/libmng1/download所示,我没有手动下载所请求的文件并进行安装,而是添加了法语镜像存储库“deb http://fr.archive在Synaptic中.ubuntu.com / ubuntu saucy main“然后我从Synaptic安装了libmng1软件包。

好! 我也有问题。 但

sudo ln -s /usr/lib/x86_64-linux-gnu/libmng.so.2 /usr/lib/x86_64-linux-gnu/libmng.so.1

对我来说是一个解决者,谢谢你佩剑。 我认为ubuntu 16.04与webot 7.4.1不兼容