Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 574574

Summary: sys-fs/zfs-kmod-0.6.5.4-r1 - configure: error: Please make sure the kmod spl devel package for your distribution is installed then try again. If that fails you can specify the location of the spl source with the '--with-spl=PATH' option.
Product: Gentoo Linux Reporter: Thomas Capricelli <orzel>
Component: Current packagesAssignee: Richard Yao (RETIRED) <ryao>
Status: RESOLVED FIXED    
Severity: normal CC: gyakovlev
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: build.log

Description Thomas Capricelli 2016-02-12 19:36:52 UTC
configure ends with :

checking kernel file name for module symbols... Module.symvers
checking spl source directory... /usr/src/spl-*
configure: error:
    *** Please make sure the kmod spl devel package for your distribution
    *** is installed then try again.  If that fails you can specify the
    *** location of the spl source with the '--with-spl=PATH' option.


Which it is weird, sys-kernel/spl-0.6.5.4-r1 was installed right before it, and there's indeed something in "/usr/src/spl-*":


  verdi linux # ls /usr/src/spl-0.6.5.4/
  4.1.16-vs2.3.8.3  include  spl_config.h.in  spl.release.in
Comment 1 Thomas Capricelli 2016-02-12 19:37:35 UTC
Created attachment 425344 [details]
build.log
Comment 2 Thomas Capricelli 2016-02-12 19:41:01 UTC
It clearly is unrelated according to the error message, but in case you ask : the stl module was already loaded, and visible in lsmod. No error message in dmesg, just :
[153818.230948] SPL: Loaded module v0.6.5.4-r1-gentoo
Comment 3 Thomas Capricelli 2016-02-12 20:07:14 UTC
The problem is with the ebuild. If i run just "./configure", it works perfectly : 

checking kernel build directory... /usr/unsecure/src/linux-kernel-stable
checking kernel source version... 4.1.16-vs2.3.8.3
checking kernel file name for module symbols... Module.symvers
checking spl source directory... /usr/src/spl-0.6.5.4
checking spl build directory... /usr/src/spl-0.6.5.4/4.1.16-vs2.3.8.3
checking spl source version... 0.6.5.4-r1-gentoo
checking spl file name for module symbols... Module.symvers


The ebuild does :
        --with-spl="${EROOT}usr/src/${SPL_PATH}"

I think it should just does nothing and let configure figuring it out by itself. Clearly, configure is better as the ebuild to find those "spl" sources.
Comment 4 Thomas Capricelli 2016-02-12 20:18:14 UTC
Confirmed, i removed the two following lines from the ebuild:

            --with-spl="${EROOT}usr/src/${SPL_PATH}"
            --with-spl-obj="${EROOT}usr/src/${SPL_PATH}/${KV_FULL}"

and it works/emerges fine.
Comment 5 Thomas Capricelli 2016-05-29 16:36:17 UTC
The bug is still there and still hurts :-(
My "fix" still works, hopefully.
Comment 6 Thomas Capricelli 2019-05-16 12:19:14 UTC
upstream is about to include spl in kfs-kmod anyway.. 

Until then, as for the last 3 years, the turnaround still works.
Comment 7 Georgy Yakovlev archtester gentoo-dev 2019-06-23 08:17:16 UTC
sorry for delay =D I'm new zfs maintainer, looking thru old bugs.

0.8.x versions have no separate spl indeed.

the root of the problem is that you use non-standard kernel path.

spl source has a relative symlink and probably it breaks with your setup.

there are number of symlinks involved. one in modules dir in /lib/modules/yourkernel, other is /usr/src/linux and another is /usr/src/spl-ver/yourkernel.

probably something resolves symlinks in a wrong and configure script breaks.

we can't let configure guess the kernel/spl as it may pick up the wrong one.
also it's possible to build modules for any choosen kernel by setting magic variables, it'll also break if we let configure choose.
Comment 8 Georgy Yakovlev archtester gentoo-dev 2020-06-10 22:00:43 UTC
spl is removed, this problem should not show up anymore
please re-open if you still see problems.