Page 1 of 2 12 LastLast
Results 1 to 10 of 19

Thread: What is causing "No rule to make target `modules'. Stop"?

  1. #1
    Join Date
    Jun 2008
    Location
    UK; deep south, far below Watford.
    Posts
    275

    Default What is causing "No rule to make target `modules'. Stop"?

    I submitted this problem to this forum earlier last week but it elicited no response in a forum environment where reaction to forum posts is outstandingly quick. I guess it was perhaps the thread Title which was off-putting as well as misleading, so I am submitting the problem again (please!) with a more relevant title.

    I am trying to compile and install the driver which supports older Philips Web Cam (which my Logitech Quick Cam 3000 Pro needs). I am following the instructions that are part of the PWC package from Luc Saillard. The 'make' step fails and I cannot understand why this script is accessing the directories that it is.

    I believe the kernel source is in /lib/modules/2.6.27.23-0.1-pae

    But the make script seems to be accessing /usr/src/linux-2.6.27.23-0.1-obj/i386/pae which contains only the file Module.symvers (which I am guessing contains the headers for the kernel source ?)

    The output from make says:

    make -C /lib/modules/2.6.27.23-0.1-pae/build SUBDIRS=/home/tony/install_temp/pwc-10.0.11 modules
    make[1]: Entering directory `/usr/src/linux-2.6.27.23-0.1-obj/i386/pae'
    make[1]: *** No rule to make target `modules'. Stop.
    make[1]: Leaving directory `/usr/src/linux-2.6.27.23-0.1-obj/i386/pae'
    make: *** [all] Error 2


    Can somebody please advise me what is causing this error to be invoked adn, by implication, what changes to the make script are required?


    I have Googled the error message from make and followed the many 'hits' that are presented from this unique error text. None of the advice given fixes the problem. I am unable to progress beyond this point.
    __________________
    They said I wasn't fit to live with a pig; my brother stood up for me and said I was.

  2. #2
    Join Date
    Jun 2008
    Location
    /dev/belgium
    Posts
    1,946

    Default Re: What is causing "No rule to make target `modules'. Stop

    No, kernel sources are always in /usr/src. the stuff in /lib/modules/<kernel>/source and /lib/modules/<kernel>/build is just a symlink to /usr/src/linux source directory, besides the actual modules which are also in /lib/modules. If you have installed the kernel source package, then do as follows which may solve the problem

    1) login as root on console
    2) cp /boot/config-$(uname -r) /usr/src/linux/.config (note the . (point) in .config)
    3) cd /usr/src/linux && make prepare && make modules_prepare

    and try compiling your module again

  3. #3
    Join Date
    Jun 2008
    Location
    UK; deep south, far below Watford.
    Posts
    275

    Default Re: What is causing "No rule to make target `modules'. Stop

    I think I need a little more help here because things do not add up.

    There is only one file in usr/src/linux... - Module.symvers. Perhaps this means that I have not got the kernel source installed? However Yast tells me that the package kernel-pae is already installed - in lib/modules/2.6.27.23-0.1-pae. This folder contains 2770+ files which do not appear to be symbolic links,, with a total size about 64 MB.

    So do I have the source installed or not? If not, which source pacakge should I install?
    They said I wasn't fit to live with a pig; my brother stood up for me and said I was.

  4. #4
    Join Date
    Jun 2008
    Location
    /dev/belgium
    Posts
    1,946

    Default Re: What is causing "No rule to make target `modules'. Stop

    kernel-pae is the kernel *itself* and *not* the kernel source. Search for package kernel-source and install it

  5. #5
    Join Date
    Jun 2008
    Location
    UK; deep south, far below Watford.
    Posts
    275

    Default Re: What is causing "No rule to make target `modules'. Stop

    OK; I found and installed the kernel files, followed your previous instructions (which appeared to work wthout any problem) and then re-invoked the make. The reult is a lengthy collection of erros, which I assume are caused by the developer of the make file making invalid assumptions. My probelm is that I do not understand what is causing this many erros and so do not understand how to fix the problem.

    This is the output from 'make':

    make -C /lib/modules/2.6.27.23-0.1-pae/build SUBDIRS=/home/tony/install_temp/pwc-10.0.11 modules
    make[1]: Entering directory `/usr/src/linux-2.6.27.23-0.1-obj/i386/pae'
    make -C ../../../linux-2.6.27.23-0.1 O=/usr/src/linux-2.6.27.23-0.1-obj/i386/pae/. modules
    CC [M] /home/tony/install_temp/pwc-10.0.11/pwc-if.o
    In file included from /home/tony/install_temp/pwc-10.0.11/pwc-if.c:69:
    /home/tony/install_temp/pwc-10.0.11/pwc.h:28:26: error: linux/config.h: No such file or directory
    /home/tony/install_temp/pwc-10.0.11/pwc.h:37:27: error: asm/semaphore.h: No such file or directory
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:164: error: variable ‘pwc_template’ has initializer but incomplete type
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:165: error: unknown field ‘owner’ specified in initializer
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:165: warning: excess elements in struct initializer
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:165: warning: (near initialization for ‘pwc_template’)
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:166: error: unknown field ‘name’ specified in initializer
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:166: warning: excess elements in struct initializer
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:166: warning: (near initialization for ‘pwc_template’)
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:167: error: unknown field ‘type’ specified in initializer
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:167: warning: excess elements in struct initializer
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:167: warning: (near initialization for ‘pwc_template’)
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:168: error: unknown field ‘hardware’ specified in initializer
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:168: error: ‘VID_HARDWARE_PWC’ undeclared here (not in a function)
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:168: warning: excess elements in struct initializer
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:168: warning: (near initialization for ‘pwc_template’)
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:169: error: unknown field ‘release’ specified in initializer
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:169: error: ‘video_device_release’ undeclared here (not in a function)
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:169: warning: excess elements in struct initializer
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:169: warning: (near initialization for ‘pwc_template’)
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:170: error: unknown field ‘fops’ specified in initializer
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:170: warning: excess elements in struct initializer
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:170: warning: (near initialization for ‘pwc_template’)
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:171: error: unknown field ‘minor’ specified in initializer
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:171: warning: excess elements in struct initializer
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:171: warning: (near initialization for ‘pwc_template’)
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c: In function ‘pwc_allocate_buffers’:
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:328: warning: format ‘%ld’ expects type ‘long int’, but argument 2 has type ‘int’
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c: In function ‘pwc_isoc_init’:
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:885: warning: assignment from incompatible pointer type
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c: At top level:
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:979: warning: ‘struct class_device’ declared inside parameter list
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:979: warning: its scope is only this definition or declaration, which is probably not what you want
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c: In function ‘cd_to_pwc’:
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:981: error: implicit declaration of function ‘to_video_device’
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:981: warning: initialization makes pointer from integer without a cast
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:982: error: implicit declaration of function ‘video_get_drvdata’
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:982: warning: return makes pointer from integer without a cast
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c: At top level:
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:985: warning: ‘struct class_device’ declared inside parameter list
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c: In function ‘show_pan_tilt’:
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:987: warning: passing argument 1 of ‘cd_to_pwc’ from incompatible pointer type
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c: At top level:
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:992: warning: ‘struct class_device’ declared inside parameter list
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c: In function ‘store_pan_tilt’:
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:994: warning: passing argument 1 of ‘cd_to_pwc’ from incompatible pointer type
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c: At top level:
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1008: error: expected ‘)’ before ‘(’ token
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1011: warning: ‘struct class_device’ declared inside parameter list
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c: In function ‘show_snapshot_button_status’:
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1013: warning: passing argument 1 of ‘cd_to_pwc’ from incompatible pointer type
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c: At top level:
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1019: error: expected ‘)’ before ‘(’ token
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c: In function ‘pwc_create_sysfs_files’:
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1024: warning: initialization makes pointer from integer without a cast
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1026: error: implicit declaration of function ‘video_device_create_file’
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1026: error: ‘class_device_attr_pan_tilt’ undeclared (first use in this function)
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1026: error: (Each undeclared identifier is reported only once
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1026: error: for each function it appears in.)
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1027: error: ‘class_device_attr_button’ undeclared (first use in this function)
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c: In function ‘pwc_remove_sysfs_files’:
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1032: warning: initialization makes pointer from integer without a cast
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1034: error: implicit declaration of function ‘video_device_remove_file’
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1034: error: ‘class_device_attr_pan_tilt’ undeclared (first use in this function)
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1035: error: ‘class_device_attr_button’ undeclared (first use in this function)
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c: In function ‘pwc_video_open’:
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1074: error: implicit declaration of function ‘video_devdata’
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1074: warning: initialization makes pointer from integer without a cast
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1079: error: dereferencing pointer to incomplete type
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c: In function ‘pwc_video_close’:
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1187: error: dereferencing pointer to incomplete type
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c: In function ‘pwc_video_read’:
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1247: error: dereferencing pointer to incomplete type
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c: In function ‘pwc_video_poll’:
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1311: error: dereferencing pointer to incomplete type
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c: In function ‘pwc_video_ioctl’:
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1327: error: implicit declaration of function ‘video_usercopy’
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c: In function ‘pwc_video_mmap’:
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1340: error: dereferencing pointer to incomplete type
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c: In function ‘usb_pwc_probe’:
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1648: error: implicit declaration of function ‘video_device_alloc’
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1648: warning: assignment makes pointer from integer without a cast
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1655: error: invalid application of ‘sizeof’ to incomplete type ‘struct video_device’
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1655: error: invalid application of ‘sizeof’ to incomplete type ‘struct video_device’
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1655: error: invalid application of ‘sizeof’ to incomplete type ‘struct video_device’
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1656: error: dereferencing pointer to incomplete type
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1657: error: dereferencing pointer to incomplete type
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1658: error: dereferencing pointer to incomplete type
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1659: error: implicit declaration of function ‘video_set_drvdata’
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1682: error: dereferencing pointer to incomplete type
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1683: error: implicit declaration of function ‘video_register_device’
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1683: error: ‘VFL_TYPE_GRABBER’ undeclared (first use in this function)
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1686: error: implicit declaration of function ‘video_device_release’
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1691: error: dereferencing pointer to incomplete type
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c: In function ‘usb_pwc_disconnect’:
    /home/tony/install_temp/pwc-10.0.11/pwc-if.c:1745: error: implicit declaration of function ‘video_unregister_device’
    make[4]: *** [/home/tony/install_temp/pwc-10.0.11/pwc-if.o] Error 1
    make[3]: *** [_module_/home/tony/install_temp/pwc-10.0.11] Error 2
    make[2]: *** [sub-make] Error 2
    make[1]: *** [all] Error 2
    make[1]: Leaving directory `/usr/src/linux-2.6.27.23-0.1-obj/i386/pae'
    make: *** [all] Error 2
    They said I wasn't fit to live with a pig; my brother stood up for me and said I was.

  6. #6
    Join Date
    Jun 2008
    Location
    /dev/belgium
    Posts
    1,946

    Default Re: What is causing "No rule to make target `modules'. Stop

    /home/tony/install_temp/pwc-10.0.11/pwc.h:28:26: error: linux/config.h: No such file or directory
    /home/tony/install_temp/pwc-10.0.11/pwc.h:37:27: error: asm/semaphore.h: No such file or directory
    it is looking for these files which you don't appear to have. Did you copy the /boot/config-$(uname -r) file to /usr/src/linux/.config and ran make prepare && make modules_prepare before trying to compile your module?

  7. #7
    Join Date
    Jun 2008
    Location
    Podunk
    Posts
    26,491
    Blog Entries
    15

    Default Re: What is causing "No rule to make target `modules'. Stop"?

    Quote Originally Posted by microchip8

    > */home/tony/install_temp/pwc-10.0.11/pwc.h:28:26: error:
    > linux/config.h: No such file or directory
    > /home/tony/install_temp/pwc-10.0.11/pwc.h:37:27: error:
    > asm/semaphore.h: No such file or directory*


    it is looking for these files which you don't appear to have. Did you
    copy the /boot/config-$(uname -r) file to /usr/src/linux/.config and ran
    -make prepare && make modules_prepare- before trying to compile your
    module?
    Hi
    Looks like the OP will need to patch the header files,
    it's linux/semaphore.h not asm.

    @OP, you do realize the pwc module is part of the kernel?

    --
    Cheers Malcolm (Linux Counter #276890)
    SUSE Linux Enterprise Desktop 11 (x86_64) Kernel 2.6.27.23-0.1-default
    up 10 days 3:59, 4 users, load average: 0.22, 0.26, 0.29
    GPU GeForce 8600 GTS Silent - Driver Version: 185.18.14


  8. #8
    Join Date
    Jun 2008
    Location
    Podunk
    Posts
    26,491
    Blog Entries
    15

    Default Re: What is causing "No rule to make target `modules'. Stop"?

    Quote Originally Posted by Malcolm
    Quote Originally Posted by microchip8

    > */home/tony/install_temp/pwc-10.0.11/pwc.h:28:26: error:
    > linux/config.h: No such file or directory
    > /home/tony/install_temp/pwc-10.0.11/pwc.h:37:27: error:
    > asm/semaphore.h: No such file or directory*


    it is looking for these files which you don't appear to have. Did you
    copy the /boot/config-$(uname -r) file to /usr/src/linux/.config and ran
    -make prepare && make modules_prepare- before trying to compile your
    module?
    Hi
    Looks like the OP will need to patch the header files,
    it's linux/semaphore.h not asm.

    @OP, you do realize the pwc module is part of the kernel?
    Hi
    Also see that the uvc module may be of use?
    http://linux-uvc.berlios.de/

    --
    Cheers Malcolm (Linux Counter #276890)
    SUSE Linux Enterprise Desktop 11 (x86_64) Kernel 2.6.27.23-0.1-default
    up 10 days 4:52, 2 users, load average: 0.22, 0.18, 0.18
    GPU GeForce 8600 GTS Silent - Driver Version: 185.18.14


  9. #9
    Join Date
    Jun 2008
    Location
    UK; deep south, far below Watford.
    Posts
    275

    Default Re: What is causing "No rule to make target `modules'. Stop

    In response to the two last questions:

    1. Re the UVC module: I am lead to believe that this is not relevant to my older web-cam (Logitech Quick Cam Pro 3000), which is supported, I'm told, only by the PWC driver. Is my understanding correct?


    2. Re PWC being part of the kernel: no, I was not aware of this and the reading I have done so far, looking at the web-cam sensors that are supported, also lead me to believe that I had to add the PWC driver to the kernel (and hence the mess that I have managed to get myself into thus far). In fact I have not been able to find an applications with which the camera will work (for example AMSN), so I took this as good evidence that there is currently no support for this web-cam in my version of the kernel. Am I mistaken in this belief?
    They said I wasn't fit to live with a pig; my brother stood up for me and said I was.

  10. #10
    Join Date
    Jun 2008
    Location
    UK; deep south, far below Watford.
    Posts
    275

    Default Re: What is causing "No rule to make target `modules'. Stop

    Quote Originally Posted by microchip8 View Post
    it is looking for these files which you don't appear to have. Did you copy the /boot/config-$(uname -r) file to /usr/src/linux/.config and ran make prepare && make modules_prepare before trying to compile your module?
    Yes, If I have understood it correctly, your previous post gave me directions on how to do this. I copied your instructions (i.e. didn't retype them) into a terminal session, logged in as root. Both commands seemed to work without error. But I note that the first command you suggested creates a file called .config in usr/src/linux and not a file called .config.h

    Is this intended? There is no .config.h file in the usr/src/linux directory, so I do not understand how the 'make' process can work
    They said I wasn't fit to live with a pig; my brother stood up for me and said I was.

Page 1 of 2 12 LastLast

Posting Permissions

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