首页 文章

编译GCC交叉编译器时,目标'graphite-clast-to-gimple.o'的配方失败

提问于
浏览
1

我想创建一个GCC交叉编译器,我按照这里的指令here但问题是每次我使gcc都会有同样的错误打击 .

../../gcc-4.8.2/gcc/graphite-clast-to-gimple.c:897:24:错误:'isl_lp_ok'未在此范围内声明assert(lp_result == isl_lp_ok); ^ ../../gcc-4.8.2/gcc/graphite-clast-to-gimple.c:889:34:错误:'isl_int_get_gmp'未在此范围内声明isl_int_get_gmp(isl_value,low); ^ ../../gcc-4.8.2/gcc/graphite-clast-to-gimple.c:900:57:错误:'isl_set_max'未在此范围内声明lp_result = isl_set_max(domain,dimension,&isl_value) ; ^ ../../gcc-4.8.2/gcc/graphite-clast-to-gimple.c:904:27:错误:'isl_int_clear'未在此范围内声明isl_int_clear(isl_value); ^ Makefile:1058:目标'graphite-clast-to-gimple.o'的配方失败make [1]:*** [graphite-clast-to-gimple.o]错误1 make [1]:离开目录'/ home / mike / src / build-gcc / gcc'Makefile:3927:目标'all-gcc'的配方失败make:*** [all-gcc]错误2

起初,我认为它可能是由版本问题引起的,因为我的openSUSE上的gcc是4.8.3,但在使用版本4.8.2之后没有任何改变 . 非常感谢!

2 回答

  • 3

    如果您使用的是Linux,则可能会获得系统的开发包 . 我知道基于Debian的系统的命令,例如Ubuntu及其变体 .

    sudo apt-get install libisl-dev
    sudo apt-get install libcloog-isl-dev
    

    之后,删除gcc文件夹中的isl和cloog目录,然后尝试继续:

    make all-gcc
    

    如果您没有基于Debian的系统,Google Forest中的一些搜索应该有所帮助 .

  • 1

    最新版本(0.14?)的ISL库存在问题 - 从4.9.2开始,API与gcc不兼容 . 至于构建CLooG,0.18.2附带的ISL-0.12.1版本没有正确配置 . 因此,您需要构建和安装自己的库,然后在配置gcc时使用它们 .

    1 / . isl-0.12.2

    > ./configure --prefix=$CROSSDIR --with-gmp-prefix=$GMPDIR
    > make install # and rehash, etc.
    

    其中 CROSSDIR 是您安装交叉编译器工具链的地方, GMPDIR 是包含GMP的 libinclude 目录的根目录 . 不幸的是,这意味着您需要单独构建GMP,MPFR和MPC并首先从软件包系统安装或安装它们 . 但你可能不需要这个( see below ) .

    2 / . cloog-0.18.2

    > ./configure --prefix=$CROSSDIR --with-isl-prefix=$CROSSDIR \
    --with-gmp-prefix=$GMPDIR
    

    有一个荒谬的问题,Makefile中有'cmake'字符串 . 解决方案(来自clfs.org):

    > sed '/cmake/d' Makefile > Makefile.new
    > mv Makefile.new Makefile
    > make install # and rehash, etc.
    

    配置gcc时,使用: --with-isl=$CROSSDIR --with-cloog=$CROSSDIR ,您将需要以下选项: --with-gmp--with-mpfr--with-mpc


    或者 - 按照您使用的说明,将isl-0.12.2&cloog-0.18.2移动到gcc源树中的isl和cloog子树可能就足够了 . 配置完成后,进入cloog build子目录并编辑Makefile,如上所示 . 我没试过这个 . 由于其他原因,我在CROSSDIR下单独构建和安装软件包 .

相关问题