Why does squishrunner fail to start with the error cannot restore segment prot after reloc: Permission denied?

Due to the usage of third-party code and imperfect compilers, Squish contains libraries with so called "text relocations". By themselves these are harmless but a "hardened" Linux distribution with SELinux (Security Enhanced Linux) installed may nevertheless disallow such a property.

We are still investigating this problem, but meanwhile one workaround is to change the SELinux policy from enforcing to permissive—on most modern systems this can be done via a GUI configuration tool, or it can be done by manually editing the /etc/selinux/config file, and changing the SELINUX=enforcing entry to SELINUX=permissive. Whichever way the change is made, the system must be rebooted for the change to take effect.

A more fine-grained solution is also possible using the chcon tool. This allows for the setting of the security context for individuals files. Here is a command that a customer gave us that should make things work:

find /path/to/squish -type f -name "*.so" | xargs chcon -t textrel_shlib_t