Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Скомпилировать php-cgi на виртуальном хостинге
Форумы портала PHP.SU » Серверное администрирование » Администрирование *nix » Скомпилировать php-cgi на виртуальном хостинге

Страниц (1): [1]
 

1. Uchkuma - 01 Февраля, 2011 - 17:26:29 - перейти к сообщению
По совету JustUserR в одной из тем, решил таки я залезть чуть глубже своей компетенции. А именно удаленно скомпилировать бинарник php (на платном виртуальном хостинге).

Подключаюсь по SSH, распаковываю архив и стопарюсь с ошибкой на ./configure.
Конфигурация следующая:
Спойлер (Отобразить)

Последние строки в putty:
Цитата:
checking for gcc... gcc
checking whether the C compiler (gcc ) works... no
configure: error: installation or configuration problem: C compiler cannot create executables.

Смотрю файл config.log:
Цитата:
configure:1605: checking for egrep
configure:1620: checking for a sed that does not truncate output
configure:1785: checking host system type
configure:1885: checking for gcc
configure:1998: checking whether the C compiler (gcc ) works
configure:2014: gcc -o conftest conftest.c 1>&5
./configure: line 2013: /usr/bin/gcc: Permission denied
configure: failed program was:

#line 2009 "configure"
#include "confdefs.h"

main(){return(0);}


И на что у меня нет прав? И что делать?
2. movEAX - 01 Февраля, 2011 - 19:47:10 - перейти к сообщению
Цитата:
/usr/bin/gcc: Permission denied

ls /usr/bin/gcc -l
3. Uchkuma - 01 Февраля, 2011 - 19:58:00 - перейти к сообщению
А там
Цитата:
if { (eval echo configure:2014: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
ac_cv_prog_cc_works=yes

(Добавление)
movEAX отредактировал =)
Ответ на последнее
Цитата:
ls /usr/bin/gcc -l
-rwxr-x--- 2 root 32007 221920 Mar 31 2010 /usr/bin/gcc
4. movEAX - 01 Февраля, 2011 - 20:04:31 - перейти к сообщению
-rwxr-x--- и так
-rwx - владелец (root)
r-x - группа (root)
--- - все остальные
Другими словами, если ты не root или не состоишь в группе root, то фиг gcc запустишь.
Uchkuma пишет:
movEAX отредактировал =)

я повнимательней ознакомился с логом =)
5. Uchkuma - 01 Февраля, 2011 - 20:15:04 - перейти к сообщению
Значит компилятор закрыли для белых людей Недовольство, огорчение
Альтернативы нет? Как же мне бинарник скомпилить?

JustUserR, помнится, советовал установить точно такую же ось на виртуальную машину и скомпилить на ней. Но я не знаю какая точно на сервере. По ssh удалось выяснить только это:
Цитата:
x86_64-unknown-linux-gnu

Вот еще вытащил:
Цитата:
Kernel Version 2.6.18-194.17.4.el5
6. movEAX - 01 Февраля, 2011 - 20:56:22 - перейти к сообщению
Uchkuma пишет:
Альтернативы нет? Как же мне бинарник скомпилить?

Ну, можно пароль рутовский попросить Улыбка
Из репозитория тоже не установить, тот же рут нужен. Проблематичная ситуация.
Uchkuma пишет:
JustUserR, помнится, советовал установить точно такую же ось на виртуальную машину и скомпилить на ней. Но я не знаю какая точно на сервере. По ssh удалось выяснить только это:

cat /etc/issue

Можно конечно запихнуть php в домашний каталог и запускать его оттуда... Вообще какая цель? Просто скомпилить php? Поднять сервер?
7. Uchkuma - 01 Февраля, 2011 - 21:18:41 - перейти к сообщению
movEAX пишет:
cat /etc/issue
это не пашет.
lsb_release -a выдает все поля как n/a (шифруются че-ли?)

Другими способами выяснил:
Цитата:
x86_64-unknown-linux-gnu
Kernel Version 2.6.18-194.17.4.el5
Это похоже на CentOS-5? А то я уже образ с торрента лью.

movEAX пишет:
Вообще какая цель?
Тестирование проекта на разных версиях php. В т.ч. и на шестерке в будущем.
Также есть проект, который делается именно под 4 версию для заказчика, а на сервере стоит пятерка.
8. movEAX - 02 Февраля, 2011 - 10:49:08 - перейти к сообщению
Uchkuma пишет:
это не пашет.

cat /proc/version
cat /etc/*_version
cat /etc/*-release
Но, скорее всего, это ничего не даст и админ не зря получает свою зарплату )
Uchkuma пишет:
Это похоже на CentOS-5?

Если поискать в гугле по версии ядра, то в выдаче в основном CentOS фигурирует.
Uchkuma пишет:
Тестирование проекта на разных версиях php. В т.ч. и на шестерке в будущем.
Также есть проект, который делается именно под 4 версию для заказчика, а на сервере стоит пятерка.

Если все получится - просьба отписаться =)
9. Uchkuma - 02 Февраля, 2011 - 23:35:04 - перейти к сообщению
movEAX, АЛЕЛУЙЯЯЯ!!! Все получилось! Ура!
Скомпилировал на виртуальной машине CentOS 5, залил на хостинг и все заработало с первого раза!

P.S. Кому интересно, исходники старых версий PHP можно скачать здесь.

Пошаговый мануал что ли составить для таких же чайников от юникса...
10. movEAX - 03 Февраля, 2011 - 16:58:17 - перейти к сообщению
Uchkuma пишет:
movEAX, АЛЕЛУЙЯЯЯ!!! Все получилось! Ура!

Поздравляю =)
Uchkuma пишет:
для таких же чайников от юникса...

Это немножко не unix )
11. JustUserR - 07 Февраля, 2011 - 20:40:14 - перейти к сообщению
Uchkuma пишет:
JustUserR, помнится, советовал установить точно такую же ось на виртуальную машину и скомпилить на ней. Но я не знаю какая точно на сервере
Для осуществления корректной сборки двоичного исполняемого файла PHP-интерпретатора при условии проведения соответствующие действий на виртуальной машине в действительности необходимо получение наиболее точной версии ОС и ее библиотек - однако для осуществления коррктного функционирования исполняемого файла необходимо обеспечения совместимости системы исполняемых файлов с учетом размещения сегментов кода и данных - а также конфигурации значений окружения и дополнительных зависимостей для используемых подключаемых динамических библиотек
12. Uchkuma - 10 Февраля, 2011 - 17:51:44 - перейти к сообщению
JustUserR пишет:
необходимо получение наиболее точной версии ОС и ее библиотек
Вычислил дедуктивным методом. А может просто повезло Улыбка
13. JustUserR - 12 Февраля, 2011 - 14:17:15 - перейти к сообщению
Uchkuma пишет:
Вычислил дедуктивным методом. А может просто повезло
В действительности уровень строгости требования к версии ОС и требуемых запрашиваемых библиотечных элементов - определяется количеством включения в исполняемом приложении операций системных вызовов и межпроцессного взаимодействия зависящих от точной платформы - в то время как при использовании приложением унифицированных операций спектр допустимых платформ заметно увеличивается

 

Powered by ExBB FM 1.0 RC1