Приветствую! Появилась необходимость собрать * на Centos. Поставил все необходимые пакеты. Пытаюсь собрать DAHDI с сорцов но получаю:
[root@app]/usr/src/dahdi-linux-complete-2.5.0+2.5.0# make all make -C linux all make[1]: Entering directory `/usr/src/dahdi-linux-complete-2.5.0+2.5.0/linux' make -C drivers/dahdi/firmware firmware-loaders make[2]: Entering directory `/usr/src/dahdi-linux-complete-2.5.0+2.5.0/linux/drivers/dahdi/firmware' make[2]: Leaving directory `/usr/src/dahdi-linux-complete-2.5.0+2.5.0/linux/drivers/dahdi/firmware' You do not appear to have the sources for the 2.6.18-92.el5 kernel installed. make[1]: *** [modules] Error 1 make[1]: Leaving directory `/usr/src/dahdi-linux-complete-2.5.0+2.5.0/linux' make: *** [all] Error 2
Хотя пакет kernel-devel установлен:
[root@app]/usr/src/dahdi-linux-complete-2.5.0+2.5.0# yum list installed | grep kernel kernel.x86_64 2.6.18-92.el5 installed kernel-devel.x86_64 2.6.18-238.19.1.el5 installed
Попытался явно указать, через экспорт переменной KSRC. Все собирается, но модуля попадают в папку /lib/modules/2.6.18-238.19.1.el5 вместо /lib/modules/2.6.18-92.el5. Пытался сделать и через симлинк с нужным именем версии ядра на папку сорцов и через полное копирование - результат тот же. Попытался переложить модуля из 2.6.18-238.19.1.el5 в 2.6.18-92.el5 и запустить depmod -a. Модуля ядро видит, но грузить не хочет. Что я делаю не правильно ? До этого пользовался Debian'ом - не было никаких проблем. З.Ы. Систему переставить нельзя, иначе давно бы так сделал.
а вас не смущает что у вас ядро не совпадает с девелом? обновитесь. либо поставте девел нужной версии.
и вообще, зачем в центос * с исходников? есть же репозиторий.
function build_dahdi { function fix_kern { mv /lib/modules/`uname -r`/build /lib/modules/`uname -r`/build.bak source_kern=`find /usr/src/ -type d -name "2.6*" | grep kernel | awk '{print $1}'` ln -s $source_kern /lib/modules/`uname -r`/build } wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz -O - | tar zxf - -C /usr/src cd /usr/src/dahdi* ; make clean ; make || fix_kern ; make all || return 0; make install ;make config if [ ! -f /lib/modules/`uname -r`/dahdi/dahdi_dummy.ko ]; then cd linux; make MODULES_EXTRA="dahdi_dummy" cp drivers/dahdi/dahdi_dummy.ko /lib/modules/`uname -r`/dahdi depmod -a modprobe dahdi_dummy fi sed '${/\/usr\/lib\// !{/^$/!s/$/\n\/usr\/lib\//};}' -i /etc/ld.so.conf ; cd /usr/src/libpri* ; make ; make install ; ldconfig depmod -a modprobe dahdi || (ln -s `find /lib/modules/ -type d -name 'dahdi'` /lib/modules/`uname -r`/dahdi ; depmod -a ;modprobe dahdi ) /etc/init.d/dahdi start }
обычно этого хватает чтобы поставить сразу.
Задан: 2011-09-07 15:14:40 +0400
Просмотрен: 1,598 раз
Обновлен: Sep 07 '11
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.