Hey all, I'm a relative newcomer to both Linux, Python, and Epics, so sorry if this has an easy solution. I guess I'm not even sure if it's a problem with Epics itself, or Python, or something else. I'm having some problems getting Python to import the EpicsCA module. I'm running Ubuntu 8.04 (Hardy), and it's an x86_64 system. The epics base seems to have installed fine, I put it in /usr/local/lib/epics/base. I got the epics module
here (
http://cars9.uchicago.edu/~newville/Epics/Python/), and again it looked like it installed fine to /usr/local/EpicsCA-2.1.5.
The problem is, whenever I try to do anything with EpicsCA in Python, it dies on me because it can't find libca.so. Here's what it shows when I try to import EpicsCA:
>>> import EpicsCA
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.5/site-packages/EpicsCA/__init__.py", line 116, in <module>
import _epics
ImportError: libca.so: cannot open shared object file: No such file or directory
(it does the same if I try "from EpicsCA import *")
However, I know libca.so exists, it's here:
adam:$ locate libca.so
/usr/local/lib/epics/base/lib/linux-x86_64/libca.so
/usr/local/lib/epics/base/lib/linux-x86_64/libca.so.3.14
/usr/local/lib/epics/base/src/ca/O.linux-x86_64/libca.so.3.14
So there it is, in the epics base folder. Why can't Python find it? I was digging around online, and found how to add places for Python looks for modules to import them (though I don't think that's the problem, because it can't find libca.so, not a module), and I added a bunch of places, to no avail. Anyone have any ideas?
Not sure if it's relevant, but when I ran the setup.py script to install EpicsCA, I had to edit the environment variable manually. I added "EPICS_BASE=/usr/local/lib/epics/base" to /etc/environment, but for some reason os.environ['EPICS_BASE'] wasn't finding /usr/local/lib/epics/base. I had to change the setup script to look there. Though if I opened a Python interpreter and printed os.environ['EPICS_BASE'], it came out as /usr/local/lib/epics/base. So something fishy was going on there, not sure if it's related though.
Thanks,
Adam Kadzban