RHEL 4 problem?

Post Reply
carl

RHEL 4 problem?

Post by carl »

I tried to install from the neuron rpm's. When I use nrnivmodl it seems to compile my mod files without errors. But when I try to run I get:

loading membrane mechanisms from /home/carl/fields/neuron/mod/i686/.libs/libnrnmech.so
dlopen failed -
/home/carl/fields/neuron/mod/i686/.libs/libnrnmech.so: undefined symbol: _cal_reg

Does anyone know what the problem could be?
hines
Site Admin
Posts: 1682
Joined: Wed May 18, 2005 3:32 pm

Post by hines »

The rpm is built on a i686 machine and perhaps there are problems
using that when the shared object is constructed on a x86_64 machine.
However, the specific error message points to something a bit different.
The _cal_reg is derived from the name of the cal.mod file and that
is being called not from outside the libnrnmech.so but from inside
from a nrnivmodl generated file called mod_func.c. You should take a
look at the cal.c file in the i686 or x86_64 subdirectories and see if
the _cal_reg is defined there. My first thought is that something
went wrong in the cal.mod translation or cal.c compilation which
prevented the libnrnmech.so library from containing the cal.o file.
You might try removing the x86_64 subdirectory and trying againand making sure there were no errors during the nrnivmodl process. After all, the nrniv executable was able to call the modl_reg function which
crossed the 32 to 64 bit boundary and the failure happened when
modl_reg tried to call _cal_reg which are both on the 64 bit side
within the libnrnmech.so library.
moritz

dlopen failed on an x86 w/ RHEL

Post by moritz »

I also have not been able to load NMODL mechanisms using NEURON 5.7 in RedHat Enterprise Linuz. I get the following error:

loading membrane mechanisms from /home/atm/Bennet sims/i686/.libs/libnrnmech.so
dlopen failed -
/home/atm/Bennet sims/i686/.libs/libnrnmech.so: cannot open shared object file: No such file or directory
dlopen("libjvm.so") failed: libjvm.so: cannot open shared object file: No such file or directory
JNI_CreateJavaVM returned -1
Info: optional feature Java VM is not present.

Any suggestions for resolving this?
Thanks in advance.
hines
Site Admin
Posts: 1682
Joined: Wed May 18, 2005 3:32 pm

Re: dlopen failed on an x86 w/ RHEL

Post by hines »

moritz wrote: dlopen failed -
/home/atm/Bennet sims/i686/.libs/libnrnmech.so: cannot open shared object file: No such file or directory
First, does the file exist? If so, the problem may be spaces in the path. I only remember supportting path name spaces on mac and mswin. You can edit the i686/special file and try escaping the space with a \. Otherwise remove the i686 directory, rename "Bennet sims" to Bennet_sims and rerun nrnivmodl.
If the file does not exist then wipe out the i686 directory and rerun nrnivmodl and make sure there are no errors during that process.
moritz

Fixed

Post by moritz »

Thanks, yes, it was the spaces in the directory name. I just copied that directory from a mac and didn't even think about the naming...
Post Reply