Emacs 25.1在lubuntu 16.04上由于缺少libpng而无法配置

8
我正在尝试在Lubuntu 16.04上安装Emacs 25.1,但遇到了一些问题。下载并解压tar包后,我进入emacs 25.1目录,然后运行以下命令: ./configure 配置时出现以下信息,导致无法继续进行:
configure: error: The following required libraries were not found:
    libpng
Maybe some development libraries/packages are missing?
If you don't want to link with them give
     --with-png=no
as options to configure

当我尝试运行sudo apt install libpng-dev时,出现了以下提示:Note, selecting 'libpng12-dev' instead of 'libpng-dev' libpng12-dev已经是最新的版本(1.2.54-1ubuntu1)。 0个升级,0个新安装,0个要删除,9个未升级。 我尝试使用下面的命令重新安装libpng12-dev,但并没有起到任何作用。
sudo apt-get install --reinstall libpng12-0=1.2.54-1ubuntu1

我卡在这里了,已经搜索了一段时间,但找不到任何实际有效的解决方案。


看起来你已经安装了正确(当前)的 libpng-dev 包。你可能需要通过 configure 日志进行调试,以查明 Emacs 为什么认为你没有 png 库。作为替代方案,考虑从此 PPA 下载 Ubuntu 的预构建 Emacs 25.1 版本。 - Dirk Eddelbuettel
我使用了你提供的PPA中预构建的Emacs。非常感谢,非常有帮助! - Aaron Crump
2个回答

7

我有同样的问题。在检查了config.log文件后,我发现是因为我已经安装了Anaconda3 python

当gcc编译emacs时,它使用了一些在Anaconda3目录中找到的libpng...。 所以我删除了相关的Anaconda3目录PATH中,一切都变得正确了。

错误版本:

configure:15301: result: -lz
configure:15407: checking for png
configure:15437: gcc -o conftest  -g3 -O2 -I/etc/anaconda3/include/libpng16       conftest.c -lpng16 -lz -lm -lX11   >&5 
/usr/bin/ld: cannot find -lpng16

正确的版本:

configure:15301: result: -lz
configure:15407: checking for png
configure:15437: gcc -o conftest  -g3 -O2 -I/usr/include/libpng12       conftest.c -lpng12 -lz -lm -lX11   >&5 
configure:15437: $? = 0
configure:15452: result: yes

希望你能有所帮助!

从我的.bashrc中删除(或注释掉)行export PATH=/vol/home/user/miniconda3/bin:$PATH解决了问题。但我必须启动一个新的终端,只调用$ . .bashrc是不起作用的。确保检查更改是否生效,例如通过检查which python指向conda文件夹(不好)还是系统默认值(好)。安装后只需将该行添加回去即可。 - m00am

1
解决方法是删除默认版本的libpng-dev(1.2),并显式安装版本1.6:sudo apt-get remove libpng-dev && sudo apt-get install libpng16-dev 依赖项的显式版本似乎没有在自述文件中记录。

但是如果删除libpng12-dev,将会删除gtk-3,我无法安装依赖于libpng-dev的gtk-3,因为它会显示依赖问题。 - Vikash Balasubramanian

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接