Rose compiler Framework installation

拓拔高畅
2023-12-01

1, 关于下载资源

之前一直在rose compiler官网上下载,但是那份程序2013年之后就停止更新了,而且近几天突然官网上不去了。

在立博师兄的指点下,知道在github上下载,rose后续的项目更新都在gitHub上,我使用的是:

git clone https://github.com/rose-compiler/edg4x-rose.git


据立博师兄说,rose项目bug很多,目前这个最新版本的也有。不过bug主要是在对c++工程项目的分析上,主要是template。

如果只针对C程序,做些stencil计算的处理,问题不大。


2,configure

1)安装过程和Rose installation guide(July 8, 2013)类似,不过第一步需要运行build脚本生成configure文件。

在Linux下(RHEL6.3),可以直接运行build脚本。但是我希望能在我的macbook air上运行,我使用的是macport安装各种依赖库,路径有些问题。

build第278行,alcohol的头文件路径需要修改成-I /opt/local/share/aclocal,这样在mac下就可以成功运行build脚本。


2)configure过程中,遇到说不识别当前的apple操作系统。这是因为我目前使用的是10.10,而configure脚本中最大支持到darwin11*,即10.7。

所以在configure脚本第8006行添加:

darwin14*)

OS_release=10.10


3)找不到java

 8381       # George Vulov (Aug. 25, 2010) On OS X the binaries found under /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/

 8382       # aren't the true Java binaries; instead they check the java preferences app and then instantiate whatever version of Java

 8383       # is specified there. The actual java binaries are located in /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home

目前我还不大懂这段话是不是和具体mac os版本有关,但是10.10中我的确发现Versions/Current/Command下面有相应地二进制文件,而没有CurrentJDK文件夹。需要进行相应改动。

linux机器的路径没错。

8467行 JAVA_BIN=${JAVA_PATH}/bin去掉/bin,那是linux下的命名方式


3)找不到gfortran

自带的gcc(随xcode安装)里面不带gfortran,通过macport安装gcc-4.9,遇到以下问题:

checking whether your GCC version is supported by ROSE (4.0.x - 4.4.x)... configure: error: in `/Users/xsz/Documents/GPU/rose-0.9.6a/install_tree':

configure: error: your GCC 4.9.1 version is currently NOT supported by ROSE. GCC 4.0.x to 4.4.x is supported now.



4)boost版本不对

configure: error: Unsupported version of Boost: '105600'. Only 1.45 to 1.47 is currently supported.

去官网下载1.47,编译安装


5)configure 中途的ln问题

 408 Generating  /Users/xsz/Documents/GPU/rose-0.9.6a/install_tree/include-staging/gcc_HEADERS/rose_edg_required_macros_and_functions.h

 409 processing header file directory /opt/local/include to be mapped to /Users/xsz/Documents/GPU/rose-0.9.6a/install_tree/include-staging/gcc_HEADERS/hdrs1

 410 /opt/local/include needs       15 change(s)

 411 /opt/local/include /Users/xsz/Documents/GPU/rose-0.9.6a/install_tree/include-staging/gcc_HEADERS/hdrs1 needs to be copied and modified

 412 ln: illegal option -- -

 413 usage: ln [-Ffhinsv] source_file [target_file]

 414        ln [-Ffhinsv] source_file ... target_dir

 415        link source_file target_file

mac默认的bash不支持ln 命令不支持--force参数,需要用-f替代

修改config/create_system_headers第67行,

 67     find "$src_dir/." -type f -a -print | sed -n "s|^${src_dir}\\(.*\\)\$|ln -s --force '&' '$target_dir/\\1'|p" | sh -s

--force变成-f参数


6) 找不到termio.h

../../../edg4x-rose/src/util/sawyer/CommandLine.C:26:20: error: termio.h: No such file or directory

修改为termios.h


7)最后到了wget edg binary出错,这几天rosecompiler.org一直登不了,不过后续应该问题不大,毕竟我还是成功在RHEL 6.3上装过rose-0.9.5a的

幸好我的linux服务器上装过一个rose版本,否则现在无rose可用了。。。


最近一直和女朋友吵架,装个rose还装了一天,真郁闷。。

 类似资料:

相关阅读

相关文章

相关问答