1 #########################################
3 # Install all the dependencies for HipHop
5 #########################################
7 SCRIPT_NAME
='./configure_ubuntu_12.04.sh'
8 if [ "$0" != "$SCRIPT_NAME" ]; then
9 echo "Run the script from the hiphop-php directory like:"
14 if [ "x${TRAVIS}" != "x" ]; then
15 # Collect some stats for use in tuning build later on
17 CPUS
=`cat /proc/cpuinfo | grep -E '^processor' | tail -1 | cut -d : -f 2`
18 CPUS
=`expr ${CPUS} + 1`
22 export CMAKE_PREFIX_PATH
=`/bin/pwd`/..
24 # install python-software-properties before trying to add a PPA
25 sudo apt-get
-y update
26 sudo apt-get
install -y python-software-properties
28 # install apt-fast to speed up later dependency installation
29 sudo add-apt-repository
-y ppa
:apt-fast
/stable
30 sudo apt-get
-y update
31 sudo apt-get
-y install apt-fast
33 # install the actual dependencies
34 sudo apt-fast
-y update
35 sudo apt-fast
-y install git-core cmake g
++ libboost1.48
-dev libmysqlclient-dev \
36 libxml2-dev libmcrypt-dev libicu-dev openssl build-essential binutils-dev \
37 libcap-dev libgd2-xpm-dev zlib1g-dev libtbb-dev libonig-dev libpcre3-dev \
38 autoconf libtool libcurl4-openssl-dev libboost-regex1.48
-dev libboost-system1.48
-dev \
39 libboost-program-options1.48
-dev libboost-filesystem1.48
-dev libboost-thread1.48
-dev \
40 wget memcached libreadline-dev libncurses-dev libmemcached-dev libbz2-dev \
41 libc-client2007e-dev php5-mcrypt php5-imagick libgoogle-perftools-dev \
42 libcloog-ppl0 libelf-dev libdwarf-dev libunwind7-dev subversion
&
44 git clone git
://github.com
/libevent
/libevent.git
--quiet &
45 git clone git
://github.com
/bagder
/curl.git
--quiet &
46 svn checkout http
://google-glog.googlecode.com
/svn
/trunk
/ google-glog
--quiet &
47 wget http
://www.canonware.com
/download
/jemalloc
/jemalloc-3.0
.0.
tar.bz2
--quiet &
50 git submodule update
--init
52 # wait until all background processes finished
57 echo "waiting for background job $job"
58 wait $job ||
let "FAIL+=1"
61 if [ "$FAIL" == "0" ];
63 echo "all downloads finished"
65 echo "$FAIL errors while downloading!"
69 # Leave this install till after the main parallel package install above
70 # since it adds a non-12.04 package repo and we don't want to
71 # pull EVERYTHING in, just the newer gcc compiler (and toolchain)
73 if [ "x${TRAVIS}" != "x" ]; then
76 sudo add-apt-repository
-y ppa
:ubuntu-toolchain-r
/test
77 sudo apt-get
-y update
78 sudo apt-get
-y install gcc-
${GCC_VER} g
++-${GCC_VER}
79 sudo update-alternatives
--install /usr
/bin
/gcc gcc
/usr
/bin
/gcc-
${GCC_VER} 60 \
80 --slave /usr
/bin
/g
++ g
++ /usr
/bin
/g
++-${GCC_VER}
81 sudo update-alternatives
--install /usr
/bin
/gcc gcc
/usr
/bin
/gcc-4.6
40 \
82 --slave /usr
/bin
/g
++ g
++ /usr
/bin
/g
++-4.6
83 sudo update-alternatives
--set gcc
/usr
/bin
/gcc-
${GCC_VER}
87 git checkout release-1.4
.14b-stable
88 cat ..
/hphp
/third_party
/libevent-1.4
.14.fb-changes.
diff |
patch -p1
90 .
/configure
--prefix=$CMAKE_PREFIX_PATH
98 .
/configure
--prefix=$CMAKE_PREFIX_PATH
105 .
/configure
--prefix=$CMAKE_PREFIX_PATH
111 tar xjvf jemalloc-3.0
.0.
tar.bz2
113 .
/configure
--prefix=$CMAKE_PREFIX_PATH
119 rm -rf libevent curl google-glog jemalloc-3.0
.0.
tar.bz2 jemalloc-3.0
.0
124 echo "-------------------------------------------------------------------------"
125 echo "Done. Now run:"
126 echo " CMAKE_PREFIX_PATH=\`pwd\`/.. make"