3

I recently got a problem involving /usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so: VLC was crashing when calling this library (which overrides memory related functions from libc6), and removing the reference to this library from /etc/ld.so.preload fixed the problem.

I thought I might have the wrong version of the library, or perhaps a damaged file, so I tried to reinstall it. To my surprise, apt-file search libarmmem returned nothing. I didn't find this library in http://raspbian.raspberrypi.org/raspbian/pool/main/liba/ or http://archive.raspbian.org/raspbian/pool/main/liba/ either.

Does anybody know where this library come from, what functionality does it bring to the table, and how to reinstall it if need be?

3
  • 1
    I think it's something to do with snapd - based purely on searching for libarmmem-${PLATFORM}.so on the interwebs
    – Bravo
    Dec 26, 2021 at 1:04
  • 1
    Not sure WHY it is there, but the library is unchanged since original Buster release.
    – Milliways
    Dec 26, 2021 at 1:26
  • @Bravo Now that you say this, I do remember installing snap a while ago. I removed it since though. Dec 26, 2021 at 11:50

1 Answer 1

1

I thought I might have the wrong version of the library, or perhaps a damaged file, so I tried to reinstall it. To my surprise, apt-file search libarmmem returned nothing.

Please try the following on a machine with it installed:

openhd@openhd-airpi:~$ dpkg -S libarmmem
raspi-copies-and-fills: /usr/lib/arm-linux-gnueabihf/libarmmem-v6l.so
raspi-copies-and-fills: /usr/lib/arm-linux-gnueabihf/libarmmem-aarch64.so
raspi-copies-and-fills: /usr/lib/arm-linux-gnueabihf/libarmmem-v7l.so
raspi-copies-and-fills: /usr/lib/arm-linux-gnueabihf/libarmmem-v8l.so
openhd@openhd-airpi:~$ 

what functionality does it bring to the table

It provides things like memcpy and memset tuned for the Arm cores used in Raspberry Pis. Personally, I feel like this was more important with older Pis and maybe a little less so today. From the 2012 version: "Speeds of up to 1390 MB/s have been achieved. This is ~7x faster than the libc version."

Does anybody know where this library come from,

It used to be on github, but I cannot find it anymore.

how to reinstall it if need be?

You can remove or install this package: https://archive.raspberrypi.org/debian/pool/main/r/raspi-copies-and-fills/

I recently got a problem involving /usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so: VLC was crashing when calling this library (which overrides memory related functions from libc6), and removing the reference to this library from /etc/ld.so.preload fixed the problem.

There was a bug a couple years ago, it was fixed. Do you still have the crash on newer versions?

2
  • 1
    Thanks. I must say I can't possibly understand the motivation to name that package raspi-copies-and-fills instead of libarmmem. They might as well have named it find-me-i-dare-you or something similar. Jul 18, 2023 at 12:42
  • Based on apt show raspi-copies-and-fills, its upstream source is at github.com/bavison/arm-mem.
    – Ari
    Apr 21 at 18:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.