Kernel 3.15.(1-7) build error | opensuse 13.1

Now installed kernel 3.15.6 only from http://download.opensuse.org/repositories/Kernel:/stable/standard/
I want build 3.15.7 from kernel.org with my .conf
i start make xconfig and have fatal error

linux-3.15.7> make xconfig
HOSTCC scripts/basic/fixdep
In file included from /usr/include/bits/posix1_lim.h:160:0,
from /usr/include/limits.h:143,
from /usr/lib/gcc/i586-suse-linux/4.8/include-fixed/limits.h:168,
from /usr/lib/gcc/i586-suse-linux/4.8/include-fixed/syslimits.h:7,
from /usr/lib/gcc/i586-suse-linux/4.8/include-fixed/limits.h:34,
from scripts/basic/fixdep.c:114:
/usr/include/bits/local_lim.h:38:26: fatal error: linux/limits.h: No such file or directory
#include <linux/limits.h>

make[1]: *** [scripts/basic/fixdep] Error 1
make: *** [scripts_basic] Error 2

**zypper se -i kernel

**​i | devel_kernel
i | kernel-default
i | kernel-default-devel
i | kernel-desktop
i | kernel-desktop-devel
i | kernel-devel
i | kernel-docs
i | kernel-pae-devel
i | kernel-source
i | kernel-syms
i | kernel-xen-devel
i | kernelshark
i | nfs-kernel-server
i | patterns-openSUSE-devel_kernel

**zypper se -i gcc

**i | gcc
i | gcc-c++
i | gcc-gij
i | gcc-info
i | gcc-java
i | gcc48
i | gcc48-c++
i | gcc48-gij
i | gcc48-info
i | gcc48-java
i | gcc48-locale
i | gccmakedep
i | libgcc_s1
i | libstlport_gcc4
i | libstlport_gcc4-devel

linux-glibc-devel installed

Why do I have this problem? Help plz! >:(

On 07/29/2014 08:26 AM, yug555 wrote:
>
> Now installed kernel 3.15.6 only from
> http://download.opensuse.org/repositories/Kernel:/stable/standard/
> I want build 3.15.7 from kernel.org with my .conf
> i start make xconfig and have -fatal error-
>
> linux-3.15.7> make xconfig
> HOSTCC scripts/basic/fixdep
> In file included from /usr/include/bits/posix1_lim.h:160:0,
> from /usr/include/limits.h:143,
> from
> /usr/lib/gcc/i586-suse-linux/4.8/include-fixed/limits.h:168,
> from
> /usr/lib/gcc/i586-suse-linux/4.8/include-fixed/syslimits.h:7,
> from
> /usr/lib/gcc/i586-suse-linux/4.8/include-fixed/limits.h:34,
> from scripts/basic/fixdep.c:114:
> /usr/include/bits/local_lim.h:38:26: fatal error: linux/limits.h: No
> such file or directory
> #include <linux/limits.h>
>
> make[1]: *** [scripts/basic/fixdep] Error 1
> make: *** [scripts_basic] Error 2
>
>
> *zypper se -i kernel
>
> *​i | devel_kernel
> i | kernel-default
> i | kernel-default-devel
> i | kernel-desktop
> i | kernel-desktop-devel
> i | kernel-devel
> i | kernel-docs
> i | kernel-pae-devel
> i | kernel-source
> i | kernel-syms
> i | kernel-xen-devel
> i | kernelshark
> i | nfs-kernel-server
> i | patterns-openSUSE-devel_kernel
>
> *zypper se -i gcc
>
> *i | gcc
> i | gcc-c++
> i | gcc-gij
> i | gcc-info
> i | gcc-java
> i | gcc48
> i | gcc48-c++
> i | gcc48-gij
> i | gcc48-info
> i | gcc48-java
> i | gcc48-locale
> i | gccmakedep
> i | libgcc_s1
> i | libstlport_gcc4
> i | libstlport_gcc4-devel
>
> linux-glibc-devel installed
>
> -Why do I have this problem? Help plz!- >:(

In general, it is not necessary to ‘make xconfig’ or ‘make menuconfig’ when you
go from 3.X.N to 3.X.N+1. Any backported patch that was intrusive enough to
require changing the configuration would not be allowed. Of course, when you
change X, then anything could change.

None of those kernel-xxx repos are relevant when you are building a kernel from
a source tree. Only when you are building an out-of-tree driver against a
running kernel would you need them. The necessary repos are the ones that
contains gcc and make, and you have these.

I do not understand this error. The “missing” file is part of the kernel source
tree and is found at include/uapi/linux/limits.h.

Did you copy your .config into the new source tree? If you have a standard
openSUSE kernel, then ‘zcat /proc/config.gz > .config’ will generate the .config
that was used to build the kernel that is running. If you have already produced
a modified .config, then copy that file to the current directory.

After you have created .config by one of the above methods, then run ‘make’. If
that still crashes, then post the output.

Please show output of “rpm -qa linux-glibc*”

No, it was host tool and missing header was /usr/include/linux/limits.h which is provided by linux-glibc-devel. But OP did not show it was installed.

linux-glibc-devel-3.11-2.1.15.noarch

>rpm -qa linux-glibc*
linux-glibc-devel-3.11-2.1.15.noarch

Hmm … could you run “make V=1” and paste full output?

>make V=1
make -f /files/linux-3.15.7/Makefile silentoldconfig
make -f scripts/Makefile.build obj=scripts/basic
gcc -Wp,-MD,scripts/basic/.fixdep.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -o scripts/basic/fixdep scripts/basic/fixdep.c
In file included from /usr/include/bits/posix1_lim.h:160:0,
from /usr/include/limits.h:143,
from /usr/lib/gcc/i586-suse-linux/4.8/include-fixed/limits.h:168,
from /usr/lib/gcc/i586-suse-linux/4.8/include-fixed/syslimits.h:7,
from /usr/lib/gcc/i586-suse-linux/4.8/include-fixed/limits.h:34,
from scripts/basic/fixdep.c:114:
/usr/include/bits/local_lim.h:38:26: fatal error: linux/limits.h: No such file or directory
#include <linux/limits.h>
^
compilation aborted.
make[2]: *** [scripts/basic/fixdep] Error 1
make[1]: *** [scripts_basic] Error 2
make -f scripts/Makefile.build obj=arch/x86/syscalls all
/bin/sh ‘/files/linux-3.15.7/arch/x86/syscalls/syscalltbl.sh’ /files/linux-3.15.7/arch/x86/syscalls/syscall_32.tbl arch/x86/syscalls/…/include/generated/asm/syscalls_32.h
/bin/sh ‘/files/linux-3.15.7/arch/x86/syscalls/syscallhdr.sh’ ‘/files/linux-3.15.7/arch/x86/syscalls/syscall_32.tbl’ ‘arch/x86/syscalls/…/include/generated/uapi/asm/unistd_32.h’ ‘i386’ ‘’ ‘’
/bin/sh ‘/files/linux-3.15.7/arch/x86/syscalls/syscallhdr.sh’ ‘/files/linux-3.15.7/arch/x86/syscalls/syscall_64.tbl’ ‘arch/x86/syscalls/…/include/generated/uapi/asm/unistd_64.h’ ‘common,64’ ‘’ ‘’
/bin/sh ‘/files/linux-3.15.7/arch/x86/syscalls/syscallhdr.sh’ ‘/files/linux-3.15.7/arch/x86/syscalls/syscall_64.tbl’ ‘arch/x86/syscalls/…/include/generated/uapi/asm/unistd_x32.h’ ‘common,x32’ ‘’ ‘__X32_SYSCALL_BIT’
make -f scripts/Makefile.build obj=scripts/basic
(cat /dev/null; ) > scripts/basic/modules.order
gcc -Wp,-MD,scripts/basic/.fixdep.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -o scripts/basic/fixdep scripts/basic/fixdep.c
In file included from /usr/include/bits/posix1_lim.h:160:0,
from /usr/include/limits.h:143,
from /usr/lib/gcc/i586-suse-linux/4.8/include-fixed/limits.h:168,
from /usr/lib/gcc/i586-suse-linux/4.8/include-fixed/syslimits.h:7,
from /usr/lib/gcc/i586-suse-linux/4.8/include-fixed/limits.h:34,
from scripts/basic/fixdep.c:114:
/usr/include/bits/local_lim.h:38:26: fatal error: linux/limits.h: No such file or directory
#include <linux/limits.h>
^
compilation aborted.
make[1]: *** [scripts/basic/fixdep] Error 1
make: *** [scripts_basic] Error 2

#opensuse x86

Does the file /usr/include/linux/limits.h exist? What access rights does it have?

I do’t have limits.h in this directory! >:(

Well, something wrong with package linux-glibc-devel. What “rpm -V linux-glibc-devel” says? Try to reinstall it.

before reinstall

>rpm -V linux-glibc-devel

https://docs.google.com/document/d/18YHmDJcksHxVNb8hiXQvMl8xuM-fH9WLf5XQjmtBjMU/edit?usp=sharing