hello.c,error - Hardware

This is a discussion on hello.c,error - Hardware ; hey guys i am newbie and am trying to compile the famous helloworld program and i am using the following hello.c file and the make file also i have given and i am getting the following errors i am trying ...

+ Reply to Thread
Results 1 to 2 of 2

Thread: hello.c,error

  1. hello.c,error

    hey guys i am newbie and am trying to compile the famous helloworld
    program and i am using the following hello.c file and the make file
    also i have given and i am getting the following errors i am trying
    from one week pls help

    hello.c
    **************************************

    #include
    #include

    static int hello_init(void) /* Loads a module in the kernel */
    {
    printk(KERN_ALERT"Hello kernel\n");
    return 0;

    }

    static void hello_exit(void) /* Removes module from kernel */
    {
    printk(KERN_ALERT"GoodBye Kernel\n");

    }

    module_init(hello_init);
    module_exit(hello_exit);

    makefile
    ****************************

    ifneq ($KERNELRELEASE),)

    obj-m :=hello.o

    else

    KERNELDIR := /lib/modules/$(shell uname -r)/build

    PWD := $(shell pwd)

    default:
    $(MAKE) -C $(KERNELDIR) M=$(PWD) modules

    endif

    %make hello
    ********************************
    cc -c -o hello.o hello.c
    hello.c:2:24: error: linux/init.h: No such file or directory
    hello.c:3:26: error: linux/module.h: No such file or directory
    hello.c: In function 'hello_init':
    hello.c:7: error: 'KERN_ALERT' undeclared (first use in this function)
    hello.c:7: error: (Each undeclared identifier is reported only once
    hello.c:7: error: for each function it appears in.)
    hello.c:7: error: expected ')' before string constant
    hello.c: In function 'hello_exit':
    hello.c:13: error: 'KERN_ALERT' undeclared (first use in this
    function)
    hello.c:13: error: expected ')' before string constant
    hello.c: At top level:
    hello.c:16: warning: data definition has no type or storage class
    hello.c:16: warning: parameter names (without types) in function
    declaration
    hello.c:17: warning: data definition has no type or storage class
    hello.c:17: warning: parameter names (without types) in function
    declaration
    make: *** [hello.o] Error 1


  2. Re: hello.c,error

    anganthia wrote:

    >hey guys i am newbie and am trying to compile the famous helloworld
    >program and i am using the following hello.c file and the make file
    >also i have given and i am getting the following errors i am trying
    >from one week pls help
    >
    >hello.c
    >**************************************
    >
    >#include
    >#include
    >
    >static int hello_init(void) /* Loads a module in the kernel */
    >{
    >printk(KERN_ALERT"Hello kernel\n");
    >return 0;
    >
    >}
    >
    >static void hello_exit(void) /* Removes module from kernel */
    >{
    >printk(KERN_ALERT"GoodBye Kernel\n");
    >
    >}
    >
    >module_init(hello_init);
    >module_exit(hello_exit);
    >
    >makefile
    >****************************
    >
    >ifneq ($KERNELRELEASE),)
    >
    >obj-m :=hello.o
    >
    >else
    >
    >KERNELDIR := /lib/modules/$(shell uname -r)/build
    >
    >PWD := $(shell pwd)
    >
    >default:
    >$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
    >
    >endif
    >
    >%make hello
    >********************************
    >cc -c -o hello.o hello.c
    >hello.c:2:24: error: linux/init.h: No such file or directory
    >hello.c:3:26: error: linux/module.h: No such file or directory
    >hello.c: In function 'hello_init':
    >hello.c:7: error: 'KERN_ALERT' undeclared (first use in this function)
    >hello.c:7: error: (Each undeclared identifier is reported only once
    >hello.c:7: error: for each function it appears in.)
    >hello.c:7: error: expected ')' before string constant
    >hello.c: In function 'hello_exit':
    >hello.c:13: error: 'KERN_ALERT' undeclared (first use in this
    >function)
    >hello.c:13: error: expected ')' before string constant
    >hello.c: At top level:
    >hello.c:16: warning: data definition has no type or storage class
    >hello.c:16: warning: parameter names (without types) in function
    >declaration
    >hello.c:17: warning: data definition has no type or storage class
    >hello.c:17: warning: parameter names (without types) in function
    >declaration
    >make: *** [hello.o] Error 1


    I don't want to confuse the issue but here is one I've been tinkering
    with with some reference URL's. Don't let the "main" function confuse
    you. Its not what you think.

    This one (only) works with a 2.6.x kernel.

    hello.c
    ************************************************** **************************
    /* 010831 - Linux Journal Sept 2001 Pg 24 - Loadable Module Hello.c
    - compile with
    gcc -c -DMODULE -D__KERNEL__ hello.c
    - Use with
    insmod ./hello.o
    lsmod
    rmmod hello.o
    050417 - http://tldp.org/LDP/lkmpg/2.6/html/index.html
    - make -C /usr/src/linux-`uname -r` SUBDIRS=$PWD modules
    - Makefile: obj-m += src_file.o
    050922 - Repaired and made modern from Linux Journal Oct 2005 Pg
    22.
    http://www.linuxjournal.com/article/8453
    060406 - Tried adding a main function ... it doesn't work exactly
    as you'd think.
    - Follow the ftp kernel module example to add a sys_call.
    */

    #include
    #include
    #include

    #define MYKERN "<4> " /* 1=minimum, console only; 4=kernel warning,
    /var/log/messages */

    int main(void) {
    printk(MYKERN "I'm in the main loop now!\n");
    return 0;
    }

    int init_module() {
    int x;
    printk(MYKERN "Hello, kernel!\n");
    x=main();
    return 0;
    }

    void cleanup_module() {
    printk(MYKERN "I'm not offended that you "
    "unloaded me. Have a pleasant day!\n");
    }

    MODULE_AUTHOR("Linux Journal Sept 2001 & Oct 2005.");
    MODULE_LICENSE("GPL");


    Makefile
    ************************************************** **************************
    # 050922 - Very basic kernel module make file.
    obj-m := hello.o
    KDIR := /lib/modules/$(shell uname -r)/build
    PWD := $(shell pwd)

    default:
    $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules

    clean:
    rm -f *.o *.ko *.mod.c

    Output
    ************************************************** **************************
    make -C /lib/modules/2.6.20/build
    SUBDIRS=/usr/src/MySource/modules/26/hello modules
    make[1]: Entering directory `/usr/src/linux-2.6.20'
    CC [M] /usr/src/MySource/modules/26/hello/hello.o
    Building modules, stage 2.
    MODPOST 1 modules
    CC /usr/src/MySource/modules/26/hello/hello.mod.o
    LD [M] /usr/src/MySource/modules/26/hello/hello.ko
    make[1]: Leaving directory `/usr/src/linux-2.6.20'

    Good luck!



    --
    ------------------------------------------------
    http://www3.sympatico.ca/dmitton
    SPAM Reduction: Remove "x." from my domain.
    ------------------------------------------------

    --
    Posted via a free Usenet account from http://www.teranews.com


+ Reply to Thread