from sage.all import * results in libcsage.so "cannot open shared object file" error
I am having a problem importing sage modules into an instance of python 2.7. I succesfully untared the release binary tarball for 64-bit Ubuntu 10.04 ( http://boxen.math.washington.edu/sage... ) into ~/sage
. I can succesfully run sage with ./sage
.
After opening the python console (python
), I set the relevant environmental variables and system path:
import sys
import os
os.environ['LD_LIBRARY_PATH'] = '/home/jthetzel/sage/local/lib'
os.environ['SAGE_ROOT'] = '/home/jthetzel/sage'
sys.path.append("/home/jthetzel/sage/local/lib/python/site-packages")
However, the following:
from sage.all import *
Results in:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/jthetzel/sage/local/lib/python/site-packages/sage/all.py", line 63, in <module>
from sage.ext.c_lib import _init_csage, sig_on_count
ImportError: libcsage.so: cannot open shared object file: No such file or directory
The same occurs when I try different system paths, such as /home/jthetzel/sage/local/lib
or /home/jthetzel/sage
.
Trying locate libcsage.so
finds:
/home/jthetzel/sage/devel/sage-main/c_lib/libcsage.so
/home/jthetzel/sage/local/lib/libcsage.so
I have read elsewhere that ./sage -b
might fix this error, but it does not in my case.
Could anyone help shed light on why libcsage.so
can not be found? I am trying to import the sage modules into my usual python as opposed to Sage's python (./sage -python
) because I am eventually trying to access Sage through R's Jython interface, rJython. I appreciate any guidance.
Rather than trying to set the environment variables by hand, try running "sage -sh". Then open python and see if you can do "from sage.all import *". ("sage -sh" opens up a "Sage shell" in which all relevant environment variables have been set, hopefully correctly.) If this works, you can look at the settings for the environment variables in the script SAGE_ROOT/local/bin/sage-env. (It is also possible that Sage's python has been modified and what you're trying won't work with the system python.)
@John Palmieri: Thanks, this was a very helpful suggestion.