Summary: | DAHLIN-00390: DAHDI does not compile on kernels >= 5.6 | ||
Reporter: | Juan Carlos Castro y Castro (jccyc) | Labels: | |
Date Opened: | 2021-06-22 19:29:32 | Date Closed: | 2021-07-03 16:41:09 |
Priority: | Critical | Regression? | |
Status: | Closed/Complete | Components: | General |
Versions: | 3.1.0 | Frequency of Occurrence | Constant |
Related Issues: | |||
Environment: | Ubuntu 20.04, do apt-get update && apt-get dist-upgrade so you end up with the latest kernel which is 5.8 at the time of this writing | Attachments: | |
Description: | Many functions that deal with the /proc filesystem had their prototypes changed; now they use a differently named structure, with differently named fields, which apperently does the same thing but does nor require a "owner" field.
This Stack Overflow answer may help: https://stackoverflow.com/a/64932529/110800 The output of make. This is the git version. {noformat} make -C /lib/modules/5.8.0-59-generic/build KBUILD_EXTMOD=/home/jcastro/src/pbx/download/dahdi-linux/drivers/dahdi DAHDI_INCLUDE=/home/jcastro/src/pbx/download/dahdi-linux/include DAHDI_MODULES_EXTRA=" " HOTPLUG_FIRMWARE=yes modules DAHDI_BUILD_ALL=m make[1]: Entering directory '/usr/src/linux-headers-5.8.0-59-generic' scripts/Makefile.lib:12: 'hostprogs-y' is deprecated. Please use 'hostprogs' instead scripts/Makefile.lib:8: 'always' is deprecated. Please use 'always-y' instead scripts/Makefile.lib:12: 'hostprogs-y' is deprecated. Please use 'hostprogs' instead CC [M] /home/jcastro/src/pbx/download/dahdi-linux/drivers/dahdi/xpp/xbus-core.o /home/jcastro/src/pbx/download/dahdi-linux/drivers/dahdi/xpp/xbus-core.c: In function ‘xbus_new’: /home/jcastro/src/pbx/download/dahdi-linux/drivers/dahdi/xpp/xbus-core.c:1636:6: error: passing argument 4 of ‘proc_create_data’ from incompatible pointer type [-Werror=incompatible-pointer-types] 1636 | &xbus_read_proc_ops, | ^~~~~~~~~~~~~~~~~~~ | | | const struct file_operations * In file included from /home/jcastro/src/pbx/download/dahdi-linux/drivers/dahdi/xpp/xbus-core.c:28: ./include/linux/proc_fs.h:103:31: note: expected ‘const struct proc_ops *’ but argument is of type ‘const struct file_operations *’ 103 | extern struct proc_dir_entry *proc_create_data(const char *, umode_t, | ^~~~~~~~~~~~~~~~ /home/jcastro/src/pbx/download/dahdi-linux/drivers/dahdi/xpp/xbus-core.c:1647:6: error: passing argument 4 of ‘proc_create_data’ from incompatible pointer type [-Werror=incompatible-pointer-types] 1647 | &proc_xbus_command_ops, xbus); | ^~~~~~~~~~~~~~~~~~~~~~ | | | const struct file_operations * In file included from /home/jcastro/src/pbx/download/dahdi-linux/drivers/dahdi/xpp/xbus-core.c:28: ./include/linux/proc_fs.h:103:31: note: expected ‘const struct proc_ops *’ but argument is of type ‘const struct file_operations *’ 103 | extern struct proc_dir_entry *proc_create_data(const char *, umode_t, | ^~~~~~~~~~~~~~~~ /home/jcastro/src/pbx/download/dahdi-linux/drivers/dahdi/xpp/xbus-core.c: In function ‘xbus_core_init’: /home/jcastro/src/pbx/download/dahdi-linux/drivers/dahdi/xpp/xbus-core.c:2067:12: error: passing argument 4 of ‘proc_create_data’ from incompatible pointer type [-Werror=incompatible-pointer-types] 2067 | &xpp_proc_read_ops, NULL); | ^~~~~~~~~~~~~~~~~~ | | | const struct file_operations * In file included from /home/jcastro/src/pbx/download/dahdi-linux/drivers/dahdi/xpp/xbus-core.c:28: ./include/linux/proc_fs.h:103:31: note: expected ‘const struct proc_ops *’ but argument is of type ‘const struct file_operations *’ 103 | extern struct proc_dir_entry *proc_create_data(const char *, umode_t, | ^~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:286: /home/jcastro/src/pbx/download/dahdi-linux/drivers/dahdi/xpp/xbus-core.o] Error 1 make[2]: *** [scripts/Makefile.build:515: /home/jcastro/src/pbx/download/dahdi-linux/drivers/dahdi/xpp] Error 2 make[1]: *** [Makefile:1785: /home/jcastro/src/pbx/download/dahdi-linux/drivers/dahdi] Error 2 make[1]: Leaving directory '/usr/src/linux-headers-5.8.0-59-generic' make: *** [Makefile:74: modules] Error 2 {noformat} | ||
Comments: | By: Shaun Ruffell (sruffell) 2021-06-23 13:53:49.361-0500 Hi Juan, You may want to build with the "next" branch (https://git.asterisk.org/gitweb/?p=dahdi/linux.git;a=shortlog;h=refs/heads/next) which has some changes that are pending testing / validation by Sangoma. There is a fix for this issue pending on that branch (https://git.asterisk.org/gitweb/?p=dahdi/linux.git;a=commit;h=34b9c77c9ab2794d4e912461e4c1080c4b1f6184). By: Juan Carlos Castro y Castro (jccyc) 2021-06-23 17:37:53.872-0500 Hi Shaun! I applied that patch, it seems to fix that problem but then I get an error here: {noformat} MODPOST /home/jcastro/src/pbx/download/dahdi-linux/drivers/dahdi/Module.symvers /home/jcastro/src/pbx/download/dahdi-linux/drivers/dahdi/vpmadt032_loader/.vpmadt032_x86_64.o.cmd: No such file or directory make[2]: *** [scripts/Makefile.modpost:111: /home/jcastro/src/pbx/download/dahdi-linux/drivers/dahdi/Module.symvers] Error 1 make[1]: *** [Makefile:1698: modules] Error 2 make[1]: Leaving directory '/usr/src/linux-headers-5.8.0-59-generic' make: *** [Makefile:74: modules] Error 2 {noformat} By: Shaun Ruffell (sruffell) 2021-06-28 09:50:13.959-0500 That is for another issue fixed on the branch. The specific fix for that issue is https://git.asterisk.org/gitweb/?p=dahdi/linux.git;a=commit;h=d228a12f1caabdbcf15a757a0999e7da57ba374d If you can, you probably want to checkout the current tip of the next branch and build that: {code} $ git clone git://git.asterisk.org/dahdi/linux.git -b next dahdi-linux $ cd dahdi-linux $ make {code} By: Juan Carlos Castro y Castro (jccyc) 2021-07-03 16:40:06.105-0500 Thank you. Rather than applying these to the release tarball, I'm now just using the next branch. These two are kind of showstoppers, don't you think? They should appear more quickly in the releases, IMHO. Thanks for the help! By: Juan Carlos Castro y Castro (jccyc) 2021-07-03 16:41:09.859-0500 The "next" branch has the fixes. |