Распространенные проблемы компиляции(http://www.asterisk.by/node/78)
Если при попытке выполнения сценария configure возникает такая ошибка, требуется установить компилятор gcc и его зависимости:
configure: error: no acceptable C compiler found in $PATH (configure: ошибка: не найден необходимый компилятор C в $PATH)
Для gcc необходимы следующие пакеты:
gcc cpp glibc-headers glibc-devel glibc-kernheaders
Эти пакеты могут быть установлены вручную путем копирования файлов с диска используемого дистрибутива или посредством диспетчера пакетов yum с помощью команды yum install gcc.
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
Эта ошибка возникает, если в системе не обнаружен препроцессор С++. Требуется установить пакет gcc-c++ и его зависимости:
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
(configure: ошибка: препроцессор С++ "/lib/cpp" не проходит проверку на готовность к работе) Препроцессор gcc-c++ требует наличия следующих пакетов; устанавливаются они путем выполнения команды yum install gcc-c++:
gcc-c++ libstdc++-devel
configure: error: *** termcap support not found
Следующая ошибка может возникнуть при запуске сценария configure, если не установлен пакет libtermcap-devel:
configure: error: *** termcap support not found (configure: ошибка: поддержка *** termcap не выявлена)
Для компиляции Asterisk необходим следующий файл; его можно установить, выполнив команду yum install libtermcap-devel: libtermcap-devel
Zaptel
Ошибки могут возникать и при компиляции Zaptel. Здесь представлены некоторые наиболее распространенные проблемы и способы их решения. Если ниже вы не находите ошибки, с которой столкнулись, посмотрите предыдущий раздел, может быть, вы найдете ее там.
make: cc: Command not found
Следующее сообщение об ошибке будет получено при попытке сборки Zaptel без компилятора gcc:
make: cc: Command not found make: *** [gendigits.o] Error 127 (make: сс: Команда не найдена make: *** [gendigits.o] Ошибка 127)
Убедитесь, что gcc и его зависимости установлены. Больше информации можно найти в подразделе «configure: error: no acceptable C compiler found in $PATH» предыдущего раздела.
FATAL: Module wctdm/fxs/fxo not found
Для плат TDM400P необходима PCI-шина версии 2.2. При попытке загрузить драйверы телефонии Zapata с более старой версией могут возникать следующие ошибки:
При попытке загрузить драйвер wctdm может появиться такое сообщение об ошибке:
FATAL: Module wctdm not found (ФАТАЛЬНАЯ ОШИБКА: Модуль wctdm не найден)
При попытке загрузить драйвер wctdm или wcfxo может появиться такое сообщение об ошибке:
ZT_CHANCONFIG failed on channel 1: No such device or address (6) FATAL: Module wctdm not foun(Не удалось выполнить ZT_CHANCONFIG для канала 1: Такое устройство или адрес не обнаружены (6) ФАТАЛЬНАЯ ОШИБКА: Модуль wctdm не найден)
Единственный способ исправить эти ошибки - использовать более новую системную плату, которая поддерживает PCI версии 2.2:
Также эти ошибки могут возникнуть, если блок питания не подключен в разъем Molex на плате TDM400P.
Неразрешимая символическая ссылка при загрузке ztdummy
Драйвер ztdummy требует наличия доступного контроллера UHCI USB в ядрах Linux 2.4 (USB-котроллер не является обязательным требованием для ядер Linux 2.6, потому что они способны генерировать опорный синхросигнал частотой 1 кГц). Существуют контроллеры вторичного типа, известные как OHCI-контроллеры1, которые несовместимы с драйвером ztdummy. Если контроллер UHCI USB недоступен в ядрах Linux 2.4, возникнет следующая ошибка:
/lib/modules/2.4.22/misc/ztdummy.o: /lib/modules/2.4.22/misc/ztdummy.o: unresolved symbol unlink_td /lib/modules/2.4.22/misc/ztdummy.o: /lib/modules/2.4.22/misc/ztdummy.o: unresolved symbol alloc_td
Open Host Controller Interface - открытый интерфейс хост-контроллера.
/lib/modules/2.4.22/misc/ztdummy.o: /lib/modules/2.4.22/misc/ztdummy.o: unresolved symbol delete_desc /lib/modules/2.4.22/misc/ztdummy.o: /lib/modules/2.4.22/misc/ztdummy.o: unresolved symbol uhci_devices /lib/modules/2.4.22/misc/ztdummy.o: /lib/modules/2.4.22/misc/ztdummy.o: unresolved symbol uhci_interrupt /lib/modules/2.4.22/misc/ztdummy.o: /lib/modules/2.4.22/misc/ztdummy.o: unresolved symbol fill_td /lib/modules/2.4.22/misc/ztdummy.o: /lib/modules/2.4.22/misc/ztdummy.o: unresolved symbol insert_td_horizontal /lib/modules/2.4.22/misc/ztdummy.o: insmod /lib/modules/2.4.22/misc/ ztdummy.o failed /lib/modules/2.4.22/misc/ztdummy.o: insmod ztdummy failed
Убедиться в наличии соответствующего USB-контроллера и связанных с ним драйверов можно с помощью команды lsmod:
# lsmod Module Size Used by usb_uhci 26412 0 usbcore 79040 1 [hid usb-uhci]
Как можно увидеть в приведенном выше примере, мы проверяем, загружены ли модули usbcore и usb_uhci. Если эти модули не загружены, необходимо убедиться, что USB в BIOS активирован и что эти модули есть в наличии.
Если драйверы USB не загружены, все равно с помощью команды dmesg есть возможность проверить тип имеющегося USB-контроллера:
# dmesg | grep -i usb
Наличие контроллера UHCI USB подтвердят следующие строки:
uhci_hcd 0000:00:04.2: new USB bus registered, assigned bus number 1 hub 1-0:1.0: USB hub found uhci_hcd 0000:00:04.3: new USB bus registered, assigned bus number 2 hub 2-0:1.0: USB hub found (uhci hcd 0000:00:04.2: зарегистрирована новая USB-шина, присвоенный номер шины - 1 hub 1-0: обнаружен концентратор USB uhci hcd 0000:00:04.3: зарегистрирована новая USB-шина, присвоенный номер шины - 2 hub 2-0:1.0: обнаружен концентратор USB) Ошибки depmod во время компиляции
Если во время компиляции возникают ошибки depmod, вероятнее всего, отсутствует символическая ссылка на исходные файлы ядра Linux. Если исходные файлы используемого ядра Linux не установлены, необходимо скачать их в Интернете c сайта http://kernel.org, установить и создать символическую ссылку на /usr/src/linux-2.4. Ниже представлен пример ошибки depmod:
depmod: *** Unresolved symbols in /lib/modules/2.4.22/kernel/drivers/block/ loop.o (depmod: *** Неразрешимые символы в /lib/modules/2.4.22/kernel/ drivers/block/loop.o)
|