When I run a command through strace utility I can see access errors such as

access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)

Now I've read somewhere that what's happening on the above line is that a linker is looking for optimized version of the command that I'm running but can't find it.

How do I solve this problem ? What package do I need to install so that I can have that ld.so.nohwcap file on the system ? Even if not for optimization purposes but just to get rid of these errors in strace ?


1 Answer 1


You probably don’t want to “solve” this problem; according to the Debian glibc manpage for ld.so,

/etc/ld.so.nohwcap When this file is present the dynamic linker will load the non-optimized version of a library, even if the CPU supports the optimized version.

It’s not installed by a package, it can be created by the system administrator to disable loading optimised libraries.

Note that this is Debian-specific: the feature is implemented by a patch in the Debian glibc package, and isn’t available in upstream glibc. The feature’s documentation disappeared from the ld.so manpage when the latter was moved from glibc to the man-pages project.

  • 1
    Why would you want to load a non-optimized version of a library though ? Mar 23, 2017 at 12:00
  • 2
    The Debian patch explains why this is useful: Debian supports in-place glibc upgrades, and disabling hwcap libraries makes this easier for some reason I haven't figured out (perhaps to avoid having mis-matched versions of libraries being used). Mar 23, 2017 at 12:16

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