Приветствую! Появилась необходимость собрать * на 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,538 раз
Обновлен: Sep 07 '11
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.