Kernel compile time error

Discussion in 'Kernels' started by arvindsingh, Nov 25, 2014.

  1. arvindsingh

    arvindsingh New Member

    Joined:
    Nov 24, 2014
    Messages:
    3
    Likes Received:
    0
    Hi ,
    I am new to UDOO board, I am having UDOO-DualLite.

    I am trying to compile kernel with my installed cross compiler on ubuntu13.04.

    I had followed these steps.

    1. make ARCH=arm UDOO_defconfig
    2. make ARCH=arm menuconfig
    3. make -j4 CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm uImage modules

    But in this process i am getting this error.

    make[2]: *** No rule to make target `drivers/rtc/class.o', needed by `drivers/rtc/rtc-core.o'. Stop.
    make[1]: *** [drivers/rtc] Error 2
    make[1]: *** Waiting for unfinished jobs....
    make: *** [drivers] Error 2


    I have tried to debug the issue, and i found this file class.c is present in /drivers/base directory and makefile(/drivers/rtc/) is importing class.o but not able to import.

    any help will be deeply appreciated to resolve my issue.

    thank you
     
  2. delba

    delba Administrator Staff Member

    Joined:
    May 8, 2013
    Messages:
    1,064
    Likes Received:
    9
  3. arvindsingh

    arvindsingh New Member

    Joined:
    Nov 24, 2014
    Messages:
    3
    Likes Received:
    0
    hi delba,

    this time i tried with Freescale cross compiler also, still i am getting same error as mentioned above.

    i have seen makefile of drivers/rtc/ directory their it is mentioned like that,

    ccflags-$(CONFIG_RTC_DEBUG) := -DDEBUG
    obj-$(CONFIG_RTC_LIB) += rtc-lib.o
    obj-$(CONFIG_RTC_HCTOSYS) += hctosys.o
    obj-$(CONFIG_RTC_CLASS) += rtc-core.o
    rtc-core-y := class.o interface.o

    but their is no class.c file in this directory, i tried to find this source file and i found it in /drivers/base/ directory and i copied it in /drivers/rtc/ , but i gets error msgs of multiple definition.



    drivers/rtc/built-in.o: In function `class_dev_iter_next':
    rtc-snvs.c:(.text+0x5a4): multiple definition of `class_dev_iter_next'
    drivers/base/built-in.o:module.c:(.text+0x41e8): first defined here
    drivers/rtc/built-in.o: In function `show_class_attr_string':
    rtc-snvs.c:(.text+0x580): multiple definition of `show_class_attr_string'
    drivers/base/built-in.o:module.c:(.text+0x41c4): first defined here
    drivers/rtc/built-in.o: In function `__class_create':
    rtc-snvs.c:(.text+0xb10): multiple definition of `__class_create'
    drivers/base/built-in.o:module.c:(.text+0x4754): first defined here
    drivers/rtc/built-in.o: In function `class_compat_unregister':
    rtc-snvs.c:(.text+0x4c8): multiple definition of `class_compat_unregister'
    drivers/base/built-in.o:module.c:(.text+0x410c): first defined here
    drivers/rtc/built-in.o: In function `class_destroy':
    rtc-snvs.c:(.text+0x934): multiple definition of `class_destroy'
    drivers/base/built-in.o:module.c:(.text+0x4578): first defined here
    drivers/rtc/built-in.o: In function `class_compat_register':
    rtc-snvs.c:(.text+0x510): multiple definition of `class_compat_register'
    drivers/base/built-in.o:module.c:(.text+0x4154): first defined here
    drivers/rtc/built-in.o: In function `class_dev_iter_exit':
    rtc-snvs.c:(.text+0x5a0): multiple definition of `class_dev_iter_exit'
    drivers/base/built-in.o:module.c:(.text+0x41e4): first defined here
    drivers/rtc/built-in.o: In function `class_for_each_device':
    rtc-snvs.c:(.text+0x820): multiple definition of `class_for_each_device'
    drivers/base/built-in.o:module.c:(.text+0x4464): first defined here
    drivers/rtc/built-in.o: In function `__class_register':
    rtc-snvs.c:(.text+0x964): multiple definition of `__class_register'
    drivers/base/built-in.o:module.c:(.text+0x45a8): first defined here
    drivers/rtc/built-in.o: In function `class_create_file':
    rtc-snvs.c:(.text+0x948): multiple definition of `class_create_file'
    drivers/base/built-in.o:module.c:(.text+0x458c): first defined here
    drivers/rtc/built-in.o: In function `class_remove_file':
    rtc-snvs.c:(.text+0x8d0): multiple definition of `class_remove_file'
    drivers/base/built-in.o:module.c:(.text+0x4514): first defined here
    drivers/rtc/built-in.o: In function `class_compat_remove_link':
    rtc-snvs.c:(.text+0x418): multiple definition of `class_compat_remove_link'
    drivers/base/built-in.o:module.c:(.text+0x405c): first defined here
    drivers/rtc/built-in.o: In function `class_interface_unregister':
    rtc-snvs.c:(.text+0x610): multiple definition of `class_interface_unregister'
    drivers/base/built-in.o:module.c:(.text+0x4254): first defined here
    drivers/rtc/built-in.o: In function `class_unregister':
    rtc-snvs.c:(.text+0x8e4): multiple definition of `class_unregister'
    drivers/base/built-in.o:module.c:(.text+0x4528): first defined here
    drivers/rtc/built-in.o: In function `class_compat_create_link':
    rtc-snvs.c:(.text+0x454): multiple definition of `class_compat_create_link'
    drivers/base/built-in.o:module.c:(.text+0x4098): first defined here
    drivers/rtc/built-in.o: In function `class_interface_register':
    rtc-snvs.c:(.text+0x6b4): multiple definition of `class_interface_register'
    drivers/base/built-in.o:module.c:(.text+0x42f8): first defined here
    drivers/rtc/built-in.o: In function `class_dev_iter_init':
    rtc-snvs.c:(.text+0x5e4): multiple definition of `class_dev_iter_init'
    drivers/base/built-in.o:module.c:(.text+0x4228): first defined here
    drivers/rtc/built-in.o: In function `classes_init':
    rtc-snvs.c:(.init.text+0x120): multiple definition of `classes_init'
    drivers/base/built-in.o:module.c:(.init.text+0x134): first defined here
    drivers/rtc/built-in.o: In function `class_find_device':
    rtc-snvs.c:(.text+0x774): multiple definition of `class_find_device'
    drivers/base/built-in.o:module.c:(.text+0x43b8): first defined here
    make[1]: *** [drivers/built-in.o] Error 1
    make: *** [drivers] Error 2



    i am not able to understand why i am getting this error, please help me to solve it.

    thanks
    arvind
     
  4. gionji

    gionji Member

    Joined:
    Jun 28, 2013
    Messages:
    38
    Likes Received:
    0
    Hi,

    i think you should use the full path:
    CROSS_COMPILE=/home/udoo/udoo-dev/arm-fsl-linux-gnueabi/bin/arm-fsl-linux-gnueabi-
    so
    CROSS_COMPILE=/home/<YOUR_PATH>/arm-fsl-linux-gnueabi/bin/arm-fsl-linux-gnueabi-
     

Share This Page