When you run a program that uses Gurobi on some SELinux systems, you may run into the following error message:
error while loading shared libraries: libgurobi100.so:
cannot restore segment prot after reloc: Permission denied
The simplest workaround is to set
alloc_execmodon your system (as root):
> setsebool -P allow_execmod on
onsetting is the default on most SELinux systems, but it may be off in some cases. Note that this is a system-wide setting, so you should consult your system administrator before making this change.
A more local workaround is to modify the security context for the Gurobi shared library:
> chcon -t textrel_shlib_t libgurobi100.so
You can also use the
semanagecommand to set SELinux policy for this library.
Please consult the SELinux documentation for more information on these commands.