I am attempting to install Dahdi on a virtual machine running Centos 5.5 and
having various problems.
yum install kernel-devel gcc make gcc-c++ libxml2-devel
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.optus.net
* extras: mirror.optus.net
* rpmforge: fr2.rpmfind.net
* updates: mirror.optus.net
Setting up Install Process
Package kernel-devel-2.6.18-238.9.1.el5.x86_64 already installed and
latest version
Package gcc-4.1.2-50.el5.x86_64 already installed and latest version
Package 1:make-3.81-3.el5.x86_64 already installed and latest version
Package gcc-c++-4.1.2-50.el5.x86_64 already installed and latest version
Package libxml2-devel-2.6.26-2.1.2.8.el5_5.1.x86_64 already installed
and latest version
Package libxml2-devel-2.6.26-2.1.2.8.el5_5.1.i386 already installed and
latest version
Nothing to do
[root at atlantis dahdi-linux-2.4.1.2]# make
make -C drivers/dahdi/firmware firmware-loaders
make[1]: Entering directory
`/usr/src/dahdi-linux-2.4.1.2/drivers/dahdi/firmware'
make[1]: Leaving directory
`/usr/src/dahdi-linux-2.4.1.2/drivers/dahdi/firmware'
You do not appear to have the sources for the 2.6.18-238.el5 kernel
installed.
So we're running a different kernel...
uname -r
2.6.18-238.el5
Downloaded kernel sources for 2.6.18-238.el5
[user at atlantis ~]$ mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
[user at atlantis ~]$ echo '%_topdir %(echo $HOME)/rpmbuild' >
~/.rpmmacros
[user at atlantis ~]$cd ~/rpmbuild/SPECS
[user at atlantis ~]$rpmbuild -bp --target=`uname -m` kernel-2.6.spec
2> prep-err.log | tee prep-out.log
[root at atlantis kernel-2.6.18]# cp
/home/user/rpmbuild/BUILD/kernel-2.6.18/linux-2.6.18.x86_64
/usr/src/kernels/2.6.18-238.el5-x86_64 -R
[root at atlantis dahdi-linux-complete-2.4.1.2+2.4.1]# make all
/usr/src/dahdi-linux-complete-2.4.1.2+2.4.1/linux/drivers/dahdi/dahdi-base.c:8652:
error: invalid use of undefined type ???struct module???
/usr/src/dahdi-linux-complete-2.4.1.2+2.4.1/linux/drivers/dahdi/dahdi-base.c:8652:
error: ???struct dahdi_chan??? has no member named ???pulsecount???
etc etc
This article
(http://asteriskfaqs.org/2011/01/30/asterisk-users/invalid-use-of-undefined-type-struct-module.html)
indicates that those errors are the result of not having CONFIG_MODULES set in
the kernel config.
cd /home/user/rpmbuild/BUILD/kernel-2.6.18/linux-2.6.18.x86_64
make menuconfig
[*] Enable loadable module support
Legend: [*] built-in
Any advice appreciated.
Shaun Ruffell
2011-May-04 16:56 UTC
[asterisk-users] Invalid use of undefined type when make dahdi
On Wed, May 04, 2011 at 09:56:40PM +1200, CB wrote:> I am attempting to install Dahdi on a virtual machine running Centos 5.5 and > having various problems. > > yum install kernel-devel gcc make gcc-c++ libxml2-devel > Loaded plugins: fastestmirror > Loading mirror speeds from cached hostfile > * base: mirror.optus.net > * extras: mirror.optus.net > * rpmforge: fr2.rpmfind.net > * updates: mirror.optus.net > Setting up Install Process > Package kernel-devel-2.6.18-238.9.1.el5.x86_64 already installed and > latest version > Package gcc-4.1.2-50.el5.x86_64 already installed and latest version > Package 1:make-3.81-3.el5.x86_64 already installed and latest version > Package gcc-c++-4.1.2-50.el5.x86_64 already installed and latest version > Package libxml2-devel-2.6.26-2.1.2.8.el5_5.1.x86_64 already installed > and latest version > Package libxml2-devel-2.6.26-2.1.2.8.el5_5.1.i386 already installed and > latest version > Nothing to do > > [root at atlantis dahdi-linux-2.4.1.2]# make > make -C drivers/dahdi/firmware firmware-loaders > make[1]: Entering directory > `/usr/src/dahdi-linux-2.4.1.2/drivers/dahdi/firmware' > make[1]: Leaving directory > `/usr/src/dahdi-linux-2.4.1.2/drivers/dahdi/firmware' > You do not appear to have the sources for the 2.6.18-238.el5 kernel > installed. > > So we're running a different kernel... > > uname -r > 2.6.18-238.el5 > > Downloaded kernel sources for 2.6.18-238.el5 > > [user at atlantis ~]$ mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS} > [user at atlantis ~]$ echo '%_topdir %(echo $HOME)/rpmbuild' > > ~/.rpmmacros > [user at atlantis ~]$cd ~/rpmbuild/SPECS > [user at atlantis ~]$rpmbuild -bp --target=`uname -m` kernel-2.6.spec > 2> prep-err.log | tee prep-out.log > > [root at atlantis kernel-2.6.18]# cp > /home/user/rpmbuild/BUILD/kernel-2.6.18/linux-2.6.18.x86_64 > /usr/src/kernels/2.6.18-238.el5-x86_64 -R > > [root at atlantis dahdi-linux-complete-2.4.1.2+2.4.1]# make all > > /usr/src/dahdi-linux-complete-2.4.1.2+2.4.1/linux/drivers/dahdi/dahdi-base.c:8652: > error: invalid use of undefined type ???struct module??? > /usr/src/dahdi-linux-complete-2.4.1.2+2.4.1/linux/drivers/dahdi/dahdi-base.c:8652: > error: ???struct dahdi_chan??? has no member named ???pulsecount??? > etc etc > > This article (http://asteriskfaqs.org/2011/01/30/asterisk-users/invalid-use-of-undefined-type-struct-module.html) indicates that those errors are the result of not having CONFIG_MODULES set in the kernel config. > > cd /home/user/rpmbuild/BUILD/kernel-2.6.18/linux-2.6.18.x86_64 > make menuconfig > [*] Enable loadable module support > > Legend: [*] built-in > > Any advice appreciated.It still looks like the kernel that is running doesn't match the kernel that you prepped. Can you "yum install kernel-devel-`uname -r`" after cleaning up the /usr/src/kernels/2.6.18-238.el5-x86_64 directory and then build? -- Shaun Ruffell Digium, Inc. | Linux Kernel Developer 445 Jan Davis Drive NW - Huntsville, AL 35806 - USA Check us out at: www.digium.com & www.asterisk.org