Установка скриптов под 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. Если запустить скрипт из консоли то можно увидеть сообщение:
Код:ELF interpreter /usr/libexec/ld-elf.so.1 not found
Abort
Для решения этой проблемы необходимо установить поддержку 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 можно увидеть сообщение:
Код:/usr/libexec/ld-elf.so.1: Shared object "libc.so.4" not found
Решается следующей командой от root пользователя:
Код:ln -s /usr/lib32/libc.so /usr/lib32/libc.so.4
Команда проверка:
Код:ls -l /usr/lib32/libc.so.4
Требуемый результат от проверки:
Код:lrwxr-xr-x 1 root wheel 18 Jun 18 11:21 /usr/lib32/libc.so.4 -> /usr/lib32/libc.so
Также в топлисте members.cgi может потребовать библиотеку libm.so.2 (/usr/libexec/ld-elf.so.1: Shared object "libm.so.2" not found, required by "members.cgi")
Поступаем аналогично:
Код:ln -s /usr/lib32/libm.so /usr/lib32/libm.so.2