First time here? Check out the FAQ!

Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Centos 5 + Dahdi from src

1

Приветствую! Появилась необходимость собрать * на 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'ом - не было никаких проблем. З.Ы. Систему переставить нельзя, иначе давно бы так сделал.

спросил Sep 7 '11

iye Gravatar iye
31 3 1 6

2 Ответа

1

а вас не смущает что у вас ядро не совпадает с девелом? обновитесь. либо поставте девел нужной версии.

и вообще, зачем в центос * с исходников? есть же репозиторий.

ссылка удалить спам редактировать

ответил Sep 7 '11

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/

Comments

Очень смущает. Я бы даже сказал коробит ). Но я нигде не могу найти исходники нужной версии. Скачал rpm пакет от RHEL, поставил, а там куча патчей, конфигов и еще чего то. Вобщем совсем не то что я ожидал .. как из этой солянки собрать то что мне нужно - вообше не представляю. * из репозитория не ставлю никогда, потому что, как правило, он там никогда так как мне нужно собран не бывает, да еще и какой нибудь древней версии. iye (Sep 7 '11)edit
а yum update не помогает? и перезагрузится? если нет, то надо сделать yum remove kernel-devel ; yum install kernel-devel.2.6.18-92.el5 meral (Sep 8 '11)edit
в репозитории asterisk.org астриск последней версии со всеми включенными опцими. и там жесть dahdi/dahdi-devel. поставте dahdi из репозитория и астериск компильте если сильно хочется. meral (Sep 8 '11)edit
Апдейтнул ядро - и все взлетело. Спасибо! iye (Sep 8 '11)edit
0
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
}

обычно этого хватает чтобы поставить сразу.

ссылка удалить спам редактировать

ответил Sep 7 '11

zzuz Gravatar zzuz flag of Russian Federation
7174 2 6 75
http://line24.ru/

Comments

Эта функция для dahdi_dummy , так что если будет источник синхронизации , то строки где dadhi_dummy ставится можно убрать . Плюс сырцы ядра (точнее его установленная версия) могут не совпасть с /lib/modules/`uname -r`/build zzuz (Sep 7 '11)edit
Попробовал перелинковать /lib/modules/`uname -r`/build - ноль эффекта. Все равно ставит не в ту папку модули (. iye (Sep 7 '11)edit
Исправить в таком случае поможет линк на папку dahdi из /lib/modules/`uname -r`/dahdi на папку /lib/modules/<kernel>/dahdi . После сделать depmod -a и попробывать подгрузить модуль. zzuz (Sep 7 '11)edit
Пробовал до этого просто скопировать и запустить depmod - не помогло. Вашим способом - анналогичный результат. Пишет:Loading DAHDI hardware modules: FATAL: Error inserting dahdi (/lib/modules/2.6.18-92.el5/dahdi/dahdi.ko): Unknown symbol in module, or unknown parameter (see dmesg). В /var/log/message: Sep 7 22:20:28 app kernel: dahdi: Unknown symbol strcasecmp iye (Sep 7 '11)edit
ну так. Не то видимо компилите. или сырцы явно не под версию. zzuz (Sep 7 '11)edit
а что говорит find /lib/modules/ -type d | grep dahdi ? zzuz (Sep 7 '11)edit
find /lib/modules/ -type d | grep dahdi /lib/modules/2.6.18-238.19.1.el5/dahdi /lib/modules/2.6.18-238.19.1.el5/dahdi/wctdm24xxp /lib/modules/2.6.18-238.19.1.el5/dahdi/wct4xxp /lib/modules/2.6.18-238.19.1.el5/dahdi/wcte12xp /lib/modules/2.6.18-238.19.1.el5/dahdi/wctc4xxp /lib/modules/2.6.18-238.19.1.el5/dahdi/xpp /lib/modules/2.6.18-238.19.1.el5/dahdi/wcb4xxp /lib/modules/2.6.18-238.19.1.el5/dahdi/voicebus iye (Sep 8 '11)edit
ага, понятно . А что говорит ls /lib/modules/ ? zzuz (Sep 8 '11)edit
Апдейтнул ядро - и все взлетело. Спасибо! iye (Sep 8 '11)edit

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: Sep 7 '11

Просмотрен: 1,539 раз

Обновлен: Sep 07 '11

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.