Назад | Перейти на главную страницу

ошибка компиляции 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 с той же проблемой.

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