Ошибка компиляции php5 с gd для ubuntu 12.04
Мне нужно 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 с той же проблемой.
1 ответ
Просто подумал, что я бы это выполнил для всех, у кого такая же проблема. Мне пришлось исправить эту же проблему на сервере 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