Experimental Physics and Industrial Control System
|
Adam,
Matt probably knows better than I do, but you can try this....
Probably those EPICS shared libraries did not get linked....
When you built it, there should have been a gcc line that includes
something like -lca and -lCom... try using the direct path to libca and
libCom, i.e.,
/usr/local/lib/epics/base/lib/linux-x86_64/libca.so. It's the gcc line
that build _epics.so, I believe.
If you find _epics.so shared object file, you can use the ldd command to
see which shared libraries are missing.... i.e.,
ldd _epics.so
Nino
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/
<http://cars9.uchicago.edu/%7Enewville/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
- References:
- Problems getting the Python module to work Adam Kadzban
- Navigate by Date:
- Prev:
Problems getting the Python module to work Adam Kadzban
- Next:
Re: Problems getting the Python module to work J. Lewis Muir
- 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:
Problems getting the Python module to work Adam Kadzban
- Next:
Re: Problems getting the Python module to work J. Lewis Muir
- 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
|
ANJ, 02 Sep 2010 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
·
Search
·
EPICS V4
·
IRMIS
·
Talk
·
Bugs
·
Documents
·
Links
·
Licensing
·
|