linux - 加载共享库时出错 : libpoppler. so.58: 无法打开共享对象文件

标签 linux ubuntu path shared-libraries poppler

我按照说明编译并安装了poppler-0.39.0。默认情况下,头文件进入 \usr\local\include,lib 文件进入 \usr\local\lib。 pdftohtml 安装在 \usr\local\bin 中。

现在,当我尝试运行 pdftohtml 时,出现以下错误。

pdftohtml: error while loading shared libraries: libpoppler.so.58: cannot open shared object file: No such file or directory. 

尽管 libpoppler.so.58 存在于 \usr\local\lib 中。请帮助我。

最佳答案

我在 Ubuntu 18.04 上遇到了类似的问题。安装后出现此错误:

error while loading shared libraries: libpoppler.so.90: cannot open shared object file: No such file or directory

原来是安装到/usr/local/lib:

Install the project...
-- Install configuration: "RelWithDebInfo"
-- Installing: /usr/local/lib/libpoppler.so.90.0.0
-- Installing: /usr/local/lib/libpoppler.so.90
-- Installing: /usr/local/lib/libpoppler.so
-- Installing: /usr/local/lib/pkgconfig/poppler.pc
-- Installing: /usr/local/lib/pkgconfig/poppler-splash.pc
-- Installing: /usr/local/lib/pkgconfig/poppler-qt5.pc
-- Installing: /usr/local/lib/pkgconfig/poppler-glib.pc
-- Installing: /usr/local/lib/pkgconfig/poppler-cairo.pc
-- Installing: /usr/local/lib/pkgconfig/poppler-cpp.pc

但系统并没有看那里。

要检查 /usr/local/lib 是否在要搜索的默认目录中,您可以查看 /etc/ld.so.conf.d/libc.conf

如果还没有,你可以添加:/usr/local/lib

在我的例子中,情况已经如此:

# libc default configuration
/usr/local/lib

但是 /etc/ld.so.cache 的缓存没有更新。

为此运行(作为root/sudo):

ldconfig

帮我解决了这个问题。希望这可能对某人有所帮助!

关于linux - 加载共享库时出错 : libpoppler. so.58: 无法打开共享对象文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35152184/

相关文章:

c# - 如何将路径作为参数传递给 Process.Start

linux - 从字符串中删除一个字符

ruby - nginx配置有什么问题?

linux命令来搜索给定的文件夹

python - 为库指定不同的python版本//RobotFramework

ubuntu - 在 localhost 上配置 apache solr 搜索会出现错误 : HTTP ERROR 500

java - 在 cmd 中用空格启动 jar

c - 使用 ShellExecuteEx 永久设置路径变量

c++ - 使用Linux pread可以避免 “unavailability of data for reading written by a different thread”吗?

linux - Debian V4L2 复合视频 USB 捕获器