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 | 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 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: Problem installing PyEpics |
From: | Matt Newville <[email protected]> |
To: | Pete Jemian <[email protected]> |
Cc: | EPICS Tech Talk <[email protected]> |
Date: | Mon, 30 Jan 2017 15:09:40 -0600 |
Alan:
You reported a Python 2.7 error when loading PyEpics from a non-interactive Linux session:
> File
> "/home/akastengren/anaconda2/lib/python2.7/site-packages/epi user@host ~$ nm /home/akastengren/anaconda2/lics/ca.py",
> line 217, in initialize_libca
> raise ChannelAccessException('loading Epics CA DLL failed: ' +
> str(exc))
> epics.ca.ChannelAccessException: loading Epics CA DLL failed:
> /home/akastengren/anaconda2/bin/../lib/libreadline.so.6: undefined
> symbol: PC
b/libreadline.so.6 | grep PC
U PC
The "U" means the symbol is undefined
I get the same thing (with my Anaconda installations). This is an Anaconda Python issue with the readline support. The closest web answer I can find is here:
http://stackoverflow.com/questions/29944238/importerror-when -using-rpy2-with-numpy-testing
The selected "best" answer describes three steps as the suggested fix:
1. delete __pycache__ directory (does not apply, you have Python 2.7, not Python3
2. conda install -c asmeurer readline
3. Inside the .py file, add "import readline"
Step 2, do it from the command line. Updates readline to 6.2.5
Step 3, insert this into epics/ca.py at (or near) line 26
(/home/akastengren/anaconda2/lib/python2.7/site-packages/epi cs/ca.py)
Report back whether or not this helps.
Pete
--
----------------------------------------------------------
Pete R. Jemian, Ph.D. <[email protected]>
Beam line Controls and Data Acquisition, Group Leader
Advanced Photon Source, Argonne National Laboratory
Argonne, IL 60439 630 - 252 - 3189
-----------------------------------------------------------
Education is the one thing for which people
are willing to pay yet not receive.
-----------------------------------------------------------