Ubuntu
使用 gd 為 ubuntu 12.04 編譯 php5 時出錯
我需要在
imageantialias()
我建構的伺服器上工作。我以前編譯過 PHP,但由於某種原因我不能再這樣做了。我執行了這些步驟來嘗試:
apt-get source php5
apt-get build-dep php5
cd php5-*
nano debian/rules
- 找到這一行
--with-gd=shared,/usr --enable-gd-native-ttf \
並刪除,/usr
- 保存並退出
nano debian/setup_mysql.sh
- 搜尋
Start the daemon
–user=root
在後面加上mysqld
- 保存並退出
dpkg-buildpackage –rfakeroot -us –uc -d
然後它執行了很長時間,然後在這裡結束:
make[1]: Leaving directory `/usr/src/php5-5.3.10/cgi-build' sed -i -e 's/-d output_buffering=1 -d open_basedir="" -d safe_mode=0/-d output_buffering=1 -d open_basedir="" -d safe_mode=0 -d memory_limit="-1"/' \ /usr/src/php5-5.3.10/pear-build/usr/bin/pear && \ sed -i -e 's/-d output_buffering=1 -d safe_mode=0/-d output_buffering=1 -d open_basedir="" -d safe_mode=0 -d memory_limit="-1"/' \ /usr/src/php5-5.3.10/pear-build/usr/bin/pecl && \ sed -i -e 's/-d memory_limit="-1"//' \ -e 's/-d output_buffering=1 -d open_basedir="" -d safe_mode=0/-d output_buffering=1 -d open_basedir="" -d safe_mode=0 -d memory_limit="-1"/' \ /usr/src/php5-5.3.10/pear-build/usr/bin/peardev sed -i -re "s#('PEAR_CONFIG_SYSCONFDIR', PHP_SYSCONFDIR)#\1 . '/pear'#" /usr/src/php5-5.3.10/pear-build/usr/share/php/PEAR/Config.php patch -s -d /usr/src/php5-5.3.10/pear-build/usr/share/php/ -p1 -i /usr/src/php5-5.3.10/debian/patches/PEAR-Builder-print-info-about-php5-dev.patch touch build-pear-stamp mkdir -p temp_session_store # start our own mysql server for the tests /bin/sh debian/setup-mysql.sh 2963 /usr/src/php5-5.3.10/mysql_db make: *** [test-results.txt] Error 1 dpkg-buildpackage: error: debian/rules build gave error exit status 2
我在沒有修改的情況下嘗試了它,
setup-mysql.sh
但同樣的事情發生了。我不確定為什麼這不起作用。我知道我上次這樣做時遇到了很多麻煩。此外,我已經在兩個單獨的 12.04 伺服器上嘗試過這個問題,但問題相同。
只是想我會把這個放在那裡,給其他有同樣問題的人。我不得不在 Ubuntu 伺服器上解決同樣的問題,而這篇文章(歸功於編寫它的人)實際上涵蓋了解決方案。
簡而言之:
錯誤:
make: *** [test-results.txt] Error 1 dpkg-buildpackage: error: debian/rules build gave error exit status 2
解決方案(如上述文章中所述):
這是因為mysql伺服器拒絕在root下執行造成的
$ sudo vim debian/setup-mysql.sh
在此文件中註釋啟動伺服器的行,並複制命令,添加“–user=root”參數:
# Start the daemon #$mysqld > $datadir/run.log 2>&1 & #add root user $mysqld --user=root > $datadir/run.log 2>&1 &
然後最後:
$ sudo dpkg-buildpackage -rfakeroot