64 + ICC 12.0.4 编译 Nginx 1.0.4 与 PHP 5.3.6

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

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

Step 2:安装 JDK

mkdir /software
cd software
wget 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
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

用户名:

密码:

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

下载方法见这里

针对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 ../../

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wywyfp.html