树莓派,libarmmem.so(无法打开共享对象文件)错误

17

我将我的树莓派用作文件服务器,最近当我登录时,看到一个错误提示信息,指出libarmmem.so(无法打开共享对象文件),尽管有些建议运行apt-get update + upgrade,但它并没有带来太多的乐趣,因为它会冻结进度并挂起。

除了重新刷卡(我想避免这种情况),还有什么建议吗?

从控制台输入“sudo apt-get update”后:

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri Feb 24 15:55:35 2017 from vpn.lshtm.ac.uk
ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
/usr/bin/xauth: error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory
ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
admin@ProxyPi:~$ sudo apt-get update
ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
0% [Working]ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
Hit http://archive.raspberrypi.org jessie InRelease
Hit http://mirrordirector.raspbian.org jessie InRelease
Hit http://archive.raspbian.org jessie InRelease
12% [Waiting for headers] [Waiting for headers]ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
Hit http://mirrordirector.raspbian.org jessie/main armhf Packages
Hit http://archive.raspbian.org jessie/main Sources
Hit http://archive.raspberrypi.org jessie/main armhf Packages
Hit http://mirrordirector.raspbian.org jessie/contrib armhf Packages
Hit http://archive.raspbian.org jessie/contrib Sources
Hit http://mirrordirector.raspbian.org jessie/non-free armhf Packages
Hit http://archive.raspbian.org jessie/non-free Sources
Hit http://archive.raspberrypi.org jessie/ui armhf Packages
Hit http://mirrordirector.raspbian.org jessie/rpi armhf Packages
Hit http://archive.raspbian.org jessie/rpi Sources
Ign http://mirrordirector.raspbian.org jessie/contrib Translation-en_GB
Ign http://archive.raspberrypi.org jessie/main Translation-en_GB
Ign http://mirrordirector.raspbian.org jessie/contrib Translation-en
Ign http://mirrordirector.raspbian.org jessie/main Translation-en_GB
Ign http://archive.raspberrypi.org jessie/main Translation-en
Ign http://mirrordirector.raspbian.org jessie/main Translation-en
Ign http://mirrordirector.raspbian.org jessie/non-free Translation-en_GB
Ign http://archive.raspberrypi.org jessie/ui Translation-en_GB
Ign http://mirrordirector.raspbian.org jessie/non-free Translation-en
Ign http://mirrordirector.raspbian.org jessie/rpi Translation-en_GB
Ign http://archive.raspberrypi.org jessie/ui Translation-en
Ign http://mirrordirector.raspbian.org jessie/rpi Translation-en
ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?

这里是建议使用libfix命令后的结果:

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri Feb 24 15:39:44 2017 from vpn.lshtm.ac.uk
ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
/usr/bin/xauth: error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory
ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
admin@ProxyPi:~$ sudo ldconfig -v
ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
/sbin/ldconfig.real: Path `/lib/arm-linux-gnueabihf' given more than once
/sbin/ldconfig.real: Path `/usr/lib/arm-linux-gnueabihf' given more than once
/opt/vc/lib:
        libmmal_core.so -> libmmal_core.so
        libmmal_components.so -> libmmal_components.so
        libopenmaxil.so -> libopenmaxil.so
        libmmal.so -> libmmal.so
        libWFC.so -> libWFC.so
        libEGL.so -> libEGL.so
        libvcsm.so -> libvcsm.so
        libmmal_util.so -> libmmal_util.so
        libvchiq_arm.so -> libvchiq_arm.so
        libdebug_sym.so -> libdebug_sym.so
        libGLESv2.so -> libGLESv2.so
        libbcm_host.so -> libbcm_host.so
        libOpenVG.so -> libOpenVG.so
        libmmal_vc_client.so -> libmmal_vc_client.so
        libvcos.so -> libvcos.so
        libcontainers.so -> libcontainers.so
/lib/arm-linux-gnueabihf:
        libm.so.6 -> libm-2.19.so
        librt.so.1 -> librt-2.19.so
        libpcre.so.3 -> libpcre.so.3.13.1
        libreadline.so.6 -> libreadline.so.6.3
        libnss_mdns4_minimal.so.2 -> libnss_mdns4_minimal.so.2
        libdbus-1.so.3 -> libdbus-1.so.3.8.13
        libnss_mdns_minimal.so.2 -> libnss_mdns_minimal.so.2
        libmemusage.so -> libmemusage.so
        libdevmapper-event.so.1.02.1 -> libdevmapper-event.so.1.02.1
        libpthread.so.0 -> libpthread-2.19.so
        libSegFault.so -> libSegFault.so
        libkmod.so.2 -> libkmod.so.2.2.8
        libiw.so.30 -> libiw.so.30
        libnss_nis.so.2 -> libnss_nis-2.19.so
        libthread_db.so.1 -> libthread_db-1.0.so
        libgpg-error.so.0 -> libgpg-error.so.0.13.0
        libpam.so.0 -> libpam.so.0.83.1
        libntfs-3g.so.852 -> libntfs-3g.so.852.0.0
        libcap.so.2 -> libcap.so.2.24
        libcryptsetup.so.4 -> libcryptsetup.so.4.6.0
        libcom_err.so.2 -> libcom_err.so.2.1
        libprocps.so.3 -> libprocps.so.3.0.0
        libhistory.so.6 -> libhistory.so.6.3
        libisccfg-export.so.90 -> libisccfg-export.so.90.1.0
        libudev.so.1 -> libudev.so.1.5.0
        libnl-3.so.200 -> libnl-3.so.200.19.0
        libdevmapper.so.1.02.1 -> libdevmapper.so.1.02.1
        libgcc_s.so.1 -> libgcc_s.so.1
        libusb-1.0.so.0 -> libusb-1.0.so.0.1.0
        libpam_misc.so.0 -> libpam_misc.so.0.82.0
        libfuse.so.2 -> libfuse.so.2.9.3
        libnss_mdns.so.2 -> libnss_mdns.so.2
        libncurses.so.5 -> libncurses.so.5.9
        libattr.so.1 -> libattr.so.1.1.0
        libresolv.so.2 -> libresolv-2.19.so
        libnss_compat.so.2 -> libnss_compat-2.19.so
        libcidn.so.1 -> libcidn-2.19.so
        libselinux.so.1 -> libselinux.so.1
        libgcrypt.so.20 -> libgcrypt.so.20.0.3
        libparted.so.2 -> libparted.so.2.0.1
        libirs-export.so.91 -> libirs-export.so.91.0.0
        libudev.so.0 -> libudev.so.0.13.0
        libpopt.so.0 -> libpopt.so.0.0.0
        libss.so.2 -> libss.so.2.0
        libsysfs.so.2 -> libsysfs.so.2.0.1
        libuuid.so.1 -> libuuid.so.1.3.0
        libncursesw.so.5 -> libncursesw.so.5.9
        liblzma.so.5 -> liblzma.so.5.0.0
        libmount.so.1 -> libmount.so.1.1.0
        libacl.so.1 -> libacl.so.1.1.0
        libnss_nisplus.so.2 -> libnss_nisplus-2.19.so
        libglib-2.0.so.0 -> libglib-2.0.so.0.4200.1
        libpng12.so.0 -> libpng12.so.0.50.0
        libnss_hesiod.so.2 -> libnss_hesiod-2.19.so
        libatasmart.so.4 -> libatasmart.so.4.0.5
        libbsd.so.0 -> libbsd.so.0.7.0
        libwrap.so.0 -> libwrap.so.0.7.6
        libpamc.so.0 -> libpamc.so.0.82.1
        libnss_mdns6_minimal.so.2 -> libnss_mdns6_minimal.so.2
        libsystemd.so.0 -> libsystemd.so.0.3.1
        libaio.so.1 -> libaio.so.1.0.1
        libslang.so.2 -> libslang.so.2.3.0
        libply.so.2 -> libply.so.2.1.0
        libnss_dns.so.2 -> libnss_dns-2.19.so
        liblzo2.so.2 -> liblzo2.so.2.0.0
        liblvm2app.so.2.2 -> liblvm2app.so.2.2
        libply-boot-client.so.2 -> libply-boot-client.so.2.1.0
        libe2p.so.2 -> libe2p.so.2.3
        libtinfo.so.5 -> libtinfo.so.5.9
        libanl.so.1 -> libanl-2.19.so
        libblkid.so.1 -> libblkid.so.1.1.0
        libc.so.6 -> libc-2.19.so
        libusb-0.1.so.4 -> libusb-0.1.so.4.4.4
        libnss_mdns6.so.2 -> libnss_mdns6.so.2
        libsmartcols.so.1 -> libsmartcols.so.1.1.0
        libcrypt.so.1 -> libcrypt-2.19.so
        libbz2.so.1.0 -> libbz2.so.1.0.4
        libexpat.so.1 -> libexpat.so.1.6.0
        libply-splash-core.so.2 -> libply-splash-core.so.2.1.0
        libnss_mdns4.so.2 -> libnss_mdns4.so.2
        libnl-genl-3.so.200 -> libnl-genl-3.so.200.19.0
        libz.so.1 -> libz.so.1.2.8
        libnsl.so.1 -> libnsl-2.19.so
        libtirpc.so.1 -> libtirpc.so.1.0.10
        libply-splash-graphics.so.2 -> libply-splash-graphics.so.2.1.0
/sbin/ldconfig.real: /lib/arm-linux-gnueabihf/ld-2.19.so is the dynamic linker, ignoring

        ld-linux-armhf.so.3 -> ld-2.19.so
        libBrokenLocale.so.1 -> libBrokenLocale-2.19.so
        libdns-export.so.100 -> libdns-export.so.100.2.2
        libaudit.so.1 -> libaudit.so.1.0.0
        libsepol.so.1 -> libsepol.so.1
        libjson-c.so.2 -> libjson-c.so.2.0.0
        libdl.so.2 -> libdl-2.19.so
        libutil.so.1 -> libutil-2.19.so
        libnfsidmap.so.0 -> libnfsidmap.so.0.3.0
        libpcprofile.so -> libpcprofile.so
        libnss_files.so.2 -> libnss_files-2.19.so
        libulockmgr.so.1 -> libulockmgr.so.1.0.1
        libkeyutils.so.1 -> libkeyutils.so.1.5
        libext2fs.so.2 -> libext2fs.so.2.4
        libisc-export.so.95 -> libisc-export.so.95.5.0
/usr/lib/arm-linux-gnueabihf:
/sbin/ldconfig.real: File /usr/lib/arm-linux-gnueabihf/libQtCLucene.so.4.8 is empty, not checked.
/sbin/ldconfig.real: /usr/lib/arm-linux-gnueabihf/libQtXmlPatterns.so.4.8 is not an ELF file - it has the wrong magic bytes at the start.

/sbin/ldconfig.real: /usr/lib/arm-linux-gnueabihf/libQtXmlPatterns.so.4 is not an ELF file - it has the wrong magic bytes at the start.

/sbin/ldconfig.real: File /usr/lib/arm-linux-gnueabihf/libQtCLucene.so.4.8.6 is empty, not checked.
/sbin/ldconfig.real: /usr/lib/arm-linux-gnueabihf/libQtNetwork.so.4.8 is not an ELF file - it has the wrong magic bytes at the start.

/sbin/ldconfig.real: File /usr/lib/arm-linux-gnueabihf/libQtCLucene.so.4 is empty, not checked.
/sbin/ldconfig.real: /usr/lib/arm-linux-gnueabihf/libQtXmlPatterns.so.4.8.6 is not an ELF file - it has the wrong magic bytes at the start.

1
你是否曾经为此问题找到解决方案?我现在也遇到了同样的问题,在我的全新Raspbian安装中没有多久。 - Joncom
2
嗨,其实不是很清楚,但我记得曾经为此苦战了几天,最终放弃并选择了全新安装——因为这样更加高效。之后再也没有遇到过同样的问题。 - Michael Sw
谢谢。最终我只是进行了全新安装。 - Joncom
3个回答

35

我遇到了来自snapd“snap”的同样错误。我进入了提到的预加载文件

sudo nano /etc/ld.so.preload

并从中注释掉有问题的行

/usr/lib/arm-linux-gnueabihf/libarmmem.so

改为

#/usr/lib/arm-linux-gnueabihf/libarmmem.so


1
这解决了我遇到的问题,我大概花了40分钟来解决,所以谢谢你! - Hercislife
这里是真正的MVP。 - JaredH

4

1. 获取您的平台信息

使用以下命令在 /proc/cpuinfo 中查看您的平台信息。

cat /proc/cpuinfo | grep 'model name';

在我的情况下(树莓派4),返回:
model name  : ARMv7 Processor rev 3 (v7l)
model name  : ARMv7 Processor rev 3 (v7l)
model name  : ARMv7 Processor rev 3 (v7l)
model name  : ARMv7 Processor rev 3 (v7l)

您可以使用以下命令查看ARM内存库的选项:

ls /usr/lib/arm-linux-gnueabihf/libarmmem*

在我的情况下,返回:

/usr/lib/arm-linux-gnueabihf/libarmmem-aarch64.so
/usr/lib/arm-linux-gnueabihf/libarmmem-v6l.so
/usr/lib/arm-linux-gnueabihf/libarmmem-v7l.so
/usr/lib/arm-linux-gnueabihf/libarmmem-v8l.so

根据/proc/cpuinfo的结果,我需要使用/usr/lib/arm-linux-gnueabihf/libarmmem-v7l.so,因为存在一个适用于我的平台的库:

CPU信息结果 列表结果
ARMv7处理器第3版 (v7l) /usr/lib/arm-linux-gnueabihf/libarmmem-v7l.so

2. 设置动态链接器

使用以下命令更改动态链接器的预加载:

sudo nano /etc/ld.so.preload

使用nano编辑器,替换
/usr/lib/arm-linux-gnueabihf/libarmmem.so

或者在我的情况下

/usr/lib/arm-linux-gnueabihf/libarmmem-${PLATAFORM}.so

by

/usr/lib/arm-linux-gnueabihf/libarmmem-v7l.so

或根据您的平台进行调整。

虽然这似乎是正确的答案,但对我起作用的唯一方法是在/etc/ld.so.preload中注释掉该行。 - vesperto
1
注释动态链接器并不能解决问题,但会禁用配置项,禁用后,ARM内存库也将被禁用。这可能会产生意外的环境,可能会对需要此资源的ELF应用程序造成问题。 - D. H. B. Marcos
@D.H.B.Marcos,你说的有道理,但是在一个打印与你相同信息的树莓派上,修复程序并没有起作用,即hello-world仍然会打印“ERROR: ld.so:object '/usr/lib/arm-linux-gnueabihf/libarmmem-v7l.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored”。 - eglasius
@eglasius,我已经发现故障在于"${PLATAFORM}"。Bash ou sh 应在运行 "/etc/ld.so.preload" 时解释和替换此变量。请尝试在 "/etc/environment" 或故障行之前设置环境变量。检查 "/usr/lib/arm-linux-gnueabihf/" 中库的路径和存在性。希望这能有所帮助。 - D. H. B. Marcos
对我来说,问题不在于PLATFORM变量,因为更改后仍然存在相同的问题。ld.so:无法预加载来自/etc/ld.so.preload的对象'/usr/lib/arm-linux-gnueabihf/libarmmem-v7l.so' - Kjeld Flarup

0

pi@raspberrypi:~ $ hello-world

错误:ld.so:无法预装/etc/ld.so.preload中的对象'/usr/lib/arm-linux-gnueabihf/libarmmem-v8l.so'(无法打开共享对象文件):忽略。 你好,世界!

只有注释掉带#符号的那行才有效,但我不知道它的影响。


你的回答可以通过提供更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心中找到有关如何编写良好答案的更多信息。 - Community

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