Adam, The first thing I'd try is setting either the LD_LIBRARY_PATH,
or the PYTHONPATH, environment variable to the directory containing the
needed .so file. E.g.:
setenv LD_LIBRARY_PATH /usr/local/lib/epics/base/lib/linux-x86_64
or, if you're using bash,
export LD_LIBRARY_PATH=/usr/local/lib/epics/base/lib/linux-x86_64
Adam Kadzban wrote:
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/%7Enewville/Epics/Python/>
(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
--
Tim Mooney ([email protected]) (630)252-5417
Beamline Controls & Data Acquisition Group
Advanced Photon Source, Argonne National Lab.
- Replies:
- Re: Problems getting the Python module to work John Hammonds
- References:
- Problems getting the Python module to work Adam Kadzban
- Navigate by Date:
- Prev:
Re: Problems getting the Python module to work J. Lewis Muir
- Next:
Re: Problems getting the Python module to work John Hammonds
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
<2008>
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: Problems getting the Python module to work J. Lewis Muir
- Next:
Re: Problems getting the Python module to work John Hammonds
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
<2008>
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|