dorimanx / exfat-nofuse

Android ARM Linux non-fuse read/write kernel driver for exFat and VFat Android file systems
GNU General Public License v2.0
710 stars 326 forks source link

Failed to build on arch linux raspberry pi kernel 3.17.4 #55

Closed bondar-pavel closed 9 years ago

bondar-pavel commented 9 years ago

Building AUR package exfat-dkms-git failed on kernel 3.17.4. Worked fine on previous kernel.

Failure log: Thu Nov 27 17:16:04 GMT 2014 make -C /usr/lib/modules/3.17.4-1-ARCH/build M=/var/lib/dkms/exfat/129.a862d50/build modules make[1]: Entering directory '/usr/lib/modules/3.17.4-1-ARCH/build' CC [M] /var/lib/dkms/exfat/129.a862d50/build/exfat_core.o CC [M] /var/lib/dkms/exfat/129.a862d50/build/exfat_super.o CC [M] /var/lib/dkms/exfat/129.a862d50/build/exfat_api.o CC [M] /var/lib/dkms/exfat/129.a862d50/build/exfat_blkdev.o CC [M] /var/lib/dkms/exfat/129.a862d50/build/exfat_cache.o CC [M] /var/lib/dkms/exfat/129.a862d50/build/exfat_data.o CC [M] /var/lib/dkms/exfat/129.a862d50/build/exfat_bitmap.o CC [M] /var/lib/dkms/exfat/129.a862d50/build/exfat_nls.o CC [M] /var/lib/dkms/exfat/129.a862d50/build/exfat_oal.o In file included from /var/lib/dkms/exfat/129.a862d50/build/exfat_oal.c:46:0: /var/lib/dkms/exfat/129.a862d50/build/exfat_oal.c: In function Б─≤tm_currentБ─≥: include/linux/time.h:105:35: error: implicit declaration of function Б─≤get_secondsБ─≥ [-Werror=implicit-function-declaration]

define CURRENT_TIME_SEC ((struct timespec) { get_seconds(), 0 })

                               ^

/var/lib/dkms/exfat/129.a862d50/build/exfat_oal.c:127:23: note: in expansion of macro Б─≤CURRENT_TIME_SECБ─≥ struct timespec ts = CURRENT_TIME_SEC; ^ cc1: some warnings being treated as errors scripts/Makefile.build:257: recipe for target '/var/lib/dkms/exfat/129.a862d50/build/exfat_oal.o' failed make[2]: * [/var/lib/dkms/exfat/129.a862d50/build/exfat_oal.o] Error 1 Makefile:1373: recipe for target 'module/var/lib/dkms/exfat/129.a862d50/build' failed make[1]: * [module/var/lib/dkms/exfat/129.a862d50/build] Error 2 make[1]: Leaving directory '/usr/lib/modules/3.17.4-1-ARCH/build' Makefile:37: recipe for target 'all' failed make: *\ [all] Error 2

dorimanx commented 9 years ago

not related to exfat driver. in your include/linux/time.h function:

define CURRENT_TIME_SEC ((struct timespec) { get_seconds(), 0 })

got wrong define that BROKEN in your build. see this commit! https://github.com/torvalds/linux/commit/2c6b47de17c75d553de3e2fb426d8298d2074585

try to replace get_seconds() in you time.h to xtime.tv_sec if all that in this commit NOT exist in your kernel build.

Please inspect your kernel tree before opening issues for me :)

or check what else can be wrong in your build. kernel 3.17.x i way far from this driver. it's possible that it's must be inspected in other parts for full adaptation. this driver works in range on 3.2 to 3.14.y, never tested on higher/lower builds.

bondar-pavel commented 9 years ago

Thanks for clarifications!