Dlopen error, permission denied loading library

Hello, I’m having problems loading the shared library I created with rootcint into root. When I call:

gSystem->Load("libDecay.so");

I get the error message:

dlopen error: /home/pmatt/projects//clas/packages/decaychain//libDecay.so: cannot restore segment prot after reloc: Permission denied
Load Error: Failed to load Dynamic link library /home/pmatt/projects//clas/packages/decaychain//libDecay.so

Everything was working fine until I upgraded my OS and had to reinstall everything. I’m pretty sure the library is compiled correctly, as it was working fine before. The command:

nm libDecay.so | grep ‘Decay’ | grep ’ U ’

shows no results, so their shouldn’t be anything in my classes that are undefined. I gave the file full 777 permissions, so I don’t understand the permission denied error.

I’ve just installed Fedora Core 6 and ROOT 5.14 (by compiling the source code with gcc 4.1 (or maybe it was 4.1.1)). Please let me know if you need more information. Thanks for the help!

  • Paul

Hi,

could you re-build libDecay.so, removing all temporary files (all .o, .d, etc built during libDecay’s build process), and then try again?

Cheers, Axel.

Already tried that, it didn’t work. I think it might be something to do with the way I setup or configured the install, but I dunno what.

Hi,

the web knows: it’s SELinux. Check e.g. ittvis.com/services/techtip.asp?ttid=3092

Cheers, Axel.

hey, that worked! Thanks for the help.