Summary: | DAHLIN-00379: Dahdi-Linux 3.1.0 cannot compile against Kernel 5.4.x | ||||
Reporter: | Gregory Massel (gmza) | Labels: | |||
Date Opened: | 2020-08-11 08:44:44 | Date Closed: | 2020-08-11 08:50:51 | ||
Priority: | Major | Regression? | |||
Status: | Closed/Complete | Components: | dahdi (the module) | ||
Versions: | 3.1.0 | Frequency of Occurrence | |||
Related Issues: |
| ||||
Environment: | Ubuntu 18.04.4 LTS with HWE kernel (5.4.0-42-generic) | Attachments: | |||
Description: | DAHDI 3.1.0 does not compile successfully against kernels 5.4.x:
In file included from /root/dahdi-linux-complete-3.1.0+3.1.0/linux/drivers/dahdi/oct612x/oct612x-user.c:28:0: /root/dahdi-linux-complete-3.1.0+3.1.0/linux/include/dahdi/kernel.h:62:10: fatal error: linux/pci-aspm.h: No such file or directory #include <linux/pci-aspm.h> ^~~~~~~~~~~~~~~~~~ compilation terminated. scripts/Makefile.build:273: recipe for target '/root/dahdi-linux-complete-3.1.0+3.1.0/linux/drivers/dahdi/oct612x/oct612x-user.o' failed make[4]: *** [/root/dahdi-linux-complete-3.1.0+3.1.0/linux/drivers/dahdi/oct612x/oct612x-user.o] Error 1 scripts/Makefile.build:522: recipe for target '/root/dahdi-linux-complete-3.1.0+3.1.0/linux/drivers/dahdi/oct612x' failed make[3]: *** [/root/dahdi-linux-complete-3.1.0+3.1.0/linux/drivers/dahdi/oct612x] Error 2 Makefile:1731: recipe for target '/root/dahdi-linux-complete-3.1.0+3.1.0/linux/drivers/dahdi' failed make[2]: *** [/root/dahdi-linux-complete-3.1.0+3.1.0/linux/drivers/dahdi] Error 2 make[2]: Leaving directory '/usr/src/linux-headers-5.4.0-42-generic' Makefile:74: recipe for target 'modules' failed make[1]: *** [modules] Error 2 make[1]: Leaving directory '/root/dahdi-linux-complete-3.1.0+3.1.0/linux' Makefile:9: recipe for target 'all' failed make: *** [all] Error 2 | ||||
Comments: | By: Shaun Ruffell (sruffell) 2020-08-11 08:51:05.610-0500 Hi, you should try the next branch, which is currently awaiting testing by Sangoma. ``` git clone git://git.asterisk.org/dahdi/linux -b next dahdi-linux cd dahdi-linux ``` By: Harald Welte (laforge) 2020-09-12 02:09:35.404-0500 I just ported it to all API changes up to 5.7.0 and created a pull request at https://github.com/asterisk/dahdi-linux/pull/6 By: Shaun Ruffell (sruffell) 2020-09-12 12:54:42.706-0500 Aren't these the same changes that are already on http://git.asterisk.org/gitweb/?p=dahdi/linux.git;a=shortlog;h=refs/heads/next awaiting release by Sangoma? I'm also not sure if the policy has changed in the last few years, but historically Digium could not take pull requests since they have a license grant requirement. That is why historically they could only take patches attached to Jira unless you have an account on git.asterisk.org (which you then have signed the license agreement). Just FYI.... By: Harald Welte (laforge) 2020-09-12 14:26:11.803-0500 I was not aware of the 'next' branch, so I just wasted hours replicating work that had already done. To be honest, I find it quite confusing that the "head" of development is not in "master" but hidden in some other branch. I literally work with hundreds of FOSS projects, and everyone else seems to have their commits of the day in "master". Furthermore, Kernel 5.4 is hardly "next". It was released 10 months ago. Finally, there is *zero* contribution guideline / informatoin for DAHDI. I could only find it for Asterisk, and that points to gerrit. However, the gerrit instance doesn't have the dahdi-linux repository created. So clearly, the Asterisk contribution guidelines don't apply to DAHDI. In lack of other information, I created a pull request. To be honest, The last two weeks of my work with DAHDI have already convinced me of its serious lack of maintenance by Digium. If somebody maintains a large/popular series of out-of-tree drivers, I would expect that they keep track of mainline releases in a timely manner. One can also clearly see that there are a number of dahdi_config.h compile options that haven't even been build-tested for years. Luckily technology has advance and it's not the 90ies anymore - it's very easy to automatize this by some form of CI matrix build job that builds on any number of different kernel versions with any number of different #defines / Kconfigs. It's fine if Digium/Sangoma don't have the commercial capacity to do so (given the pricing of their cards one would expect otherwise). But then they should at least be open about it and put it under some kind of community/collaborative maintenance rather than ignoring contributed patches over extended periods of time (see the various DAHDI_NET fixes in this tracker). By: Shaun Ruffell (sruffell) 2020-09-12 15:35:14.116-0500 Yeah, I hear you how frustrating it is. My understanding is that maintenance of DAHDI has been moved to a new group after the acquisition by Sangoma and they are just overloaded with other work (and I do not think telephony hardware is the focus of the business anymore). Hopefully someone from that group will step forward. Regarding 'next' vs 'master' I can say that it is modeled after linux-next [https://www.kernel.org/doc/man-pages/linux-next.html], the thought being that it was originally a place for different WIP to be placed before merging onto master and into the permanent history. Deciding what went into the permanent history was historically reserved for the person who is the designated maintainer (who that person is now, I am not certain). So rather than thinking of it as the "head of development" I would think of it as a collection place for the heads of development, but that can be forced pushed / have it's history rewritten if necessary. It made more since when more people were working on stuff at the same time and it was a way for everyone to test against everyone else's work.... But yes...I would be interested in knowing Sangoma's plans for maintaining DAHDI going forward. |