加载共享库时出错:libpng12.so.0

加载共享库时出错:libpng12.so.0

我正在尝试安装 FreeSurfer:ftp://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/6.0.0/freesurfer-Linux-centos6_x86_64-stable-pub-v6.0.0.tar.gz

我按照以下步骤安装 FreeSurfer:https://surfer.nmr.mgh.harvard.edu/fswiki/DownloadAndInstall

当我运行以下命令时:

freeview -v \
    bert/mri/T1.mgz \
    bert/mri/wm.mgz \
    bert/mri/brainmask.mgz \
    bert/mri/aseg.mgz:colormap=lut:opacity=0.2 \
    -f \
    bert/surf/lh.white:edgecolor=blue \
    bert/surf/lh.pial:edgecolor=red \
    bert/surf/rh.white:edgecolor=blue \
    bert/surf/rh.pial:edgecolor=red

我收到此错误:

freeview.bin: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory

当我尝试安装此包时:

sudo apt-get install libpng12.so.0

我收到此错误:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package libpng12.0-0:i386
E: Couldn't find any package by glob 'libpng12.0-0'
E: Couldn't find any package by regex 'libpng12.0-0'

我对 Linux 完全陌生,请帮忙!

答案1

你可以

安装提供的 .deb 文件

https://packages.ubuntu.com/xenial/amd64/libpng12-0/download

http://security.ubuntu.com/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.54-1ubuntu1.1_amd64.deb

sudo dpkg -i ./libpng12-0_1.2.54-1ubuntu1.1_amd64.deb

或编译并安装:

下载源代码 https://packages.ubuntu.com/xenial/libpng12-0

wget http://archive.ubuntu.com/ubuntu/pool/main/libp/libpng/libpng_1.2.54.orig.tar.xz

tar xvf  libpng_1.2.54.orig.tar.xz 

cd libpng-1.2.54
./autogen.sh
./configure
make -j8 
sudo make install

然后更新链接:

sudo ldconfig

在进行任何这些操作之前,请确保您的机器已经安装了这些初步软件包......这是任何开发套件的基线

sudo apt-get update
sudo apt-get upgrade 
sudo apt-get install libtool autoconf build-essential pkg-config automake tcsh

好消息是 Ubuntu 20.04 上的 freesurfer 7 开箱即用

答案2

您尝试运行的软件需要 libpng 版本 12,而该版本在 Ubuntu 16.10+ 中不再可用。最好的办法是安装 Ubuntu 16.04,或者让软件开发人员知道这个问题,以便他们可以提供与 Ubuntu 16.10 兼容的版本。

答案3

我尝试在 Ubuntu 20.04 上遵循其他建议(尤其是 Scott Stensland 的建议),但失败了,输出如下:

user@machine:~$ sudo dpkg -i libpng12-0_1.2.54-1ubuntu1.1_amd64.deb
Selecting previously unselected package libpng12-0:amd64.
(Reading database ... 69136 files and directories currently installed.)
Preparing to unpack libpng12-0_1.2.54-1ubuntu1.1_amd64.deb ...
Unpacking libpng12-0:amd64 (1.2.54-1ubuntu1.1) ...
dpkg: error processing archive libpng12-0_1.2.54-1ubuntu1.1_amd64.deb (--install):
 unable to install new version of '/lib/x86_64-linux-gnu/libpng12.so.0': No such file or directory
Processing triggers for libc-bin (2.31-0ubuntu9) ...
Errors were encountered while processing:
 libpng12-0_1.2.54-1ubuntu1.1_amd64.deb

Linux 起义,以前的答案在 Ubuntu 19/20 上不起作用,因为/lib现在是 的符号链接/usr/lib,并且由于libpng12-0安装尝试从 链接/lib/x86_64-linux-gnu/libpng12.so.0/usr/lib,因此安装将失败。

他们提供了以下修复,其中包括重新打包的 DEB。关于信任非官方来源代码的标准警告,以下将使 libpng12 能够在 Ubuntu 20 上运行。

sudo add-apt-repository ppa:linuxuprising/libpng12
sudo apt update
sudo apt install libpng12-0

答案4

相关内容