linux - libQt5Core.so.5 在 docker fedora :29 中格式错误

标签 linux qt docker

我目前在 Docker 中使用 Fedora 29 来生成一些 RPM。主机在 Ubuntu 16.04 (LTS) 下,docker 使用 --privileged 标志启动。

自从管道中断 2/3 周以来,/usr/lib64/qt5/bin/lrelease 和来自 qt5-linguist 的其他二进制文件无法找到 libQt5Core.so.5 即使共享对象在这里。但最奇怪的来了:

[root@28ffba3f3995 /]# ldd /usr/lib64/qt5/bin/lrelease-qt5
    linux-vdso.so.1 (0x00007ffce5b5d000)
    libQt5Xml.so.5 => /lib64/libQt5Xml.so.5 (0x00007fbb0ac01000)
    libQt5Core.so.5 => not found
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fbb0abe0000)
    libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fbb0aa48000)
    libm.so.6 => /lib64/libm.so.6 (0x00007fbb0a8c4000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fbb0a8a9000)
    libc.so.6 => /lib64/libc.so.6 (0x00007fbb0a6e1000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fbb0acc9000)
    libQt5Core.so.5 => not found
[root@28ffba3f3995 /]# ls -la /lib64/libQt5Core.so.5
lrwxrwxrwx 1 root root 20 Dec 21 20:08 /lib64/libQt5Core.so.5 -> libQt5Core.so.5.11.3
[root@28ffba3f3995 /]# ls -la /lib64/libQt5Xml.so.5
lrwxrwxrwx 1 root root 20 Dec 21 20:08 /lib64/libQt5Xml.so.5 -> libQt5Xml.so.5.11.3
[root@28ffba3f3995 /]# file /lib64/libQt5Core.so.5
/lib64/libQt5Core.so.5: symbolic link to libQt5Core.so.5.11.3
[root@28ffba3f3995 /]# file /lib64/libQt5Xml.so.5
/lib64/libQt5Xml.so.5: symbolic link to libQt5Xml.so.5.11.3
[root@28ffba3f3995 /]# LD_TRACE_LOADED_OBJECT=1 /lib64/ld-linux-x86-64.so.2 /lib64/libQt5Core.so.5
This is the QtCore library version Qt 5.11.3 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 8.2.1 20181215 (Red Hat 8.2.1-6))
Copyright (C) 2016 The Qt Company Ltd.
Contact: http://www.qt.io/licensing/

Installation prefix: /usr
Library path:        lib64
Include path:        include/qt5
Processor features:  sse3 sse2[required] ssse3 fma cmpxchg16b sse4.1 sse4.2 movbe popcnt aes avx f16c rdrand bmi hle avx2 bmi2 rtm rdseed

再一次:

# In strace lrelease I see:
openat(AT_FDCWD, "/lib64/libQt5Core.so.5", O_RDONLY|O_CLOEXEC) = 3

文件已读取!

ldconfig 也什么都不做。

最佳答案

尝试以下操作:

strip -R .note.ABI-tag /lib64/libQt5Core.so.5.11.3

关于linux - libQt5Core.so.5 在 docker fedora :29 中格式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54330050/

相关文章:

java - 使 Oracle JDK 在 Ubuntu 或 GNU/Linux 操作系统中自动更新

c - Ncurses 在后台停止进程

python - 在 os.remove 之后使用 QImage img.save 重新创建文件不会更新创建日期

Docker 使用 docker NGINX 解析服务 NGINX

linux - 如何将 "find"与 "grep"结合用于文件内部的特定信息并包含找到信息的文件名?

如果其他字符串出现在 'n' 行之前,linux 替换字符串

c++ - 使用visual studio构建qt项目

c++ - 俄语(或非拉丁语)文件名加载 Qt Windows

ip - 给 docker 容器一个可路由的 ip 地址

java - 如何使用 IntelliJ 调试在 Docker 中运行的应用程序?