尝试在CentOS上安装matplotlib(1.1.0 with python 2.7.3)
python setup.py build
看起来不错,直到:
running build_ext
building 'matplotlib.ft2font' extension
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -DPY_ARRAY_UNIQUE_SYMBOL=MPL_ARRAY_API -DPYCXX_ISO_CPP_LIB=1 -I/mnt/storage/laviniag/Tools/Qiime/qiime_software/numpy-1.5.1-release/lib/python2.7/site-packages/numpy/core/include -I/usr/include/freetype2 -I/usr/local/include -I/usr/include -I. -I/mnt/storage/laviniag/Tools/Qiime/qiime_software/python-2.7.3-release/include/python2.7 -c src/ft2font.cpp -o build/temp.linux-x86_64-2.7/src/ft2font.o
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -DPY_ARRAY_UNIQUE_SYMBOL=MPL_ARRAY_API -DPYCXX_ISO_CPP_LIB=1 -I/mnt/storage/laviniag/Tools/Qiime/qiime_software/numpy-1.5.1-release/lib/python2.7/site-packages/numpy/core/include -I/usr/include/freetype2 -I/usr/local/include -I/usr/include -I. -I/mnt/storage/laviniag/Tools/Qiime/qiime_software/python-2.7.3-release/include/python2.7 -c src/mplutils.cpp -o build/temp.linux-x86_64-2.7/src/mplutils.o
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -DPY_ARRAY_UNIQUE_SYMBOL=MPL_ARRAY_API -DPYCXX_ISO_CPP_LIB=1 -I/mnt/storage/laviniag/Tools/Qiime/qiime_software/numpy-1.5.1-release/lib/python2.7/site-packages/numpy/core/include -I/usr/include/freetype2 -I/usr/local/include -I/usr/include -I. -I/mnt/storage/laviniag/Tools/Qiime/qiime_software/python-2.7.3-release/include/python2.7 -c CXX/cxx_extensions.cxx -o build/temp.linux-x86_64-2.7/CXX/cxx_extensions.o
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -DPY_ARRAY_UNIQUE_SYMBOL=MPL_ARRAY_API -DPYCXX_ISO_CPP_LIB=1 -I/mnt/storage/laviniag/Tools/Qiime/qiime_software/numpy-1.5.1-release/lib/python2.7/site-packages/numpy/core/include -I/usr/include/freetype2 -I/usr/local/include -I/usr/include -I. -I/mnt/storage/laviniag/Tools/Qiime/qiime_software/python-2.7.3-release/include/python2.7 -c CXX/IndirectPythonInterface.cxx -o build/temp.linux-x86_64-2.7/CXX/IndirectPythonInterface.o
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -DPY_ARRAY_UNIQUE_SYMBOL=MPL_ARRAY_API -DPYCXX_ISO_CPP_LIB=1 -I/mnt/storage/laviniag/Tools/Qiime/qiime_software/numpy-1.5.1-release/lib/python2.7/site-packages/numpy/core/include -I/usr/include/freetype2 -I/usr/local/include -I/usr/include -I. -I/mnt/storage/laviniag/Tools/Qiime/qiime_software/python-2.7.3-release/include/python2.7 -c CXX/cxxsupport.cxx -o build/temp.linux-x86_64-2.7/CXX/cxxsupport.o
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -DPY_ARRAY_UNIQUE_SYMBOL=MPL_ARRAY_API -DPYCXX_ISO_CPP_LIB=1 -I/mnt/storage/laviniag/Tools/Qiime/qiime_software/numpy-1.5.1-release/lib/python2.7/site-packages/numpy/core/include -I/usr/include/freetype2 -I/usr/local/include -I/usr/include -I. -I/mnt/storage/laviniag/Tools/Qiime/qiime_software/python-2.7.3-release/include/python2.7 -c CXX/cxxextensions.c -o build/temp.linux-x86_64-2.7/CXX/cxxextensions.o
g++ -pthread -shared build/temp.linux-x86_64-2.7/src/ft2font.o build/temp.linux-x86_64-2.7/src/mplutils.o build/temp.linux-x86_64-2.7/CXX/cxx_extensions.o build/temp.linux-x86_64-2.7/CXX/IndirectPythonInterface.o build/temp.linux-x86_64-2.7/CXX/cxxsupport.o build/temp.linux-x86_64-2.7/CXX/cxxextensions.o -L/usr/local/lib -L/usr/lib -L/usr/local/lib64 -L/usr/lib64 -L/mnt/storage/laviniag/Tools/Qiime/qiime_software/python-2.7.3-release/lib -lfreetype -lz -lstdc++ -lm -lpython2.7 -o build/lib.linux-x86_64-2.7/matplotlib/ft2font.so
**/usr/bin/ld: /usr/local/lib/libpython2.7.a(parsetok.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libpython2.7.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
error: command 'g++' failed with exit status 1**
所以我猜我需要编辑配置文件才允许共享?任何帮助表示感谢,谢谢。
答案 0 :(得分:3)
matplotlib是一个非常难以安装的软件包,还有很多其他软件包(嗯...... lxml,pyside / pyqt4等)。
省去一些麻烦并检查其中一个预建筑。来自enthought的连续体或树冠的Anaconda在cetos上很好,并且可以为您节省头痛日志(免费安装)。
答案 1 :(得分:0)
只需使用pip和virtualenv,它应该可以正常工作(CentOS-6.5,x86_64,python-2.6)Installing Matplotlib on CentOS 6.5