Find the answer to your Linux question:
Results 1 to 5 of 5
Hi all, I am trying to compile the FUSE module for linux-2.6.35.13 I have tried to compile by this by following the instructions from fuse official site. I created a ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Just Joined!
    Join Date
    Sep 2012
    Posts
    3

    Problem compiling FUSE module


    Hi all,

    I am trying to compile the FUSE module for linux-2.6.35.13

    I have tried to compile by this by following the instructions from fuse official site. I created a .config file and placed it in the kernel source directory.

    But, when I run:

    Code:
    ~/fuse-2.7.0/$ ./configure --with-kernel=~/linux-2.6.35.13/

    I've got the following error:

    Code:
    checking kernel source directory... /home/at/tv/linux-2.6.35.13/
    checking kernel build directory... /home/at/tv/linux-2.6.35.13/
    checking kernel source version... Not found
    configure: error:
    	*** Cannot determine the version of the linux kernel source. Please
    	*** prepare the kernel before running this script

    Now i'm stuck.

    Has anyone got any ideas?

  2. #2
    Trusted Penguin
    Join Date
    May 2011
    Posts
    4,307
    Quote Originally Posted by arttykh View Post
    Hi all,

    I am trying to compile the FUSE module for linux-2.6.35.13

    I have tried to compile by this by following the instructions from fuse official site. I created a .config file and placed it in the kernel source directory.

    But, when I run:

    Code:
    ~/fuse-2.7.0/$ ./configure --with-kernel=~/linux-2.6.35.13/

    I've got the following error:

    Code:
    checking kernel source directory... /home/at/tv/linux-2.6.35.13/
    checking kernel build directory... /home/at/tv/linux-2.6.35.13/
    checking kernel source version... Not found
    configure: error:
    	*** Cannot determine the version of the linux kernel source. Please
    	*** prepare the kernel before running this script

    Now i'm stuck.

    Has anyone got any ideas?
    did you untar the entire 2.6.35.13 kernel source (from kernel.org) to this dir?

    /home/at/tv/linux-2.6.35.13/

    what file did you use to create the copy of the kernel config here: /home/at/tv/linux-2.6.35.13/.config

    did you run "make prepare" in that dir?

    Also, what is your distro/version? Is your running kernel not the same as 2.6.35.13?

  3. #3
    Just Joined!
    Join Date
    Sep 2012
    Posts
    3
    Quote Originally Posted by atreyu View Post
    did you untar the entire 2.6.35.13 kernel source (from kernel.org) to this dir?

    /home/at/tv/linux-2.6.35.13/
    Yes.

    Quote Originally Posted by atreyu View Post
    what file did you use to create the copy of the kernel config here: /home/at/tv/linux-2.6.35.13/.config
    I just run make defconfig

    Quote Originally Posted by atreyu View Post
    did you run "make prepare" in that dir?
    Yes.

    Quote Originally Posted by atreyu View Post
    Also, what is your distro/version? Is your running kernel not the same as 2.6.35.13?
    My distro is Ubuntu 12.04. Running kernel version is 3.2.0-29.

  4. #4
    Trusted Penguin
    Join Date
    May 2011
    Posts
    4,307
    have you tried actually making the 2.6.35.13 kernel? i think the fuse module is trying to read a file that gets created or edited during kernel make.

    the error it is referring to is from fuse-2.7.0/kernel/configure starting around line 1853. it wants to find the string UTS_RELEASE in a kernel source file but isn't finding it.

  5. #5
    Just Joined!
    Join Date
    Sep 2012
    Posts
    3
    I've already configured fuse using this patch:

    Code:
    diff -ur fuse-2.7.0.orig/kernel/configure fuse-2.7.0/kernel/configure
    --- fuse-2.7.0.orig/kernel/configure	2007-07-02 15:49:23.000000000 +0400
    +++ fuse-2.7.0/kernel/configure	2012-09-07 15:05:55.393615670 +0400
    @@ -1856,6 +1856,7 @@
     	elif test -r $kernelbuild/include/linux/utsrelease.h && fgrep -q UTS_RELEASE $kernelbuild/include/linux/utsrelease.h; then
     		kernsrcver=`(echo "#include <linux/utsrelease.h>"; echo "kernsrcver=UTS_RELEASE") | cpp -I $kernelbuild/include | grep "^kernsrcver=" | cut -d \" -f 2`
     	fi
    +	kernsrcver="2.6.35.13"
     	if test -z "$kernsrcver"; then
     		{ echo "$as_me:$LINENO: result: Not found" >&5
     echo "${ECHO_T}Not found" >&6; }
    But I still have problem with compiling:
    Code:
    In file included from /home/at/tv/fuse-2.7.0/kernel/dev.c:16:0:
    include/linux/pagemap.h: In function ‘fault_in_pages_readable’:
    include/linux/pagemap.h:415:16: warning: variable ‘c’ set but not used [-Wunused-but-set-variable]
    /home/at/tv/fuse-2.7.0/kernel/dev.c: In function ‘fuse_req_init_context’:
    /home/at/tv/fuse-2.7.0/kernel/dev.c:84:25: error: ‘struct task_struct’ has no member named ‘fsuid’
    /home/at/tv/fuse-2.7.0/kernel/dev.c:85:25: error: ‘struct task_struct’ has no member named ‘fsgid’
    /home/at/tv/fuse-2.7.0/kernel/dev.c: In function ‘fuse_dev_init’:
    /home/at/tv/fuse-2.7.0/kernel/dev.c:1098:10: error: too many arguments to function ‘kmem_cache_create’
    include/linux/slab.h:101:20: note: declared here
    make[2]: *** [/home/at/tv/fuse-2.7.0/kernel/dev.o] Error 1
    make[1]: *** [_module_/home/at/tv/fuse-2.7.0/kernel] Error 2
    make[1]: Leaving directory `/home/at/tv/linux-2.6.35.13'
    make: *** [all-spec] Error 2

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •