[Home]

Summary:DAHLIN-00360: Unable to compile: warning about implicit declaration of function (treated as error)
Reporter:Sebastian Kemper (skemper)Labels:patch
Date Opened:2018-02-12 13:43:32.000-0600Date Closed:2019-06-04 07:50:24
Priority:MinorRegression?No
Status:Closed/CompleteComponents:General
Versions:2.10.0.1 Frequency of
Occurrence
Constant
Related
Issues:
Environment:OpenWrt trunk, observed when cross-compiling for target mips64_octeonAttachments:( 0) 110-fix-uaccess_h-include.patch
Description:Hi all,

There is at least one platform where the dahdi-linux build on OpenWrt currently fails (mips64_octeon). But I think this is more related to the used kernel version. Anyway, here's what happens:

 CC [M]  /home/sk/tmp/lede/build_dir/target-mips64_octeon_64_musl/linux-octeon/dahdi-linux-2.11.1-20180111/drivers/dahdi/voicebus/voicebus.o
 CC [M]  /home/sk/tmp/lede/build_dir/target-mips64_octeon_64_musl/linux-octeon/dahdi-linux-2.11.1-20180111/drivers/dahdi/voicebus/GpakCust.o
 CC [M]  /home/sk/tmp/lede/build_dir/target-mips64_octeon_64_musl/linux-octeon/dahdi-linux-2.11.1-20180111/drivers/dahdi/voicebus/GpakApi.o
 CC [M]  /home/sk/tmp/lede/build_dir/target-mips64_octeon_64_musl/linux-octeon/dahdi-linux-2.11.1-20180111/drivers/dahdi/voicebus/voicebus_net.o
 CC [M]  /home/sk/tmp/lede/build_dir/target-mips64_octeon_64_musl/linux-octeon/dahdi-linux-2.11.1-20180111/drivers/dahdi/voicebus/vpmoct.o
 LD [M]  /home/sk/tmp/lede/build_dir/target-mips64_octeon_64_musl/linux-octeon/dahdi-linux-2.11.1-20180111/drivers/dahdi/voicebus/dahdi_voicebus.o
 CC [M]  /home/sk/tmp/lede/build_dir/target-mips64_octeon_64_musl/linux-octeon/dahdi-linux-2.11.1-20180111/drivers/dahdi/wcb4xxp/base.o
In file included from /home/sk/tmp/lede/build_dir/target-mips64_octeon_64_musl/linux-octeon/dahdi-linux-2.11.1-20180111/drivers/dahdi/wcb4xxp/base.c:38:0:
./arch/mips/include/asm/uaccess.h: In function 'eva_kernel_access':
./arch/mips/include/asm/uaccess.h:91:9: error: implicit declaration of function 'uaccess_kernel' [-Werror=implicit-function-declaration]
 return uaccess_kernel();
        ^
cc1: some warnings being treated as errors
make[6]: *** [scripts/Makefile.build:321: /home/sk/tmp/lede/build_dir/target-mips64_octeon_64_musl/linux-octeon/dahdi-linux-2.11.1-20180111/drivers/dahdi/wcb4xxp/base.o] Error 1
make[5]: *** [scripts/Makefile.build:579: /home/sk/tmp/lede/build_dir/target-mips64_octeon_64_musl/linux-octeon/dahdi-linux-2.11.1-20180111/drivers/dahdi/wcb4xxp] Error 2
make[4]: *** [Makefile:1505: _module_/home/sk/tmp/lede/build_dir/target-mips64_octeon_64_musl/linux-octeon/dahdi-linux-2.11.1-20180111/drivers/dahdi] Error 2
make[4]: Leaving directory '/home/sk/tmp/lede/build_dir/target-mips64_octeon_64_musl/linux-octeon/linux-4.14.18'
make[3]: *** [Makefile:74: modules] Error 2
make[3]: Leaving directory '/home/sk/tmp/lede/build_dir/target-mips64_octeon_64_musl/linux-octeon/dahdi-linux-2.11.1-20180111'
make[2]: *** [Makefile:128: /home/sk/tmp/lede/build_dir/target-mips64_octeon_64_musl/linux-octeon/dahdi-linux-2.11.1-20180111/.built] Error 2

So kernel is 4.14.18 and dahdi-linux is a git snapshot from 11th of January '18.

I googled a bit and found that this also had been observed for openafs by Ubuntu: https://bugs.launchpad.net/ubuntu/+source/openafs/+bug/1711835

They provided a patch for it stating this:

"Subject: [PATCH] Linux: Include linux/uaccess.h rather than asm/uaccess.h

Starting with 4.12 there is a module build error on s390 due to
the arch-specific uaccess.h using a macro defined in the generic
include. The generic include has been around since 2.6.18 and has
always included asm/uaccess.h, so switch to using the generic
include for all kernels which have it."

So I applied what Ubuntu did to openafs to dahdi-linux and got it to build again. Patch will be provided pronto.

Kind regards,
Seb
Comments:By: Sebastian Kemper (skemper) 2018-02-12 14:05:40.884-0600

This is the patch. I tried to find the dahdi-linux source in gerrit but didn't find it. So I guess attaching the patch to the bug is OK. If not let me know :)

By: Keith Morgan (kmorgan) 2019-06-04 07:50:25.100-0500

Kernel support 4.x was added in dahdi 3.0.0 and kernel versions 5.x added to 3.1.0 which is currently a release candidate  3.1.0-rc.1