此系统上未安装c ++编译器

时间:2014-09-04 06:52:08

标签: python gcc install gdal

我正在尝试安装Python包GDAL http://trac.osgeo.org/gdal/wiki/GdalOgrInPython

我已经成功安装了依赖项:Python 2.7.8,Numpy 1.8.2,libgdal 1.10.0和gdal-devel。但是,当我使用此命令时:

pip install GDAL==1.10.0

我遇到了一些错误:

gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I ../../ port -I ../../ gcore -I。 ./../alg -I ../../ ogr / -I / usr / local / include / python2.7 -I / root / .local / lib / python2.7 / site-packages / numpy / core / include -I / usr / local / include -c extensions / gdal_wrap.cpp -o build / temp.linux-x86_64-2.7 / extensions / gdal_wrap.o

gcc:extensions / gdal_wrap.cpp:此系统上未安装C ++编译器

错误:命令'gcc'失败,退出状态为1

这是我的系统信息:

# lsb_release -a

LSB版本:: core-4.0-amd64:core-4.0-ia32:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0- IA32:印刷-4.0-noarch

经销商ID:CentOS

描述:CentOS版本5.10(最终版)

发布:5.10

代号:最后

# cat /proc/version

Linux版本2.6.18-274.el5(mockbuild@builder10.centos.org)(gcc版本4.1.2 20080704(Red Hat 4.1.2-50))#1 SMP Fri Jul 22 04:43:29 EDT 2011

我的编译器信息:

# gcc --version

gcc(GCC)4.4.6 版权所有(C)2010 Free Software Foundation,Inc。

# g++ --version

g ++(GCC)4.1.2 20080704(Red Hat 4.1.2-54) 版权所有(C)2006 Free Software Foundation,Inc。

我也尝试过使用:

# pip install --no-install GDAL==1.10.0
# cd /tmp/pip_build_root/GDAL && python setup.py build

但它导致了同样的错误。

最后,我试图通过以下方式从源代码构建它:

# ./configure --with-python
# make
# make install

不幸的是,仍然出现了相同的错误。

我对此一无所知。你能给我一些提示吗?感谢。

1 个答案:

答案 0 :(得分:1)

  

gcc(GCC)4.4.6版权所有(C)2010 Free Software Foundation,Inc。

     

g ++(GCC)4.1.2 20080704(Red Hat 4.1.2-54)版权所有(C)2006 Free Software Foundation,Inc。

所以你有一个 C ++编译器......但你没有使用你正在使用的工具链的C ++编译器,gcc 4.4.6。

所以,你有两个选择:

  1. 安装g ++ 4.4.6。最有可能的只是yum install gcc-c++yum install gcc44-c++或类似内容。
  2. 使用gcc 4.1.2而不是4.4.6进行配置。假设4.1.2可用作gcc-4.1或类似的东西,这可能仅意味着在配置或设置步骤之前执行export CC=gcc-4.1,但您可能需要使用一些工具链选择命令。 / LI>

    第一个几乎肯定是一个更好的主意。

    如果您在这两者中都需要帮助,那么使用Unix或设置RHEL / CentOS比编程(特别是Python编程)更令人担忧! Unix StackExchange的this question可能对两者都有帮助。