Ошибка компиляции php5 с gd для ubuntu 12.04

Мне нужно imageantialias() работать на сервере, который я построил. Я выполнил PHP раньше, но по какой-то причине я больше не могу. Я запустил эти шаги, чтобы попробовать:

  1. apt-get source php5
  2. apt-get build-dep php5
  3. cd php5-*
  4. nano debian/rules
  5. найти эту строку --with-gd=shared,/usr --enable-gd-native-ttf \ и удалить ,/usr
  6. Сохранить и выйти
  7. nano debian/setup_mysql.sh
  8. ищи Start the daemon
  9. добавлять –user=root после mysqld
  10. Сохранить и выйти
  11. 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
Другие вопросы по тегам