Permissions problem when loading shared library

I have built a shared library / dictionary for my classes to be able to load them from the root interpreter. I have used the CMake macro:


I generate the library and the other dictionary related files such as libSimulationData.rootmap and libSimulationData_rdict.pcm. The library seems to work in some systems, however in one system I get the following error:

root [0] gSystem->Load("")
(int) 0
root [1] DataEvent ev;
libSimulationData dictionary payload:8:10: remark: could not acquire lock file for module 'SimulationData': failed to create unique file /programas/root/6.25.01/lib/SimulationData.pcm.lock-d4f4f1c2: Permission denied [-Rmodule-build]
#include "/tmp/tmp.KVC21ZJ1Eb/libraries/SimulationData/include/DataEvent.h"
libSimulationData dictionary payload:8:10: remark: building module 'SimulationData' as '/programas/root/6.25.01/lib/SimulationData.pcm' [-Rmodule-build]
error: unable to open output file '/programas/root/6.25.01/lib/SimulationData.pcm': 'Permission denied'
libSimulationData dictionary payload:8:10: remark: finished building module 'SimulationData' [-Rmodule-build]
libSimulationData dictionary payload:8:10: fatal error: could not build module 'SimulationData'
#include "/tmp/tmp.KVC21ZJ1Eb/libraries/SimulationData/include/DataEvent.h"
Error in <TInterpreter::AutoParse>: Error parsing payload code for class DataEvent with content:

#line 1 "libSimulationData dictionary payload"


// Inline headers
#include "/tmp/tmp.KVC21ZJ1Eb/libraries/SimulationData/include/DataEvent.h"
#include "/tmp/tmp.KVC21ZJ1Eb/libraries/SimulationData/include/DataSteps.h"
#include "/tmp/tmp.KVC21ZJ1Eb/libraries/SimulationData/include/DataTrack.h"


ROOT_prompt_1:1:11: error: variable has incomplete type 'DataEvent'
DataEvent ev;
libSimulationData dictionary forward declarations' payload:7:117: note: forward declaration of 'DataEvent'
class __attribute__((annotate("$clingAutoload$/tmp/tmp.KVC21ZJ1Eb/libraries/SimulationData/include/DataEvent.h")))  DataEvent;

It looks like the problem is that I don’t have permissions to write in $ROOTSYS/lib, which I don’t. Is there a way to solve this problem?

On a side note, is there a way to automatically load the library? perhaps placing it in some directory (other than $ROOTSYS).


I guess @vvassilev can help.

Can you list the contents of the folder that contains

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.