SELinux

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_execmod on your system (as root):

> setsebool -P allow_execmod on

The on setting 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 semanage command to set SELinux policy for this library.

Please consult the SELinux documentation for more information on these commands.