undefined symbol: PyUnicodeUCS4_DecodeUTF8 on CentOS release 6.4 (Final)

User 836 | 11/17/2014, 2:35:37 AM

I install the latest version 1.01, python version is 2.7.8. when I import graplab, the following error happen:

python

Python 2.7.8 (default, Nov 6 2014, 09:22:28) [GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linux2 Type "help", "copyright", "credits" or "license" for more information.

import graphlab<del class="Delete"><del class="Delete"></del></del>

Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/root/.pyenv/versions/2.7.8/lib/python2.7/site-packages/graphlab/init.py", line 7, in <module> import graphlab.connect.aws as aws File "/root/.pyenv/versions/2.7.8/lib/python2.7/site-packages/graphlab/connect/aws/init.py", line 9, in <module> from ec2 import getcredentials, launchEC2, listinstances, setcredentials, status, terminateEC2 File "/root/.pyenv/versions/2.7.8/lib/python2.7/site-packages/graphlab/connect/aws/ec2.py", line 17, in <module> import graphlab.connect.server as glserver File "/root/.pyenv/versions/2.7.8/lib/python2.7/site-packages/graphlab/connect/server.py", line 6, in <module> from graphlab.cython.cyipc import PyCommClient as Client ImportError: /root/.pyenv/versions/2.7.8/lib/python2.7/site-packages/graphlab/cython/cyipc.so: undefined symbol: PyUnicodeUCS4DecodeUTF8

Comments

User 836 | 11/17/2014, 8:15:30 AM

the problem can be sovled by the following steps:

export CONFIGUREOPTS=" --enable-unicode=ucs4" [root@lingcloud18 2.7.8]# export PYTHONCONFIGURE_OPTS=" --enable-unicode=ucs4" [root@lingcloud18 2.7.8]# pyenv install 2.7.8

but when I using the lib. it report fatal error:

[root@lingcloud18 2.7.8]# python Python 2.7.8 (default, Nov 17 2014, 14:56:40) [GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linux2 Type "help", "copyright", "credits" or "license" for more information.

import graphlab as gl url = 'http://s3.amazonaws.com/GraphLab-Datasets/movieratings/trainingdata.csv' data = gl.SFrame.readcsv(url, columntypehints={"rating":int}) [ERROR] Fatal error. The unityserver process cannot be started. There may have been an issue during installation of graphlab-create. Please uninstall graphlab-create and reinstall it, looking for errors that may occur during installation. If the problem persists, please contact support@graphlab.com. Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/root/.pyenv/versions/2.7.8/lib/python2.7/site-packages/graphlab/datastructures/sframe.py", line 995, in readcsv storeerrors=False)[0] File "/root/.pyenv/versions/2.7.8/lib/python2.7/site-packages/graphlab/datastructures/sframe.py", line 543, in readcsvimpl proxy = UnitySFrameProxy(glconnect.getclient()) File "/root/.pyenv/versions/2.7.8/lib/python2.7/site-packages/graphlab/connect/main.py", line 214, in getclient assert isconnected(), "Cannot connect to GraphLab Server" AssertionError: Cannot connect to GraphLab Server


User 15 | 11/17/2014, 6:20:22 PM

You're right, Python must be compiled with UCS4 support to work with GraphLab.

Usually this next issue happens because libpython2.7.so is not in your default library path or your LDLIBRARYPATH. This is only an issue when Python 2.7 is not the version installed in your system by default (as is the case on CentOS 6.4). Can you double-check the location of your libpython2.7.so?