rpy2 import error due to libreadline undefined symbol #152
Comments
I have the same issue. |
@horta
Caveat is that I am not using conda's rpy2 recipe, rather the climate recipe, which uses the local R installation. |
I have the same issue. I observe it when compiling other software in a conda env
|
Is that coming from a lack of ncurses? |
@asmeurer you are right - adding -lncurses to the linker fixes the linker error. However, without the readline conda package I do not need to add -lncurses to the linker flags. The reason is that the system readline library links to libtinfo, whereas the conda readline does not.
|
This is the patch in the fedora readline repo, which links readline to libltinfo http://pkgs.fedoraproject.org/cgit/readline.git/tree/readline-6.2-shlib.patch |
@tpn what do you think about the shlib patch? |
See ContinuumIO/anaconda-issues#152 for a reference to the solution
I also get this error today when trying to run rpy2 tests. Can it be fixed? |
I think this is going to be fixed when we fix issue #42. I'll test it tomorrow. |
Or maybe not =p. The cause of this problem seems to be conda's readline is not linked against ncurses. |
Try to manually install my readline ( |
We are also having issues with this at BNL. attn @danielballan |
@tacaswell , does my readline fix it? |
We independently found a version that works on some machines but not others (https://github.com/NSLS-II/conda-prescriptions/tree/master/releases/readline/6.2 , a 6.2.5 recipe is in one of my branches and built versions are on my channels). It seems to work in an ubuntu box, but am having issues finding If I have have time tonight I will try your readline on my arch system and @danielballan is on the osx issue (which is slightly different as it does not find Which is a very long way to say I don't know, but I will get back to you. |
@asmeurer Thanks for the suggestion, but unfortunately the readline on your channel breaks worse. Instead of not finding what it needs in readline, it can't even locate the readline lib.
|
Oh that would mean that you'll have to rebuild the conda package that has libCom with the newest version of conda-build (an unfortunate side-effect of the switch to using |
|
Are you using the latest version of conda-build? Where is the recipe? |
Either recipe in this folder: https://github.com/tacaswell/conda-prescriptions/tree/working/releases/epics-base And I believe latest version of conda-build everywhere we have tried this. |
And no luck on my mis-behaving linux system with your readline/ncurses
|
+1 person this happening to. I used @mattexx's workaround:
|
I used
and works for me, but is a little bit dirty solution. |
I just ran into this or similar issue with R 3.2.2 installed via apt-get from
Installing readline from Aaron's channel didn't help. Copying over the system readline shared objects to |
@toinsson's solution works for me. thanks. |
@toinsson's solution also worked for me. |
@toinsson's solution worked here too. Some more info: I wasn't being able to open the bc binary (in /usr/bin/bc) and was previously getting the following error: bc: symbol lookup error: /home/icalixto/anaconda2/lib/libreadline.so.6: undefined symbol: PC After the workaround suggested, it now works again. |
I also just ran into this issue. @toinsson's workaround works for me as well. |
Ran into the same issue with conda version 4.2.9 while trying to install the R kernell, got the libreadline.so.6: undefined symbol: PC error while trying to install git2r package. The work around seem to solve that issue. |
@toinsson workaround worked for me, I also had to do a 'pip uninstall readline' as well. |
Can you try:
|
This was an issue for me too. Using Fedora 25, Python 3.5, IPython, R version 3.3.2. Successful workaround:
The use case here is reading in an SPSS file. See "Is there a Python module to open SPSS files?" for more details on my use case |
Conda now has R 3.3.2, if you use that you should not need to use your system R and then you should not need to set |
That's a good point. I'm actually using miniconda but forgot to mention it. LD_LIBRARY_PATH will still be necessary for miniconda, right?
…Sent from my phone
On Dec 23, 2016, at 10:42 AM, Ray Donnelly ***@***.***> wrote:
Conda now has R 3.3.2, if you use that you should not need to use your system R and then you should not need to set LD_LIBRARY_PATH either.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.
|
I'm not sure what you mean. Provided you use the If you try to mix conda software with non-conda software then hacks like setting |
Oh okay, I'll try installing R from conda default and see if that resolves the issue. Happy holidays!
…Sent from my phone
On Dec 23, 2016, at 2:30 PM, Ray Donnelly ***@***.***> wrote:
I'm not sure what you mean. Provided you use the conda defaults channels to get rpy2 and R you do not need to use LD_LIBRARY_PATH, regardless of whether you installed from Anaconda or Miniconda initially.
If you try to mix conda software with non-conda software then hacks like setting LD_LIBRARY_PATH may become necessary.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.
|
@tbonza, can this be closed now? |
Thank you for the confirmation. |
I have this problem on Mac OS 10.13, and @toinsson's solution didn't work
|
> conda --version
The same does not happen if ipython is used, or if I perform the same under an interactive python session. rpy2 was installed using pip.
By the way:
> which python
> which ipython
And the following linking between folders is true: /homes/horta/research -> /nfs/research/stegle/ -> /nfs/research2/stegle/
The text was updated successfully, but these errors were encountered: