Forum Stats

  • 3,825,765 Users
  • 2,260,558 Discussions
  • 7,896,665 Comments

Discussions

Where is asm/system.h header file on uek3 kernel version -3.8.13-35.1.2.el6uek.x86_64?

Remya Valappil-Oracle
Remya Valappil-Oracle Member Posts: 14
edited Oct 17, 2014 2:50AM in Oracle Linux and UEK Preview

I was trying to compile Clearcase mvfs  module on kernel version 3.8.13-35.1.2.el6uek.x86_64(OS is OL6u4) and I'm getting this error:

-----------------
rm -rf *.o *.kobj *.obj *.ko *.mod.? .*.cmd .tmp_versions
/usr/bin/make -C /lib/modules/3.8.13-35.1.2.el6uek.x86_64/build SUBDIRS=`pwd`
make[1]: Entering directory `/usr/src/kernels/3.8.13-35.1.2.el6uek.x86_64'
   LD      /var/adm/rational/clearcase/mvfs/mvfs_src/built-in.o
   CC [M]  /var/adm/rational/clearcase/mvfs/mvfs_src/mvfs_vfsops.o
In file included from /var/adm/rational/clearcase/mvfs/mvfs_src/mvfs_mdep_linux.h:69,
                  from /var/adm/rational/clearcase/mvfs/mvfs_src/mvfs_systm.h:36,
                  from /var/adm/rational/clearcase/mvfs/mvfs_src/mvfs_vfsops.c:25:
/var/adm/rational/clearcase/mvfs/mvfs_src/vnode_linux.h:56:24: error: asm/system.h: No such file or directory
make[2]: *** [/var/adm/rational/clearcase/mvfs/mvfs_src/mvfs_vfsops.o] Error 1
make[1]: *** [_module_/var/adm/rational/clearcase/mvfs/mvfs_src] Error 2
make[1]: Leaving directory `/usr/src/kernels/3.8.13-35.1.2.el6uek.x86_64'
make: *** [all] Error 2
--------------------

I can't find the header file system.h in both  these locations:


[[email protected] asm]# pwd
/usr/include/asm

[[email protected] asm]# ls
a.out.h        byteorder.h  ioctl.h   kvm_para.h  msr.h        posix_types_32.h   ptrace-abi.h  shmbuf.h        socket.h   termbits.h   unistd_64.h
auxvec.h       debugreg.h   ioctls.h  ldt.h       msr-index.h  posix_types_64.h   ptrace.h      sigcontext32.h  sockios.h  termios.h    unistd.h
bitsperlong.h  e820.h       ipcbuf.h  mce.h       mtrr.h       posix_types.h      resource.h    sigcontext.h    statfs.h   types.h      vm86.h
boot.h         errno.h      ist.h     mman.h      param.h      prctl.h            sembuf.h      siginfo.h       stat.h     ucontext.h   vsyscall.h
bootparam.h    fcntl.h      kvm.h     msgbuf.h    poll.h       processor-flags.h  setup.h       signal.h        swab.h     unistd_32.h
[[email protected] asm]#


# pwd
/usr/include/asm-generic

[[email protected] asm-generic]# ls
auxvec.h       errno.h    int-ll64.h  ipcbuf.h       msgbuf.h  posix_types.h  setup.h     siginfo.h      socket.h   stat.h      termios.h   unistd.h
bitsperlong.h  fcntl.h    ioctl.h     mman-common.h  param.h   resource.h     shmbuf.h    signal-defs.h  sockios.h  swab.h      types.h
errno-base.h   int-l64.h  ioctls.h    mman.h         poll.h    sembuf.h       shmparam.h  signal.h       statfs.h   termbits.h  ucontext.h


Does anyone know what happened to asm/system.h file? Was it removed on 3.8 kernel? Also, I don't see kernel-header packages for this particular kernel here

: http://ca-build32.us.oracle.com/auto-build/UEK3QU2/el6uek.x86_64/3.8.13-35.1.2/



Thanks in advance
Remya Valappil

Remya Valappil-Oracle

Best Answer

  • Dude!
    Dude! Member Posts: 22,829 Black Diamond
    edited Oct 16, 2014 9:44AM Answer ✓

    OK, apparenlty system.h is gone in the 3.8 kernel.

    I don't know if the information is correct, but according to the Fedora forum:

    Missing system.h - FedoraForum.org


    asm/switch_to.h is the replacement for asm/system.h in 3.3 + kernels

    So the source you are compiling may not be compatible with the kernel version. Perhaps it would work if you create a symbolic like like the following:

    # cd /usr/src/kernels/$(uname -r)/include/asm

    # ln -s switch_to.h system.h

    It may fail on other files too, but perhaps worth a try.

    You may have to contact IBM to ask for a newer version of the driver, or use an older version of the kernel. You could for instance install the UEK2 (2.6.39) kernel, which is based on the 3.10 mainstream kernel if I remember correctly and also available.

    Remya Valappil-OracleRemya Valappil-Oracle

Answers

  • Dude!
    Dude! Member Posts: 22,829 Black Diamond

    The kernel header files as of OL 6 are included in the kernel-devel package. Since you use the UEK kernel I suggest you try the following:

    # yum install kernel-uek-devel-$(uname -r)

  • Thanks Dude!

    I've already installed kernel-devel package on my box and don't this system.h

    [[email protected] asm]# rpm -qa|grep kernel-uek-devel-3.8

    kernel-uek-devel-3.8.13-35.1.2.el6uek.x86_64

  • Dude!
    Dude! Member Posts: 22,829 Black Diamond
    edited Oct 16, 2014 9:44AM Answer ✓

    OK, apparenlty system.h is gone in the 3.8 kernel.

    I don't know if the information is correct, but according to the Fedora forum:

    Missing system.h - FedoraForum.org


    asm/switch_to.h is the replacement for asm/system.h in 3.3 + kernels

    So the source you are compiling may not be compatible with the kernel version. Perhaps it would work if you create a symbolic like like the following:

    # cd /usr/src/kernels/$(uname -r)/include/asm

    # ln -s switch_to.h system.h

    It may fail on other files too, but perhaps worth a try.

    You may have to contact IBM to ask for a newer version of the driver, or use an older version of the kernel. You could for instance install the UEK2 (2.6.39) kernel, which is based on the 3.10 mainstream kernel if I remember correctly and also available.

    Remya Valappil-OracleRemya Valappil-Oracle
  • Hi Dude,

    Thanks!

    I can see switch_to.h in 3.8 kernel, however adding softlink and compiling doesn't help!

    I tried compiling this module in UEK2 kernel (2.6.39-400.209.2.el6uek.x86_64) and it works (with slight modification done to source that I was compiling).

    Thanks for all your help!!

    Cheers!

    Remya

This discussion has been closed.