DF Forum
/cgi-bin/YaBB.pl Russian Forum >> Общие и организационные вопросы >> Установка скриптов под 32/64- битные ОС FreeBSD 5+ /cgi-bin/YaBB.pl?num=1244026184 Сообщение написано DVA в 06/03/09 :: 13:49:43 |
Заголовок: Установка скриптов под 32/64- битные ОС FreeBSD 5+ Создано DVA в 06/03/09 :: 13:49:43 Установка скриптов под 32-битные ОС FreeBSD 5+. У некоторых пользователей могли возникнуть проблемы с установкой наших скриптов в FreeBSD 5+, т.к. дистрибутивы откомпилированы под FreeBSD 4.x. Если на сервере не установлена поддержка libc для 4 версии FreeBSD, то при запуске cgi-скриптов выдается Internal Server Error. При этом в логе apache можно наблюдать следующее: /usr/libexec/ld-elf.so.1: Shared object "libc.so.4" not found, также при запуске любого cgi скрипта из консоли тоже выдается эта ошибка. Это значит что на сервере нет библиотеки libc.so.4 или не найден путь к ней. Решается это следущим образом: Способ 1. Необходимо установить поддержку libc для 4 версии FreeBSD. Способ 2. Необходимо создать ссылку /usr/lib/libc.so.4 на /usr/lib/libc.so В шелле от рута (root) выполняется следующая комманда: Code:
Code:
Если при попытке создать ссылку, возникает ошибка: Code:
это значит что такой файл уже есть, но скорей всего он является символической ссылкой (http://ru.wikipedia.org/wiki/Ln_(UNIX)) ссылающейся на несуществующий файл. В этом можно убедиться с помощью команды: Code:
Смотрим куда ссылается libc.so.4 и есть ли файл на который ссылается libc.so.4: Code:
Если файла на который ссылается libc.so.4 не существует, необходимо удалить libc.so.4 и создать новую символическую ссылку на существующий файл libc.so (libc.so обычно имеется не зависимо от версии FreeBSD). Удаляем старый файл: Code:
Создаем новую символическую ссылку: Code:
|
Заголовок: Re: Установка скриптов под 32 битные ОС FreeBSD 5+ Создано DVA в 06/18/09 :: 16:06:54 Установка скриптов под 64-битные ОС FreeBSD 7+. В настоящее время большинство наших скриптов компилируются под 32-битную ОС FreeBSD 4.x (для совместимости и уменьшения количества дистрибутивов), связи с этим при установке скриптов под 64-битные ОС FreeBSD возможны следующие проблемы: - Отсутствие на сервере поддержки 32-битных программ (ELF interpreter /usr/libexec/ld-elf.so.1 not found) - Отсутствие библиотеки libc.so.4 (/usr/libexec/ld-elf.so.1: Shared object "libc.so.4" not found) ! Для решения этих проблем необходимо иметь root доступ к серверу. Отсутствие на сервере поддержки 32 битных программ. При запуске cgi-скриптов из веб сервер выдает ошибку Internal Server Error. Если запустить скрипт из консоли то можно увидеть сообщение: Code:
Для решения этой проблемы необходимо установить поддержку 32-битных программ в FreeBSD. Для этого заходим в консоль как root пользователь и запускаем утилиту sysinstall и устанавливаем "lib32 32-bit runtime compatibility libraries" (см. картинку внизу). После установки 32-битных библиотек, cgi-скрипты скорей всего сразу не заработают (наверняка возникнет проблема с поиском libc.so.4, описанная ниже), но ld-elf.so.1 больше спрашивать не будут. Отсутствие библиотеки libc.so.4 Симптомы и решение этой проблемы аналогично 32-битной версии. При запуске cgi-скриптов из веб сервер выдает ошибку Internal Server Error. При запуске скрипта из консоли и в логе apache можно увидеть сообщение: Code:
Решается следующей командой от root пользователя: Code:
Команда проверка: Code:
Требуемый результат от проверки: Code:
Также в топлисте members.cgi может потребовать библиотеку libm.so.2 (/usr/libexec/ld-elf.so.1: Shared object "libm.so.2" not found, required by "members.cgi") Поступаем аналогично: Code:
|
DF Forum » Powered by YaBB 2.2.1! YaBB © 2000-2008. Все права защищены. Localization by mySOPROMAT.ru |