abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 19:00 | Zajímavý projekt

    Na crowdsourcingové platformě Crowd Supply byla spuštěna kampaň na podporu open source biometrického monitoru ve tvaru hodinek HealthyPi Move. Cena je 249 dolarů a plánovaný termín dodání listopad letošního roku.

    Ladislav Hagara | Komentářů: 3
    24.5. 22:22 | Upozornění Ladislav Hagara | Komentářů: 9
    24.5. 17:44 | Nová verze

    Firma Murena představila /e/OS verze 2.0. Jde o  alternativní sestavení Androidu bez aplikací Google. Mezi novinkami je podrobnější nastavení ochrany soukromí před sledováním aplikacemi. Murena prodává několik smartphonů s předinstalovaným /e/OS (Fairphone, repasovaný Google Pixel 5).

    Fluttershy, yay! | Komentářů: 0
    24.5. 14:33 | Zajímavý software

    Do 30. května lze v rámci akce Warhammer Skulls 2024 získat na Steamu zdarma hru Warhammer 40,000: Gladius - Relics of War.

    Ladislav Hagara | Komentářů: 1
    24.5. 13:33 | Nová verze

    HelenOS (Wikipedie), tj. svobodný operační systém českého původu založený na architektuře mikrojádra, byl vydán ve verzi 0.14.1. Přehled novinek v poznámkách k vydání. Vypíchnou lze nabídku Start. Videopředstavení na YouTube.

    Ladislav Hagara | Komentářů: 2
    23.5. 23:22 | Zajímavý software

    BreadboardOS je firmware pro Raspberry Pi Pico (RP2040) umožňující s tímto MCU komunikovat pomocí řádkového rozhraní (CLI). Využívá FreeRTOS a Microshell.

    Ladislav Hagara | Komentářů: 0
    23.5. 16:55 | Nová verze

    Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 24.05. Přehled novinek i s náhledy a videi v oficiálním oznámení. Do balíku se dostalo 5 nových aplikací: Audex, Accessibility Inspector, Francis, Kalm a Skladnik.

    Ladislav Hagara | Komentářů: 12
    23.5. 12:55 | Nová verze

    Byla vydána (𝕏) nová verze 18.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    22.5. 23:44 | Pozvánky

    V neděli 26. května lze navštívit Maker Faire Rychnov nad Kněžnou, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    22.5. 16:33 | Nová verze

    Byla vydána nová stabilní verze 3.20.0, tj. první z nové řady 3.20, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze vypíchnou počáteční podporu 64bitové architektury RISC-V.

    Ladislav Hagara | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (86%)
     (3%)
     (5%)
     (5%)
    Celkem 716 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    Rozcestník

    Dotaz: Chyba při kompilci modulu

    16.7.2006 00:16 diverman | skóre: 32 | blog: život s tučňáčkem
    Chyba při kompilci modulu
    Přečteno: 81×
    Ahoj, pokouším se naučit zase něco nového, ale zasekl jsem se na problému. Kompiluji modul podle tohoto článku.

    hello.c:
    #ifdef MODULE
    
    #include <linux/kernel.h>
    #include <linux/module.h>
    #include <linux/init.h>
    
    EXPORT_NO_SYMBOLS;
    
    /* Protos */
    static int hello_init(void) __init;
    static void hello_exit(void) __exit;
    
    /* Module Lifecycle */
    module_init(hello_init);
    module_exit(hello_exit);
    
    static int __init hello_init(void)
    {
            printk(KERN_INFO "Hello world !!!\n");
            return 0;
    }
    
    static void __exit hello_exit(void)
    {
    	printk(KERN_INFO "Bye Bye !!!\n");
            return;
    }
    
    #endif /* MODULE */
    
    Makefile:
    
    all: hello.o
    hello.o: hello.c
    	gcc -Wall -O2 -I /usr/src/linux/include -D__KERNEL__ -DMODULE -o hello.o -c  hello.c
    
    chyba:
    gcc -Wall -O2 -I /usr/src/linux/include -D __KERNEL__ -D MODULE -o hello.o -c  hello.c
    In file included from /usr/src/linux/include/asm/processor.h:18,
                     from /usr/src/linux/include/asm/thread_info.h:17,
                     from /usr/src/linux/include/linux/thread_info.h:21,
                     from /usr/src/linux/include/linux/preempt.h:10,
                     from /usr/src/linux/include/linux/spinlock.h:50,
                     from /usr/src/linux/include/linux/capability.h:45,
                     from /usr/src/linux/include/linux/sched.h:7,
                     from /usr/src/linux/include/linux/module.h:10,
                     from hello.c:4:
    /usr/src/linux/include/asm/system.h: In function '__set_64bit_var':
    /usr/src/linux/include/asm/system.h:210: warning: dereferencing type-punned pointer will break strict-aliasing rules
    /usr/src/linux/include/asm/system.h:210: warning: dereferencing type-punned pointer will break strict-aliasing rules
    In file included from /usr/src/linux/include/linux/rwsem.h:27,
                     from /usr/src/linux/include/asm/semaphore.h:42,
                     from /usr/src/linux/include/linux/sched.h:20,
                     from /usr/src/linux/include/linux/module.h:10,
                     from hello.c:4:
    /usr/src/linux/include/asm/rwsem.h: In function '__down_read':
    /usr/src/linux/include/asm/rwsem.h:105: error: syntax error before 'KBUILD_BASENAME'
    /usr/src/linux/include/asm/rwsem.h: In function '__down_write':
    /usr/src/linux/include/asm/rwsem.h:157: error: syntax error before 'KBUILD_BASENAME'
    /usr/src/linux/include/asm/rwsem.h: In function '__up_read':
    /usr/src/linux/include/asm/rwsem.h:194: error: syntax error before 'KBUILD_BASENAME'
    /usr/src/linux/include/asm/rwsem.h:188: warning: unused variable 'tmp'
    /usr/src/linux/include/asm/rwsem.h: In function '__up_write':
    /usr/src/linux/include/asm/rwsem.h:220: error: syntax error before 'KBUILD_BASENAME'
    /usr/src/linux/include/asm/rwsem.h: In function '__downgrade_write':
    /usr/src/linux/include/asm/rwsem.h:245: error: syntax error before 'KBUILD_BASENAME'
    In file included from /usr/src/linux/include/linux/sched.h:20,
                     from /usr/src/linux/include/linux/module.h:10,
                     from hello.c:4:
    /usr/src/linux/include/asm/semaphore.h: In function 'down':
    /usr/src/linux/include/asm/semaphore.h:105: error: syntax error before 'KBUILD_BASENAME'
    /usr/src/linux/include/asm/semaphore.h: In function 'down_interruptible':
    /usr/src/linux/include/asm/semaphore.h:130: error: syntax error before 'KBUILD_BASENAME'
    /usr/src/linux/include/asm/semaphore.h: In function 'down_trylock':
    /usr/src/linux/include/asm/semaphore.h:155: error: syntax error before 'KBUILD_BASENAME'
    /usr/src/linux/include/asm/semaphore.h: In function 'up':
    /usr/src/linux/include/asm/semaphore.h:179: error: syntax error before 'KBUILD_BASENAME'
    In file included from /usr/src/linux/include/asm/smp.h:18,
                     from /usr/src/linux/include/linux/smp.h:19,
                     from /usr/src/linux/include/linux/sched.h:26,
                     from /usr/src/linux/include/linux/module.h:10,
                     from hello.c:4:
    /usr/src/linux/include/asm/mpspec.h:6:25: error: mach_mpspec.h: není souborem ani adresářem
    In file included from /usr/src/linux/include/asm/smp.h:18,
                     from /usr/src/linux/include/linux/smp.h:19,
                     from /usr/src/linux/include/linux/sched.h:26,
                     from /usr/src/linux/include/linux/module.h:10,
                     from hello.c:4:
    /usr/src/linux/include/asm/mpspec.h: At top level:
    /usr/src/linux/include/asm/mpspec.h:8: error: 'MAX_MP_BUSSES' undeclared here (not in a function)
    /usr/src/linux/include/asm/mpspec.h:23: error: 'MAX_IRQ_SOURCES' undeclared here (not in a function)
    In file included from /usr/src/linux/include/linux/smp.h:19,
                     from /usr/src/linux/include/linux/sched.h:26,
                     from /usr/src/linux/include/linux/module.h:10,
                     from hello.c:4:
    /usr/src/linux/include/asm/smp.h:77:26: error: mach_apicdef.h: není souborem ani adresářem
    In file included from /usr/src/linux/include/linux/smp.h:19,
                     from /usr/src/linux/include/linux/sched.h:26,
                     from /usr/src/linux/include/linux/module.h:10,
                     from hello.c:4:
    /usr/src/linux/include/asm/smp.h: In function 'hard_smp_processor_id':
    /usr/src/linux/include/asm/smp.h:81: warning: implicit declaration of function 'GET_APIC_ID'
    hello.c: At top level:
    hello.c:7: warning: type defaults to 'int' in declaration of 'EXPORT_NO_SYMBOLS'
    hello.c:7: warning: data definition has no type or storage class
    make: *** [hello.o] Error 1
    
    uname -r: 2.6.16.20, /usr/src/linux->/usr/src/linux-2.6.16.20
    deb http://ftp.cz.debian.org/debian jessie main contrib non-free

    Odpovědi

    16.7.2006 01:02 Marble | skóre: 27 | blog: marble
    Rozbalit Rozbalit vše Re: Chyba při kompilci modulu
    Moduly do jádra 2.6 by se měly kompilovat přímo pomocí makefile jádra. Více info je v linux/Documentation/kbuild/modules.txt. (Nejsem si úplně jistý, že je to příčina uvedených chyb, ale rozhodně je lepší kompilovat uvedeným způsobem.)

    EXPORT_NO_SYMBOLS je v 2.6 standardní chování, takže netřeba psát (ale asi nevadí), #include <linux/kernel.h> mám pocit do modulu nepatří (ale opět nevím, jestli to vadí).

    Jinak asi nejlepší dokumentace (hlavně jedna z mála aktuálních) je knížka Linux Device Drivers (třetí vydání, pro 2.6 jádro) od O'Reilly. Dá se stáhnout jako PDFko (odkaz nevím, ale předpokládám, že půjde jednoduše najít; pokud ne, můžu někam hodit).
    16.7.2006 02:23 diverman | skóre: 32 | blog: život s tučňáčkem
    Rozbalit Rozbalit vše Re: Chyba při kompilci modulu
    deb http://ftp.cz.debian.org/debian jessie main contrib non-free
    Luk avatar 23.7.2006 17:27 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Chyba při kompilci modulu
    Česky je to popsáno v mém článku v LinuxExpresu. Makefile je vcelku primitivní, ale má poněkud jinou podobu než u běžných programů.
    Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.