EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  <20082009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  <20082009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Problems getting the Python module to work
From: "Adam Kadzban" <[email protected]>
To: "John Hammonds" <[email protected]>
Cc: [email protected]
Date: Wed, 6 Aug 2008 14:02:31 -0500
It doesn't seem to be LD_LIBRARY_PATH. I tried setting it with export, and also putting it in the /etc/environment file.

There are two _epics.so files that 'locate' brings up, one in /usr/lib/python2.5/site-packages and one in /usr/local/EpicsFA2.1.5/biuld/lib.linux-x86_64-2.5.  When I call 'ldd' on them, both say that libca.so and libCom.so are "not found".  The other files they're linked to come up with hex addresses.  I can't just stick "/usr/local/lib/epics/base/lib/linux-x86_64/libca.so" in there, so how do I link those in?

"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."

I remember seeing -lca and -lCom come up when I was installing the epics base.  Should I dig around the epics base files and try to find that line?  I'm not sure where in there to look...

-Adam


On Wed, Aug 6, 2008 at 1:50 PM, John Hammonds <[email protected]> wrote:
This should be LD_LIBRARY_PATH.  You were able to find epicsCA which is the Python part of things.  libca is the epics library which does not have anything to do with Python.
Also, for what it is worth, I have also been working to update Geoff Savage's CaPython.  This does not provide quite as slick an interface as Matt's but it is  a pretty full implementation of the Channel Access Libraries.  I have most of this working using a newer version of SWIG and python.  I have not yet added the 3.14 CA calls but it can do things like deal with larger arrays.  I am trying to coordinate with Geoff before releasing this.

John


Tim Mooney wrote:
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


--
John Hammonds
Beamline and Data Acquisition Group
APS Engineering Support Division

Argonne National Laboratory
[email protected] <mailto:[email protected]>
(630)252-5317





Replies:
Re: Problems getting the Python module to work Antonino Miceli
References:
Problems getting the Python module to work Adam Kadzban
Re: Problems getting the Python module to work Tim Mooney
Re: Problems getting the Python module to work John Hammonds

Navigate by Date:
Prev: Re: Problems getting the Python module to work John Hammonds
Next: Re: Problems getting the Python module to work Antonino Miceli
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  <20082009  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 John Hammonds
Next: Re: Problems getting the Python module to work Antonino Miceli
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  <20082009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Sep 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·