We tried to update Dahdi on a production server from dahdi-linux-2.7.0 to 2.9.1 and we got the output below, going back to 2.7.0 it makes, installs and works just fine, I’ve tried all releases since 2.7.0 and they all fail in the same way, any suggestions? The server is running CentOS 5.5, 2.6.18-194.26.1.el5 64bit.
make: Leaving directory
/usr/src/dahdi-linux-2.9.1/drivers/dahdi/firmware' make -C /lib/modules/2.6.18-194.26.1.el5/build SUBDIRS=/usr/src/dahdi-linux-2.9.1/drivers/dahdi DAHDI_INCLUDE=/usr/src/dahdi-linux-2.9.1/include DAHDI_MODULES_EXTRA=" " HOTPLUG_FIRMWARE=yes modules DAHDI_BUILD_ALL=m make: Entering directory/usr/src/kernels/2.6.18-194.26.1.el5-x86_64’
CC [M] /usr/src/dahdi-linux-2.9.1/drivers/dahdi/dahdi-base.o
CC [M] /usr/src/dahdi-linux-2.9.1/drivers/dahdi/dahdi-sysfs.o
/usr/src/dahdi-linux-2.9.1/drivers/dahdi/dahdi-sysfs.c: In function â€˜dahdi_sysfs_initâ€™:
/usr/src/dahdi-linux-2.9.1/drivers/dahdi/dahdi-sysfs.c:798: error: expected â€˜)â€™ before â€˜pr_fmtâ€™
make: *** [/usr/src/dahdi-linux-2.9.1/drivers/dahdi/dahdi-sysfs.o] Error 1
make: *** [module/usr/src/dahdi-linux-2.9.1/drivers/dahdi] Error 2
make: Leaving directory `/usr/src/kernels/2.6.18-194.26.1.el5-x86_64’
make: *** [modules] Error 2
Hmm…the easiest thing to do would be to update to at least CentOS 5.6.
Kernel version 2.6.18-238.1.1.el5-x86_64 has all the necessary definitions backported.
Even if pr_fmt was defined in DAHDI, there is still an issue with a missing cancel_work_sync function that is not in those kernel versions.
If you cannot update the kernel for some reason, I could make a patch (it was an oversight that it doesn’t work with your kernel version, but as a general matter we only test against the latest kernels the the major supported distribution releases) but it would need to run through some testing.
Thanks for the suggestions Shaun. I’m not sure we have the expertise to do a point upgrade on a production server with confidence should anything break. However, although we’d be comfortable with a patch it would seem unreasonable to expect such.
There will come a time when we look at a replacement for the current server and at that time we’d install the latest OS etc, but in the mean time maybe we’ll just stick with 2.7.0, it works and doesn’t cause us any issues. I normally try to keep up with releases but do you see any reason why we shouldn’t just stick with what we’ve got?
I don’t see any reason you shouldn’t stick with 2.7.0.
I just checked to see what was committed on the 2.7.y branch since the 2.7.0 release, and there isn’t anything here that would lead me to recommend an upgrade on an otherwise functioning system:
$ git shortlog v2.7.0..2.7.y
Oron Peled (2):
sysfs: bugfix: shorten too long file names
xpp: fix waitfor_xpds race at startup
Russ Meyerriecks (2):
wcte13xp: Start the span in unconfigured, instead of red state
wcte13xp: Workaround rare nmi on modprobe on select systems
Shaun Ruffell (5):
dahdi: Do not set rxbufpolicy when opening dahdi net device.
build_tools/make_version: Fix typo in build_tools/make_version.
dahdi: CentOS 6.5 backported PDE_DATA definition.
dahdi: Fix previous CentOS 6.5 commit.
wctdm24xxp: Reset module specific type information on probe.
I’ll circle back around with you if I create a fix for this.
Thanks, in that case we’ll stick with 2.7.0 and keep a watch on later changes, advice much appreciated.
The current trunk of dahdi-linux has two commits that will allow you to run with CentOS 5.5.
dahdi: Define pf_fmt() globally in kernel.h and wcte43x: Build against 2.6.18 and CentOS 5.5
Any DAHDI-Linux commits after 220.127.116.11 will contain them.
That’s great news, I’ll report back when we’ve tried a new release, many thanks.
I tried the patch and pr_fmt issue is gone. I am getting the below error further in the another file
usr/src/dahdi-linux-complete-18.104.22.168+2.8.0/linux/drivers/dahdi/wcte43x-base.c:3373: error: âWCXB_RESET_NOWâ undeclared (first use in this function)
/usr/src/dahdi-linux-complete-22.214.171.124+2.8.0/linux/drivers/dahdi/wcte43x-base.c:3373: error: (Each undeclared identifier is reported only once
/usr/src/dahdi-linux-complete-126.96.36.199+2.8.0/linux/drivers/dahdi/wcte43x-base.c:3373: error: for each function it appears in.)
/usr/src/dahdi-linux-complete-188.8.131.52+2.8.0/linux/drivers/dahdi/wcte43x-base.c:3373: error: too many arguments to function âwcxb_check_firmwareâ
I am using the followings:
– Centos 5.5
– Arch = 32bit
the only difference i see is my OS architecture. Please let me what modification i need to do in order to fix it. My new ZAP card only work with Dahdi 2.8 or later so must for me to upgrade and i can not upgrade my OS.
Looking at your file paths, it looks like you tried patching the two files on top of 184.108.40.206.
I would try updating to dahdi-linux-complete-220.127.116.11+2.9.1.tar.gz before applying the patches if you are unable to install git and then install from source.
We’ve just updated dahdi-linux and tools to 2.9.2 and all went well, working just fine thanks.