Recompiling Dahdi

So I loaded the beta onto an existing Raspian 10 platform and found the wiki entry about recompiling dahdi. Except it appears to be broken too…

In /usr/source, there is directory asl-dahdi-3.0.1.20200801-0.1

so I cd’d there and ran make. All sorts of errors:

root@raspian:/usr/src/asl-dahdi-3.0.1.20200801-0.1# make
make -C drivers/dahdi/firmware firmware-loaders
make[1]: Entering directory ‘/usr/src/asl-dahdi-3.0.1.20200801-0.1/drivers/dahdi/firmware’
make[1]: Leaving directory ‘/usr/src/asl-dahdi-3.0.1.20200801-0.1/drivers/dahdi/firmware’
make -C /lib/modules/5.10.17-v7+/build M=/usr/src/asl-dahdi-3.0.1.20200801-0.1/drivers/dahdi DAHDI_INCLUDE=/usr/src/asl-dahdi-3.0.1.20200801-0.1/include DAHDI_MODULES_EXTRA=" " HOTPLUG_FIRMWARE=yes modules DAHDI_BUILD_ALL=m
make[1]: Entering directory ‘/usr/src/linux-headers-5.10.17-v7+’
/usr/src/asl-dahdi-3.0.1.20200801-0.1/drivers/dahdi/Kbuild:61: CPU Architecture ‘arm’ does not support VPMADT032 or HPEC. Skipping.
scripts/Makefile.lib:12: ‘hostprogs-y’ is deprecated. Please use ‘hostprogs’ instead
CC [M] /usr/src/asl-dahdi-3.0.1.20200801-0.1/drivers/dahdi/dahdi-base.o
/usr/src/asl-dahdi-3.0.1.20200801-0.1/drivers/dahdi/dahdi-base.c:10313:3: error: ‘const struct file_operations’ has no member named ‘ioctl’; did you mean ‘iopoll’?
.ioctl = dahdi_ioctl,
^~~~~
iopoll
/usr/src/asl-dahdi-3.0.1.20200801-0.1/drivers/dahdi/dahdi-base.c:10313:13: error: positional initialization of field in ‘struct’ declared with ‘designated_init’ attribute [-Werror=designated-init]
.ioctl = dahdi_ioctl,
^~~~~~~~~~~
/usr/src/asl-dahdi-3.0.1.20200801-0.1/drivers/dahdi/dahdi-base.c:10313:13: note: (near initialization for ‘dahdi_fops’)
/usr/src/asl-dahdi-3.0.1.20200801-0.1/drivers/dahdi/dahdi-base.c:10313:13: error: initialization of ‘int (*)(struct file , loff_t, loff_t, int)’ {aka ‘int ()(struct file , long long int, long long int, int)’} from incompatible pointer type ‘int ()(struct inode *, struct file , unsigned int, long unsigned int)’ [-Werror=incompatible-pointer-types]
/usr/src/asl-dahdi-3.0.1.20200801-0.1/drivers/dahdi/dahdi-base.c:10313:13: note: (near initialization for ‘dahdi_fops.fsync’)
/usr/src/asl-dahdi-3.0.1.20200801-0.1/drivers/dahdi/dahdi-base.c:10329:3: error: ‘const struct file_operations’ has no member named ‘ioctl’; did you mean ‘iopoll’?
.ioctl = dahdi_timer_ioctl,
^~~~~
iopoll
/usr/src/asl-dahdi-3.0.1.20200801-0.1/drivers/dahdi/dahdi-base.c:10329:13: error: positional initialization of field in ‘struct’ declared with ‘designated_init’ attribute [-Werror=designated-init]
.ioctl = dahdi_timer_ioctl,
^~~~~~~~~~~~~~~~~
/usr/src/asl-dahdi-3.0.1.20200801-0.1/drivers/dahdi/dahdi-base.c:10329:13: note: (near initialization for ‘dahdi_timer_fops’)
/usr/src/asl-dahdi-3.0.1.20200801-0.1/drivers/dahdi/dahdi-base.c:10329:13: error: initialization of ‘int (
)(struct file , loff_t, loff_t, int)’ {aka ‘int ()(struct file , long long int, long long int, int)’} from incompatible pointer type ‘int ()(struct inode *, struct file , unsigned int, long unsigned int)’ [-Werror=incompatible-pointer-types]
/usr/src/asl-dahdi-3.0.1.20200801-0.1/drivers/dahdi/dahdi-base.c:10329:13: note: (near initialization for ‘dahdi_timer_fops.fsync’)
/usr/src/asl-dahdi-3.0.1.20200801-0.1/drivers/dahdi/dahdi-base.c:10420:3: error: ‘const struct file_operations’ has no member named ‘ioctl’; did you mean ‘iopoll’?
.ioctl = nodev_ioctl,
^~~~~
iopoll
/usr/src/asl-dahdi-3.0.1.20200801-0.1/drivers/dahdi/dahdi-base.c:10420:13: error: positional initialization of field in ‘struct’ declared with ‘designated_init’ attribute [-Werror=designated-init]
.ioctl = nodev_ioctl,
^~~~~~~~~~~
/usr/src/asl-dahdi-3.0.1.20200801-0.1/drivers/dahdi/dahdi-base.c:10420:13: note: (near initialization for ‘nodev_fops’)
/usr/src/asl-dahdi-3.0.1.20200801-0.1/drivers/dahdi/dahdi-base.c:10420:13: error: initialization of ‘loff_t (
)(struct file , loff_t, int)’ {aka ‘long long int ()(struct file , long long int, int)’} from incompatible pointer type ‘int ()(struct inode *, struct file , unsigned int, long unsigned int)’ [-Werror=incompatible-pointer-types]
/usr/src/asl-dahdi-3.0.1.20200801-0.1/drivers/dahdi/dahdi-base.c:10420:13: note: (near initialization for ‘nodev_fops.llseek’)
/usr/src/asl-dahdi-3.0.1.20200801-0.1/drivers/dahdi/dahdi-base.c:10437:3: error: ‘const struct file_operations’ has no member named ‘ioctl’; did you mean ‘iopoll’?
.ioctl = dahdi_ioctl,
^~~~~
iopoll
/usr/src/asl-dahdi-3.0.1.20200801-0.1/drivers/dahdi/dahdi-base.c:10437:13: error: positional initialization of field in ‘struct’ declared with ‘designated_init’ attribute [-Werror=designated-init]
.ioctl = dahdi_ioctl,
^~~~~~~~~~~
/usr/src/asl-dahdi-3.0.1.20200801-0.1/drivers/dahdi/dahdi-base.c:10437:13: note: (near initialization for ‘dahdi_chan_fops’)
/usr/src/asl-dahdi-3.0.1.20200801-0.1/drivers/dahdi/dahdi-base.c:10437:13: error: initialization of ‘int (
)(struct file , loff_t, loff_t, int)’ {aka ‘int ()(struct file , long long int, long long int, int)’} from incompatible pointer type ‘int ()(struct inode *, struct file *, unsigned int, long unsigned int)’ [-Werror=incompatible-pointer-types]
/usr/src/asl-dahdi-3.0.1.20200801-0.1/drivers/dahdi/dahdi-base.c:10437:13: note: (near initialization for ‘dahdi_chan_fops.fsync’)
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:279: /usr/src/asl-dahdi-3.0.1.20200801-0.1/drivers/dahdi/dahdi-base.o] Error 1
make[1]: *** [Makefile:1804: /usr/src/asl-dahdi-3.0.1.20200801-0.1/drivers/dahdi] Error 2
make[1]: Leaving directory ‘/usr/src/linux-headers-5.10.17-v7+’
make: *** [Makefile:74: modules] Error 2
root@raspian:/usr/src/asl-dahdi-3.0.1.20200801-0.1#

Beta Apt Repository

You can install Debian 10 and add our beta apt repo instead of using an image. This is not recommended as the DAHDI package can be finicky with newer kernels.

Automatically

wget http://apt.allstarlink.org/repos/asl_builds/install-allstarlink-repository . ./install-allstarlink-repository

Manually

Add a file /etc/apt/sources.list.d/allstar.list and the following contents:

deb Index of /repos/asl_builds/ buster main

Then run the following commands (as root):

curl -s http://downloads.allstarlink.org/repos/repo_signing.key | apt-key add - apt-get update apt -y install linux-headers-$(uname -r) apt -y install asl-asterisk apt -y install allstar-helpers apt -y install asl-dahdi

Beta Bug Reports

Have a problem with the new beta? Submit a bug/issue report here:


https://wiki.allstarlink.org/wiki/Main_Page

Thank you. I followed the wiki, including the part where it spoke about having the need to recompile dadhi, so followed THAT wiki entry, which is why I started this thread due to all the error recompiling

How about the part where to report your bug ?
But they are advising exact expected issues with the method you chose.
I would expect you would not be alone.

Why not use the image, ready to go. Till they make more advancements anyway.
Index of /ASL_Images_Beta/Raspberry_Pi2_3_4 (allstarlink.org)

I didn’t report it as a bug because I’m not sure it’s a bug. (could be a misconfig or similar mistake on my part).

I will use the beta image and start over, thanks for the suggestion

I am kinda advising you not to try to fix dahdi.with this method.
Because the problems with it compiling may have nothing to do with dahdi at all, but the compiling of the other asl BETA source that it interfaces to.
So it is likely a waste of time for what will likely be a temporary issue until a revision is released and while a image is available for testing.

While I know nothing for sure, it is likely.
If not for BETA, I would feel different.