如何使用cloog部署便携式gcc?

时间:2013-12-28 08:22:38

标签: linux gcc mpfr

我正在尝试构建gcc 4.8.2的便携版本。 (仅适用于C / C ++语言)最终结果是将gcc安装到特定的应用程序目录中,例如/opt/gcc-4.8.2,这样我就可以将该目录从一台计算机复制到另一台计算机(所有计算机都是intel corei5)或者corei7,运行最新的Linux版本,例如Ubuntu 12,Suse 10/11,Centos 5& 6)。

到目前为止,我能够构建gcc ok,使用--prefix将gcc输出放在一个目录中(然后可以将其复制到其他主机)。我配置了&构建了gcc的依赖项(gmp,mpfr,mpc,isl)以使用--disable-shared,所以我可以确定最终的gcc在复制到其他主机时不会抱怨缺少库或符号。

我有一个关于cloog的问题。我使用--with-cloog配置gcc(以获取我在本地构建的cloog,我与其他gcc依赖项一起构建)。但是,我不知道的是,我是否还需要将cloog库和二进制文件复制到每个复制gcc的主机上?

另外,我如何测试gcc& cloog互动?是否有一个简单的C文件示例和/或gcc命令行可用于测试gcc是否成功使用了cloog?

此外,在尝试构建gcc时还有其他注意事项,我想在其他主机上运行吗?

1 个答案:

答案 0 :(得分:3)

这取决于 cloog 是作为共享库libcloog-isl.so.*还是作为静态库libcloog.a安装的;使用

ldd $(gcc-4.8 -print-file-name=cc1)

找出答案。当然,您需要安装所有共享库依赖项。如果在libcloog*so命令的输出中出现ldd,则它是共享库。否则是静态的。

您可以设置LD_LIBRARY_PATH,或将包含libcloog-isl.so.*的目录(例如/usr/local/lib//opt/lib/等...)添加到/etc/ld.so.conf(然后运行ldconfig

我不完全确定您的gcc版本可以在您提到的每个平台上运行。可能存在libc*个依赖项。见this。也许还有binutils个依赖关系(特别是对于gcc-4.8 -flto编译)。

要测试gcc只需使用优化编译(例如gcc-4.8 -Wall -O3)一些非平凡的文件。