abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

dnes 11:30 | Komunita

Etherpad (Wikipedie), svobodný online webový textový editor umožnující spolupráci v reálném čase, se stal oficiálním projektem organizace Software Freedom Conservancy (Wikipedie). Vývojáři Etherpadu se tak mohou stejně jako vývojáři dalších projektů soustředit pouze na vývoj softwaru a vše kolem zařídí Software Freedom Conservancy. Spuštěna byla instance Etherpadu pad.sfconservancy.org.

Ladislav Hagara | Komentářů: 1
dnes 10:40 | Zajímavý článek

Lukáš Růžička se v článku Workrave ve Fedoře aneb jak si nevytunelovat karpál na MojeFedora.cz věnuje aplikaci Workrave (Wikipedie) na sledování času stráveného na počítači, která může pomoci vyhnout se negativním účinkům práce s počítačem (RSI, CTS), nebo je alespoň výrazně zmírnit.

Ladislav Hagara | Komentářů: 1
dnes 10:00 | Komunita

Na Humble Bundle lze získat počítačovou hru Shadow Warrior: Special Edition běžící také v Linuxu zdarma. Speciální akce končí v sobotu v 19:00.

Ladislav Hagara | Komentářů: 1
včera 23:11 | Nová verze

Byla vydána verze 2.4.0 analyzátoru síťového provozu Wireshark. Jedná se o první stabilní verzi nové řady 2.4. Podrobný přehled novinek v poznámkách k vydání. V červnu proběhla konference SharkFest’17 US věnovaná Wiresharku. Záznamy přednášek jsou k dispozici na YouTube.

Ladislav Hagara | Komentářů: 0
včera 13:11 | Pozvánky

Spolek OpenAlt zve příznivce otevřeného přístupu na 142. brněnský sraz, který proběhne v pátek 21. července od 18:00 hodin ve Sport Centru Srbská (Srbská 4). Od 19:00 je pro zájemce zamluveno hřiště na plážový volejbal.

Ladislav Hagara | Komentářů: 0
včera 12:34 | Bezpečnostní upozornění

V GNOME Soubory, původně Nautilus, konkrétně v generování náhledů exe, msi, dll a lnk souborů byla nalezena a opravena bezpečnostní chyba CVE-2017-11421 s názvem Bad Taste. Při otevření složky obsahující tyto soubory může být spuštěn VBScript obsažen v názvech těchto souborů.

Ladislav Hagara | Komentářů: 2
včera 11:00 | Bezpečnostní upozornění

Společnost Oracle vydala čtvrtletní bezpečnostní aktualizaci svých softwarových produktů (CPU, Critical Patch Update). Opraveno bylo celkově 308 bezpečnostních chyb. V Oracle Java SE je například opraveno 32 bezpečnostních chyb. Vzdáleně zneužitelných bez autentizace je 28 z nich. V Oracle MySQL je opraveno 30 bezpečnostních chyb. Vzdáleně zneužitelných bez autentizace je 9 z nich.

Ladislav Hagara | Komentářů: 0
včera 01:00 | Komunita

Mark Krenz, známý svým twitterovým účtem @climagic (Command Line Magic), kde ukazuje, co vše a jak lze dělat v příkazovém řádku, přednášel včera v Praze. Záznam přednášky je k dispozici na YouTube.

Ladislav Hagara | Komentářů: 1
19.7. 10:00 | Nová verze

Microsoft vydal Skype pro Linux ve verzi 5.4 Beta. Nejnovější Skype pro Linux je postaven na frameworku Electron 1.7.4 a přináší skupinové videohovory.

Ladislav Hagara | Komentářů: 11
19.7. 06:00 | Nová verze

Werner Koch, zakladatel a hlavní vývojář GnuPG, oznámil vydání verze 1.8.0 svobodné kryptografické knihovny Libgcrypt. Jedná se o první stabilní verzi nové řady 1.8. Ta je API i ABI kompatibilní s řadou 1.7. Z novinek vývojáři zdůrazňují podporu kryptografických hašovacích funkcí Blake2 (Wikpedie), šifrovací mód XTS nebo zvýšení výkonu na architektuře ARM.

Ladislav Hagara | Komentářů: 0
Chystáte se pořídit CPU AMD Ryzen?
 (7%)
 (31%)
 (1%)
 (10%)
 (43%)
 (8%)
Celkem 1030 hlasů
 Komentářů: 65, poslední 1.6. 19:16
    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: 61×
    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 | Švédsko
    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ů.
    LinuxMarket - linuxový e-shop | LinuxEXPRES - linuxový magazín | OpenOffice.cz - portál uživatelů OpenOffice/LibreOffice

    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.