你好,游客 登录 注册 搜索
背景:
阅读新闻

Ubuntu 11.04 Server X86-64 + ICC 12.0.4 编译 Nginx 1.0.4 与 PHP 5.3.6

[日期:2011-07-05] 来源:iamalex.org  作者:iamalex [字体: ]
如今 Intel 自家的编译器已经发展到了第12个发行版,对于兼容性来说达到了极大的提高,以往版本无法编译的程序现在大部分都可以编译通过了,那么现在,已经到了介绍如何使用 ICC 的时机咯。(采用 ICC 编译的程序运行效率普遍比 GCC 高10%~300%)当然拉,我们还是只介绍 64 位 Linux OS 的安装方式,32位的朋友请先 RIOS

Step 1:确保你的服务器安装的是 Intel 芯片

Step 2:安装 JDK

mkdir /software
cd software
wget http://download.Oracle.com/otn-pub/java/jdk/6u26-b03/jdk-6u26-linux-x64.bin
chmod 777 jdk-6u26-linux-x64.bin
./jdk-6u26-linux-x64.bin

请按照提示一路往下 yes, 最终生成 jdk 文件夹

mv jdk-($version) /usr/local/jdk

修改环境变量

nano /etc/profile

在最下方插入

export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

重启服务器

reboot

检测 JDK 是否安装成功

java -version

Step 3:安装 ICC

首先更新需要支持的软件包

apt-get install gcc g++ libstdc++6

下载并安装 ICC 12

cd /software
wget http://registrationcenter-download.intel.com/akdlm/irc_nas/2136/l_ccompxe_intel64_2011.4.191.tgz
tar zxf l_ccompxe_intel64_2011.4.191.tgz
cd l_ccompxe_intel64_2011.4.191
./install.sh


一路往下,遇到输入序列号部分请输入 N49V-RFT67VK7 注意这是非商用版本,安装成功后需要首先开启编译器系统集成

source /opt/intel/composerxe-2011.4.191/bin/iccvars.sh intel64

至此 ICC 安装成功,检测一下,如遇到文本中未指出错误,请开动脑筋 Google

icc -v

Step 4:安装 PHP NGINX 支持软件包,以下软件包若不偷懒也可采用 ICC 编译

apt-get install autoconf libfreetype6-dev libxml2-dev zlib1g-dev linux-libc-dev libglib2.0-dev bzip2 libbz2-dev libncurses5-dev curl libcurl4-openssl-dev e2fsprogs libkrb5-dev libidn11-dev openssl libssl-dev make libsasl2-dev libperl-dev

下载需要安装的软件

cd /software
libiconv-1.13.1.tar.gz
libmcrypt-2.5.8.tar.gz
mcrypt-2.6.8.tar.gz
mhash-0.9.9.9.tar.gz
php-5.3.6.tar.gz
memcached-1.4.5.tar.gz
memcache-2.2.6.tgz
pcre-8.12.tar.gz
nginx-1.0.4.tar.gz
jpegsrc.v8c.tar.gz
libpng-1.5.2.tar.gz
GD_2_0_33.tar.gz

相关文件下载地址在Linux公社的1号FTP服务器里,下载地址:

FTP地址:ftp://www.linuxidc.com

用户名:www.linuxidc.com

密码:www.muu.cc

在 2011年LinuxIDC.com\7月\Ubuntu 11.04 Server X86-64 + ICC 12.0.4 编译 Nginx 1.0.4 与 PHP 5.3.6

下载方法见这里 http://www.linuxidc.net/thread-1187-1-1.html

针对Ubuntu 11.04 Server X86-64改写支持文件


nano /usr/asm/errno.h
nano /usr/include/linux/param.h
nano /usr/include/sys/syscall.h
nano /usr/include/asm-generic/unistd.h

修改这些文件


asm/
改写为
asm-generic/


编辑链接库文件


nano /etc/ld.so.conf.d/lib.conf


输入


/usr/lib
/usr/local/lib


重新载入链接库


ldconfig


编译安装各种支持类库


tar zxf libiconv-1.13.1.tar.gz
cd libiconv-1.13.1
make distclean
CC=icc \
CXX=icpc \
LD=xild \
AR=xiar \
CFLAGS='-O3 -axsse4.2 -ip -unroll2 -no-prec-div -fp-model source -restrict -static-intel' \
CXXFLAGS='-O3 -axsse4.2 -ip -unroll2 -no-prec-div -fp-model source -restrict -static-intel -fno-implicit-templates -fno-exceptions -fno-rtti' \
./configure -prefix=/usr/local
make
make install
cd ..


tar zxf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
CC=icc \
CXX=icpc \
LD=xild \
AR=xiar \
CFLAGS='-O3 -axsse4.2 -ip -unroll2 -no-prec-div -fp-model source -restrict -static-intel' \
CXXFLAGS='-O3 -axsse4.2 -ip -unroll2 -no-prec-div -fp-model source -restrict -static-intel -fno-implicit-templates -fno-exceptions -fno-rtti' \
./configure
make
make install
ldconfig
cd libltdl
CC=icc \
CXX=icpc \
LD=xild \
AR=xiar \
CFLAGS='-O3 -axsse4.2 -ip -unroll2 -no-prec-div -fp-model source -restrict -static-intel' \
CXXFLAGS='-O3 -axsse4.2 -ip -unroll2 -no-prec-div -fp-model source -restrict -static-intel -fno-implicit-templates -fno-exceptions -fno-rtti' \
./configure --enable-ltdl-install
make
make install
cd ../../


tar zxf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9
CC=icc \
CXX=icpc \
LD=xild \
AR=xiar \
CFLAGS='-O3 -axsse4.2 -ip -unroll2 -no-prec-div -fp-model source -restrict -static-intel' \
CXXFLAGS='-O3 -axsse4.2 -ip -unroll2 -no-prec-div -fp-model source -restrict -static-intel -fno-implicit-templates -fno-exceptions -fno-rtti' \
./configure
make
make install
cd ..


ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la
ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so
ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4
ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8
ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a
ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la
ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so
ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2
ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1
ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config


tar zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8/
ldconfig
CC=icc \
CXX=icpc \
LD=xild \
AR=xiar \
CFLAGS='-O3 -axsse4.2 -ip -unroll2 -no-prec-div -fp-model source -restrict -static-intel' \
CXXFLAGS='-O3 -axsse4.2 -ip -unroll2 -no-prec-div -fp-model source -restrict -static-intel -fno-implicit-templates -fno-exceptions -fno-rtti' \
./configure
make
make install
cd ..


tar zxf jpegsrc.v8c.tar.gz
cd jpeg-8c
CC=icc \
CXX=icpc \
LD=xild \
AR=xiar \
CFLAGS='-O3 -axsse4.2 -ip -unroll2 -no-prec-div -fp-model source -restrict -static-intel' \
CXXFLAGS='-O3 -axsse4.2 -ip -unroll2 -no-prec-div -fp-model source -restrict -static-intel -fno-implicit-templates -fno-exceptions -fno-rtti' \
./configure
make
make install


tar zxf libpng-1.5.2.tar.gz
cd libpng-1.5.2
CC=icc \
CXX=icpc \
LD=xild \
AR=xiar \
CFLAGS='-O3 -axsse4.2 -ip -unroll2 -no-prec-div -fp-model source -restrict -static-intel' \
CXXFLAGS='-O3 -axsse4.2 -ip -unroll2 -no-prec-div -fp-model source -restrict -static-intel -fno-implicit-templates -fno-exceptions -fno-rtti' \
./configure
make
make install


tar zxf GD_2_0_33.tar.gz
cd pierrejoye-gd-libgd-5551f61978e3/src
CC=icc \
CXX=icpc \
LD=xild \
AR=xiar \
CFLAGS='-O3 -axsse4.2 -ip -unroll2 -no-prec-div -fp-model source -restrict -static-intel' \
CXXFLAGS='-O3 -axsse4.2 -ip -unroll2 -no-prec-div -fp-model source -restrict -static-intel -fno-implicit-templates -fno-exceptions -fno-rtti' \
./configure
make
make install
ldconfig

linux
相关资讯       Ubuntu 11.04 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款