Although in a previous post in another thread Wolfi said it should not work,
For many years and with several kernel flavors, I’ve found that it’s not necessary to specify the flavor…
Simply specifying “-devel” without the flavor has installed the correct packages for me.
Same has worked for me when installing for openjdk, no matter the major or minor version, zypper has been smart enough to find what’s appropriate and install it for me…
> For many years and with several kernel flavors, I’ve found that it’s not
> necessary to specify the flavor…
> Simply specifying “-devel” without the flavor has installed the correct
> packages for me.
This is just plain wrong, kernel-devel does not pull in flavor specific
packages, it is just the other way around.
Check yourself with rpm -q --requires $PACKAGE.
Installing kernel-$FLAVOR-devel pulls in kernel-devel automatically and without
kernel-$FLAVOR-devel your environment will miss the kernel config, Makefile
amongst other things.
make modules
make -C /lib/modules/4.9.9/build SUBDIRS=/tmp/r8168-8.043.02/src clean
make[1]: *** /lib/modules/4.9.9/build: No such file or directory. Stop.
Makefile:99: recipe for target ‘clean’ failed
make: *** [clean] Error 2
Could be I’m wrong, and might have been misled by admittedly my experiences…
I should maybe say then that for a decade I’ve just never run into a problem where the headers I’ve pulled in have been insufficient to make the kernel modules necessary for the applications <I’ve> had to build…
Which have been mainly VMware and Virtualbox (no longer needed for VMware) and various others I can’t name off the top of my head.
I generally am aware I have a problem only if the kernel module can’t be built,
And that admittedly might have been because of the specific modules I’ve built and may not be representative of the whole universe of modules.
Let me get this straight and let me be short and to the point.
If you want to build any (external) kernel module for an openSUSE Kernel, you will need
kernel-devel matching the version of the target kernel
and
kernel-$FLAVOR-devel matching version and flavor of the target kernel
No more, but certainly no less.
The package kernel-devel contains all the shared stuff independent of the target kernel’s flavor while kernel-$FLAVOR-devel contains the flavor specific stuff and most importantly the .config, Module.symvers and other data needed to build a functioning module for that target kernel.
If you only have “kernel-devel” installed and “kernel-$FLAVOR-devel” is missing, your build will fail.
My devel packages match my kernel, don’t they? So with the given libraries there shouldn’t be a problem with building the kernel modules, but still fence.h is missing.
Being thankful is appreciated, however it would be even more appreciated if you
(re)read all the answers, especially the one directly addressing your issue and
giving you two direct options (hint: = my first answer in this thread).
AK
Never attribute to malice that which can be adequately explained by stupidity.
(R.J. Hanlon)
I’m going to confirm that making sure that the proper flavors are installed, fence.h is indeed missing from 4.10
cassidy:~ # rpm -qa | grep kernel
kernel-firmware-20170223-1.1.noarch
nfs-kernel-server-2.1.1-1.2.x86_64
kernel-syms-4.10.1-1.2.x86_64
kernel-default-4.10.1-1.2.x86_64
kernel-default-4.9.11-1.2.x86_64
kernel-source-4.10.1-1.2.noarch
texlive-l3kernel-doc-2016.113.svn_6512svn41246-29.1.noarch
kernel-docs-4.10.1-1.2.noarch
kernel-default-devel-4.10.1-1.2.x86_64
texlive-l3kernel-2016.113.svn_6512svn41246-29.1.noarch
kernel-default-devel-4.9.11-1.2.x86_64
patterns-openSUSE-devel_kernel-20170206-2.1.x86_64
kernel-devel-4.10.1-1.2.noarch
kernel-devel-4.9.11-1.2.noarch
kernel-syms-4.9.11-1.2.x86_64
kernel-source-4.9.11-1.2.noarch
kernel-macros-4.10.1-1.2.noarch
cassidy:~ # cd /
cassidy:/ # find . -name fence.h -print
find: File system loop detected; ‘./.snapshots/1/snapshot’ is part of the same file system loop as ‘.’.
./.snapshots/2/snapshot/usr/src/linux-4.9.11-1/include/linux/fence.h
./.snapshots/2/snapshot/usr/src/linux-4.9.11-1/include/trace/events/fence.h
./.snapshots/3/snapshot/usr/src/linux-4.9.11-1/include/linux/fence.h
./.snapshots/3/snapshot/usr/src/linux-4.9.11-1/include/trace/events/fence.h
./usr/src/linux-4.9.11-1/include/linux/fence.h
./usr/src/linux-4.9.11-1/include/trace/events/fence.h
find: ‘./run/user/1000/gvfs’: Permission denied
cassidy:/ #
Hi
So, a couple of things with the newer kernels and proprietary drivers, seems they need patching at the moment (looks like fence changed to dma_fence), so the error (anyone posted logs?) could be a red herring so to speak…
I’ve tried two different patches for the 378.13 nvidia driver and the 4.10 kernel, one from the German openSUSE forums and one from nvidia.devtalk and neither one worked for me. If anyone has successfully patched the 378.13 driver can you give me a link to that patch? Thanks.
linux64:~ # nvidia-settings -v
nvidia-settings: version 378.13 (buildmeister@swio-display-x86-rhel47-05) Tue Feb 7 19:35:55 PST
2017
The NVIDIA X Server Settings tool.
This program is used to configure the NVIDIA Linux graphics driver.
For more detail, please see the nvidia-settings(1) man page.
linux64:~ # lsb-release -id
Distributor ID: openSUSE project
Description: openSUSE Leap 42.2
linux64:~ # uname -a
Linux linux64 4.10.1-3.g8c10701-default #1 SMP PREEMPT Thu Mar 2 13:05:23 UTC 2017 (8c10701) x86_64 x86_64 x86_64 GNU/Linux
linux64:~ #
Not sure what to make of this since others are having success. I’ve tried two different patches and both times nothing happened. I execute the patch command in the terminal and the cursor goes to the next line and nothing happens. I waited 20 minutes two different times with no output. Kind of hard to troubleshoot when there’s no output from the patch command.
When I say there was no output, I mean the patch command did nothing. I had to use ctl>c to stop the command after 20 minutes. The 378.13 hasn’t been patched and will not build.