IBM高级工具链PowerLinux文档

znuoghco 2013-02-27 11:17:49
介绍
IBM高级工具链PowerLinux是一套开放源码开发工具和运行时库,它允许用户采取前沿的优势,在Linux上的IBM最新的POWER硬件功能:
POWER7启用
POWER7优化调度
POWER7硬件DFP广告管理系统的指令都支持
POWER7 VSX启用自动向量化
推进工具链的版本,5.0版的功能:
PPC970,POWER4 +,POWER5,POWER5,POWER6,POWER6x和POWER7优化的运行时库
从高级工具链6.0最新处理器,CPU调谐库可用于:
POWER7优化的运行时库
这种自我的工具不依赖于系统的工具链,并要求最低的依赖。也没有覆盖默认的Linux发行版工具(它被安装在/ opt目录)。最新的版本包括以下的包目前的稳定版本:
GNU编译器集合(GCC,g+ +和gfortran的),再加上个别优化GCC运行库支持的POWER处理器
GNU C库(glibc),分别支持的POWER处理器进行了优化
GNU二进制工具(binutils的)
十进制浮点点的图书馆(libdfp),支持硬件DFP广告管理系统进行了优化,POWER6x为POWER6和POWER7,但也可在仿真PPC970,POWER4,POWER5和POWER5 +
指向auxv图书馆(libauxv)
GNU调试器(GDB)
性能分析工具器(oprofile时,Valgrind,ICMP反向追踪)
多核心开发库(英特尔TBB,氨基酸CBB,用户空间的RCU),版本5.0-3开始
加上一些支持库(libhugetlbfs时,zlib的,等)
推进工具链版本6.0适用于:
RHEL6
SLES11
Fedora的18
推进工具链的版本到5.0版本可用于:
RHEL5
RHEL6
SLES10
SLES11
Fedora的18
这包括所有的服务包和更新版本所提到的Linux发行版。
此外,我们提供了一个运行时兼容老的Linux发行版的转速,所以由高级工具链构建的二进制可以运行这些。
每个人发布的更多信息,请参阅发行说明文件可以在下面的高级toolchain文件库中。

下载
推进工具链5.0
RHEL6
RHEL5
RHEL4 -运行时兼容的RPM
SLES11
SLES10
SLES9 -运行时兼容的RPM。
Fedora的18
推进工具链6.0
RHEL6
RHEL5 -运行时兼容的RPM。
SLES11
SLES10 -运行时兼容的RPM。
Fedora的18

安装
GPG公共密钥GPG公钥00f50ac5-45e497dc中提供的发行说明中找到的库。此公钥可使用的高级工具链RPM和资料库的内容的真实性进行验证。下载GPG公共密钥,并将其导入到您的RPM数据库使用下面的:
转 - 进口GPG公钥00f50ac5 45e497dc
警告:
在SLES10和RHEL5,请安装ncurses包(64位),然后再安装的高级工具链。
atXX在下面的说明中应替换为您使用的版本(即at4.0,at5.0等)

使用YaST或使用Zypper(SLES10/11)
要使用YaST安装,执行YAST 根。然后:
选择附加产品。
选择的FTP议定书“:
(x)的FTP ...
在服务器名称:
linuxpatch.ncsa.uiuc.edu
在服务器上的目录:
/ toolchain/at/suse/SLES_11
或/ toolchain/at/suse/SLES_10
有没有产品信息可在给定的位置,你会得到一个警告。这是因为
repomd基于存储库中不包含的YaST的产品信息。这是不是一个错误。选择[继续]。
在软件管理界面中,搜索“ 提前工具 “,提前工具链atXX的运行,提前工具atXX的开发和安装必要的程序包的提前工具链atXX-PERF为标记,然后点击[接受]。
要安装使用zypper,你首先需要添加UIUC的FTP库列表(根):
zypper的addrepo ftp://linuxpatch.ncsa.uiuc.edu/tool​​chain/at/suse/SLES_11“高级的工具链”
这将创建一个新的存储库项目被称为“高级工具链”,指向UIUC FTP站点。然后,执行下面的命令安装:
提前使用Zypper安装提前工具链atXX的运行提前工具,atXX开发工具链atXX高性能
系统将提示您信任存储库中的关键(AdvanceToolchain05)。命中一个始终信任此键,然后在“ Ÿ “,以确认包安装。或者,您也可以安装先进的工具,atXX mcore的库包,其中包含了多核心开发库(版本5.0-3以上的),并提前工具,at5.0的SELinux的包(版本5.0 -7及以上),这使与SELinux的兼容性。
警告:不要试图提前工具at00 SELinux的包,如果你没有安装SELinux的安装并启用。
YaST和使用Zypper支持的软件包升级为新的修订版本(即6.0-0至6.0-1)。主要的新版本(即5.0-8 6.0-1),在一个正常的安装,请继续。
警告:在升级时使用zypper SLES 10上,使用下面的命令:
zypper的更新-T封装提前工具链at5.0的运行
SLES 10 -T封装选项是必需的。

使用YUM(RHEL5 / 6)和Fedora 18
首先,如果你已经创建了一个高级工具链资源库的配置文件,你需要做的。创建以下文件使用文本编辑器,你的选择根:
的/ etc / yum.repos.d / atXX.repo的
并添加以下内容:
#开始配置文件
atXX]
=高级工具链UIUC / NSCA 配置文件的结尾





警告
在RHEL5上安装时,要记得点都BASEURL和gpgkey RHEL5库而不是RHEL6。
Fedora 18使用了同一个版本库的RHEL6。
您可以检查存储库中加入正确的运行yum的repolist的。如果配置文件是否正确,您将看到您的新atXX库上市。
要安装,执行yum的安装根:
yum的安装提前工具链atXX的运行yum安装提前提前yum的安装工具,atXX的开发工具链,atXX高性能
YUM提示您进行确认时, 回答“ Ÿ “。或者,您也可以安装先进的工具,atXX mcore的库包,其中包含了多核心开发库(版本5.0-3以上的),并提前工具,at5.0 SELinux的包(版本5.0 -7及以上),这使与SELinux的兼容性。
警告:不要试图提前工具at00 SELinux的包,如果你没有安装SELinux的安装并启用。
YUM支持包升级为新的修订版本(即5.0-0至5.0-1)。主要的新版本(即5.0-8 6.0-1),在一个正常的安装,请继续。

手动安装
如果你是手动安装的RPM,你需要下载它们从我们的仓库和安装顺序如下(由于先决条件):
提前工具,atXX的运行-XX-Y提前工具,atXX开发-XX-Y提前工具链atXX的PERF-XX-Y
XX-Y是实际的版本的软件包(即6.0-1)。或者,您也可以安装先进的工具,atXX mcore的库包,其中包含了多核心开发库(版本5.0-3以上的),并提前工具at00 SELinux的包(版本5.0-7及以上),可以与SELinux的兼容性。这些软件包依赖于事先工具链atXX的运行时。
警告:不要试图提前工具at00 SELinux的包,如果你没有安装SELinux的安装并启用。
如果您更新当前安装一个新的修订版本(即6.0-0至6.0-1),您需要更新一批,因此,RPM可以解决的依赖关系:
转UVH提前工具,atXX运行-XX-Y.ppc64.rpm提前工具,atXX - 开发-XX-Y.ppc64.rpm提前工具atXX-PERF-XX-Y.ppc64.rpm
应始终运行rpm命令根。如果不这样做会导致类似的错误:
错误:无法创建事务锁/ var/lib/rpm/__db.000
如果你安装或更新工具链不正确的前进,你可能最终与不一致的rpm数据库(即安装的RPM文件,但没有出现在/ opt / atXX中)。在这种情况下,你将不得不强行删除的RPM并重新安装。要强制删除所有的高级工具链的RPM:
RPM-E - 力提前工具*
然后,重新安装使用任何上面描述的程序。

套件简述
大部分的时候,它并不需要安装所有的软件包提供的高级工具链。下面的列表描述时,他们需要:
提前工具,atXX运行
提供基本功能,运行高级工具链应用。它总是必需的。
提前工具atXX运行compat的
以前的发行版本替换上述包。欲了解更多有关SLES9和RHEL4或SLES10和RHEL5
提前工具,atXX开发
提供开发工具。这是必要的,在开发应用程序时。
提前工具atXX高性能
提供性能测量工具。一些开发环境中,这是唯一有用的。
提前工具,atXX mcore的库
提供多线程开发库,像的增强,SPHDE和氨基酸CBB。这个包还需要在服务器上运行这些库开发的应用程序。
提前工具atXX运行时atZZ-compat的
只有当你需要运行的高级工具链上的当前版本与以前的版本构建的应用程序,安装此包。运行时高级工具链版本之间的兼容性的更多信息
提前工具,atXX SELinux的
提供了SELinux设置。仅在需要时的的高级工具链上的应用程序开发或运行启用SELinux的环境。
...全文
134 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
znuoghco 2013-02-27
  • 打赏
  • 举报
回复
用法 手册页 为了系统的人申请提前拿起工具链的安装手册页,用户必须出口的位置AT的手册页MANPATH变量之前调用的男人。这是最好用下面的命令来完成: 出口未设置MANPATH MANPATH =“/的选择/ atXX / share / man中MANPATH`” 男人<topic>的 或者用户可能会覆盖当前的环境下MANPATH显示在下面的例子: MANPATH =“/选择/ atXX /股/人:”MANPATH`“人lsauxv 优化选择。 导演海湾合作委员会为特定的CPU来构建应用程序可以利用特定于处理器的指令选择。在某些情况下,它的情况下显着地提高性能。没有选择一个特定的CPU的基础上简单的,使gcc来选择默认的(最小公分母)指令集。 -MCPU POWER4 -MCPU = 970 -MCPU = POWER5 -MCPU = POWER5 + -MCPU = POWER6 -MCPU = power6x -MCPU = POWER7 警告 目前的编译器默认为MCPU POWER6的mtune中POWER7 当使用-MCPU = POWER7时,不要禁用AltiVec技术(即MNO的AltiVec)也没有禁用VSX(即MNO-VSX)。下面结合是非法的: -MCPU = POWER7 MNO的AltiVec 平台和硬件性能测定 高级工具链,包括libauxv和lsauxv,库和应用系统,分别为从内核的辅助矢量信息查询系统平台提供了一种机制。的系统硬件的能力(HWCAP)通过辅助矢量以及可以查询。例如,平台可以用下面的函数动态查询: 字符*平台=(CHAR *)query_auxv(AT_PLATFORM); 信息从HWCAP可以以下面的方式进行查询: 为unsigned long int hwcap_mask =(无符号长整型)query_auxv(AT_HWCAP); (hwcap_mask PPC_FEATURE_HAS_FPU) printf(“请HAS_FPU \ n”); 更多信息使用libauxv和lsauxv可以发现中的指向auxv的和lsauxv提供的高级工具链(请参阅手册页以上)的手册页。 重新链接一个预建应用程序的高级工具链 找到所有的应用程序。Ø文件。您也可以将一个文件来接他们一次。这将需要重新连结。 找到该路径的所有必要的链接共享对象的文件,例如 与libgtk-X11-2.0 / usr/X11R6/lib中libXrender 的/ opt / gnome的/ lib目录 编辑/选择/ atXX / etc / ld.so.conf中,所有的共享对象文件的目录添加到年底这个文件。不要忘了lib64的相当于64位的库,如果适用,例如, 的/ opt / gnome的/ lib目录/ / opt/gnome/lib64 / / usr/X11R6/lib目录 / usr/X11R6/lib64 / 运行高级工具链的ldconfig的应用,以再生/选择/ atXX / etc / ld.so.cache的,例如 sudo的,/选择/ atXX的的/ sbin目录/ ldconfig的 加载程序使用/选择/ atXX的/ etc / ld.so.cache的找到这些库链接的应用。 重新链接使用高级工具链的编译器: 的/ opt / atXX / / GCC-G-O2-O <application_name> <list_of_dot_o_files> \ <list_of_dot_a_files>-L <path_to_libraries> \ -L <one_for_each_library_needed_for_the_link> 例如: / opt/at5.0/bin/gcc-G-O2-O天壤之别callbacks.o interface.o \ main.o中quadmand.o support.o mandel_internals.a \ -L/usr/X11R6/lib -L/usr / X11R6/lib64 -L/opt/gnome/lib-lgtk-X11-2.0 -lgdk-X11-2.0-latk-1.0-lgdk_pixbuf-2.0 \ -lpangocairo-1.0-lpango-1.0-lcairo-lgobject-2.0-lgmodule-2.0低密度脂蛋白\ lglib-2.0-lfreetype的,lfontconfig \ -lXrender-lX11-lXext-lpng12-LZ-lglitz-LM-lstdc + +-lpthread对\ -lgthread-2.0 如果ld给出了一个类似下面的错误,那么你丢失的路径,该库在链接阶段。将它添加到library>-L <path,例如: / opt/at5.0/bin/ld:找不到lgtk-X11-2.0 添加-L/opt/gnome/lib /的GNOME编译行的。你需要告诉链接器在哪里可以找到所有的库。 重链接的应用程序运行时,如果你得到类似下面的错误: /的曼德尔布罗:错误而载入共享库:与libglib-2.0.so.0:无法打开共享对象文件:没有那个文件或目录。 你需要的路径添加到库中的/ opt / atXX / etc / ld.so.conf文件,然后重新运行/ opt / atXX中/ sbin目录/ ldconfig的问题。高级工具链的装载机需要知道在哪里可以找到这些库,并使用所生成的/ opt / atXX的/ etc / ld.so.cache中找到他们。 您可以验证的高级工具链的库拾起运行开头的LD_DEBUG =库的应用程序,例如 LD_DEBUG = /天壤之别所有。 警告:不要使用LD_LIBRARY_PATH指向的高级工具链的库,如果您的应用程序的高级工具链重新连接。这样做可能会导致ld.so和libc.so版本不匹配,导致运行故障。 库搜索路径 /的选择/ atXX / etc / ld.so.conf中已经包含在搜索顺序中包括/ etc / ld.so.conf文件,但你可能需要重新运行/选择/ atXX的/ sbin目录/ ldconfig的填充/选择/ atXX / etc / ld.so.cache的专门的搜索后的高级工具链安装路径添加到/ etc / ld.so.conf中。如果你运行ldd命令对你的二进制文件,它显示,一些图书馆都没有找到,你可能需要重新运行/选择/ atXX的/ sbin目录/ ldconfig来解决这个问题。 使用高级工具链libhugetlbfs的-2.0(或更高) 高级工具链提供了自己的32位和64位版本的libhugetlbfs的2.x版本 使用libhugetlbfs-2.0的更多信息,请参阅高级工具链的libhugetlbfs的手册页: 出口未设置MANPATH MANPATH =“/的选择/ atXX / share / man中MANPATH`” 男人的libhugetlbfs 使用高级工具链libhugetlbfs的1.0 警告: libhugetlbfs的1.0不赞成使用的新用户。请使用libhugetlbfs 2.0(或更高版本)的直接提供的高级工具链。如果您必须使用libhugetlbfs 1.0遵循这些指示。 /选择/ atXX /脚本提供/ createldhuge.sh脚本,这会将/选择/ atXX的/ bin中/ LD到/选择/ atXX /斌/ ld.orig,并创建一个包装脚本中的/ opt / atXX / BIN / LD。你只需要运行,如果你希望提前与libhugetlbfs的工具链。 新的/ opt / atXX / BIN / LD是一个包装脚本检测- hugetlbfs的链接或- hugetlbsf调整开关是否已被传递给链接器。如果这样的话,它设置了一个脚本本地LD环境变量到/选择/ atXX /斌/ ld.orig的调用系统的ld.hugetlbfs的,例如 LD =“/选择/ atXX / BIN / ld.orig”/ usr /共享/ libhugetlbfs的/ ld.hugetlbfs *交换机* 如果没有检测到的hugetlbfs的链接 / hugetlbfs的调整开关,那么它只是转发/ opt / atXX中/ BIN / ld.orig的直接链接器调用。 libhugetlbfs的需要支持,做的第一件事是备份原来的高级工具链连接器,以防万一有问题,你需要手动恢复。 CP-P的/ opt / atXX / BIN / LD /的选择/ atXX /斌/ ld.backup的 脚本在/的选择/ atXX /脚本/将完成剩下的为您的工作: createldhuge.sh restoreld.sh 调用createldhuge.sh创建包装LD: sudo的SH createldhuge.sh / <prefix-to-libhugetlbfs> /股/的libhugetlbfs / ld.hugetlbfs的/ opt / atXX 这必须被执行sudo的(或root)的LD妥善包装脚本来创建。 当/如果你想恢复原来的贷款工具链连接器,只需运行: 命令sh的restoreld.sh。 高级工具链GCC总是忽略-B / <prefix-to-libhugetlbfs> /股/ libhugetlbfs的指令,因为它已建成,总是调用/的选择/ atXX / BIN / LD直接。您可以使用GCC调用你一直使用,例如: 的/ opt / atXX / / GCC temp.c-V-O温度-B / <prefix-to-libhugetlbfs> /股/ libhugetlbfs的/-WL - hugetlbfs的链接BDT 请注意,如果你调用/选择/ atXX的/ bin中/ LD - hugetlbfs的的链接BDT直接,你需要提供一个-M *标志,它一般是由海湾合作委员会直接(见男子LD支持的模拟)。 使用先进工具链与IBM XLC和XLF XLC或XLF编译二进制文件时,用户必须添加-F <path_to_cfg_file>编译器命令行选项。高级工具链提供了一个脚本来创建这些文件在/的选择/ atXX /脚本。在安装过程中,该脚本将自动运行。如果您需要重新运行后(即你安装后的高级工具链安装XLC / XLF),执行以下命令: /的选择/ atXX /脚本/于-CREATE-ibmcmp-cfg.sh的 调用脚本时,请注意绝对路径,不要把它使用的是相对路径。该脚本创建的配置文件在/的选择/ atXX /脚本。 此过程不会影响默认的XLC / XLF配置的。 调试 gdb的都可以问的输出_Decimal [32 | 64 | 128]格式的浮点寄存器默认情况下,使用printf的命令。 当使用objdump的到检查POWER6代码,使一定要使用Mpower6标志: /选择/ atXX的/ bin中/ objdump的-D-Mpower6 <your_file> 同样适用到POWER7代码。 时区 高级工具链,因为在5.0-7 6.0-1 AT,自动设置时区的系统所使用的相同的时区。这是通过符号链接的/ opt / atXX的/ etc / localtime的到/ etc / localtime的。要复制这种行为在高级工具链5.0-6,6.0-0和更早的版本,它是必要的,以取代旧的符号链接: RM-F /选择/ atXX的/ etc / localtime的&& LN-S / etc / localtime的的/ opt / atXX的/ etc / localtime的 这样一来,进一步改变系统的时区会自动反映在高级工具链的时区。 如果有必要,AT可以用不同的时区。在目录/的opt / atXX中/ share / zoneinfo中列出了所有可用的时区。 首先,删除的/ opt / atXX的/ etc / localtime的符号链接: RM-F /的选择/ atXX / etc / localtime的 然后,创建一个符号链接到新的时区,即: LN-S /的选择/ atXX / share / zoneinfo中/欧洲/雅典/选择/ atXX的/ etc / localtime的 SELinux的问题 有一个bug,RHEL6,防止restorecon恢复的背景下符号链接。此错误会影响AT的时区设置。虽然Red Hat工程,以解决这个错误,解决方法是可用的。 更换的硬链接的符号链接: RM-F /选择/ atXX的/ etc / localtime的 LN / etc / localtime的的/ opt / atXX的/ etc / localtime的 但是,如果在不同的文件系统的/ etc和/ opt中存储的唯一的解决办法是复制系统的时区: RM-F /选择/ atXX的/ etc / localtime的 CP / etc / localtime的的/ opt / atXX的/ etc / localtime的 推进工具链的限制和已知问题 oprofile的 “ operf工具上运行SLES 11:如果作为根用户运行operf,只有-系统范围内或- PID模式的支持。这是一个永久的限制。 海湾合作委员会不再有支持循环优化工具链6.0-0提前开始。 libdfp有一些已知的限制所示的libdfp README.user文档。 oprofile的目前不支持使用JVMPI的分析。 oprofile的 Java分析的限制:要使用的oprofile分析的Java虚拟机1.5或更高版本,用户一般有两种选择,当调用JVM 的-agentlib或-agentpath的。然而,当使用高级工具链的oprofile的,你必须使用 agentpath :/ opt/at5.0/lib64/oprofile/libjvmti_oprofile.so 64位JVM,或 agentpath :/ opt/at5.0/lib/oprofile/libjvmti_oprofile.so 32位JVM。 从5.0-0,5.0-1或5.0-2升级到较新版本无法正常工作。问题是固定在5.0-3,并不会影响,也没有较新的版本。如果您需要从5.0-0,5.0-1或5.0-2升级,请卸载的高级工具链,然后再安装新版本。 支持 客户支持高级工具链中提供了三种方式之一: 如果您使用的高级工具链所指示的IBM产品团队(如IBM XL编译器或PowerVM Lx86的),请报告可疑的IBM支持使用该产品的名称和权利的问题。 IBM的Linux产品在美国的支持线现在提供高级工具链以及支持。如果你有一个合同与美国为Linux支持热线,拨打电话给IBM支持: 拨打1-800-426-IBM-SERV。 选项​​#2(其他企业的产品或解决方案)。 选项​​#2(软件)。 选项​​#7(其他的OS / Linux)。 所有其他的用户可以使用被监控的电子论坛,周一至周五。关于使用高级工具链的问题或报告可疑的缺陷,请点击这里。 打开高级工具链主题。 选择“发表新帖回复”。 输入并提交您的问题或问题。 将尝试在2个工作日内初步回应。 高级工具链支持RHEL5,RHEL6,SLES10和SLES11(及其服务包/更新版本)。也可运行兼容性支持RHEL 4,SLES 9。
znuoghco 2013-02-27
  • 打赏
  • 举报
回复
重要注意事项 提前工具链,atXX的运行兼容XX-Y 推进工具链5.x的:不要安装 SLES10和超越或RHEL5和超越。这样做的目的SLES9和RHEL4(见下文)的运行兼容性。通过这样做,你会破坏你的整个的高级Toolcahin安装和你将不得不强行删除所有RPM,以及执行新的安装(见上面的说明,如何做到这一点)。如果你得到一些奇特的“非法指令”或“分割故障”运行时错误时,你是绝对相信那些不应该发生的,你可能会想,以验证是否已安装的兼容性转速: RPM-QA | grep的提前工具 并检查它是否返回提前工具atXX运行时兼容XX-Y 。 推进工具链6.x中:请勿将其安装SLES11和超越或RHEL6及以后,出于同样的原因,上面提到。 的研究进展,如有必要,你可以在你的机器上安装多个版本的RPM包的设计工具链。不同版本将安装在不同的路径。(即/ opt/at5.0 / opt/at6.0高级工具链5.0-X和推进工具链6.0-Y)。 SLES9和RHEL4上安装 - 运行兼容性(版本5.x) SLES9或RHEL4上运行的应用程序的用户可能安装的兼容转提前工具链atXX的运行,兼容XX-Y ,以获得高级工具链优化的运行时库。对于SLES9和RHEL4,优化的库可用于: PPC970 POWER4 POWER5 POWER5 + SLES10和RHEL5的安装 - 运行时的兼容性(6.x版) SLES10或RHEL5上运行的应用程序的用户可能会安装的兼容性转速,提前工具,atXX运行时兼容XX-Y ,以获得高级工具链的运行时库。有没有优化的程序库RPM版本6.0-0开始运行时的兼容性。 运行时高级工具链版本之间的兼容性 用户运行旧版本的高级工具链构建的应用程序可能会安装的兼容性转速,提前工具atXX运行atZZ兼容XX-Y为了运行这些应用程序的高级工具链运行较新版本的顶部,例如,使用AT 6.0运行在5.0构建的应用程序。 安装此套件后,请运行以下命令: / etc / rc.d中/ init.d / atXX的运行atZZ-compat的开始 安装交叉编译器(英特尔x86) 提前工具atXX交-XX-Y , 你可以下载它安装在一台x86机器上建立电力二进制文件。高级工具链安装相同版本的二进制文件所产生的交叉编译器将运行在一个动力系统。安装交叉编译器被支撑在: RHEL5,RHEL6,SLES10和SLES11:高级工具链5.0 RHEL6和SLES11:高级工具链6.0

742

社区成员

发帖
与我相关
我的任务
社区描述
该论坛主要探讨Linux系统在IBM Power平台的安装、部署、应用开发等话题,并为网友们提供自由交流的平台。
社区管理员
  • Power Linux社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧