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í
×
    včera 16:44 | Nová verze

    Svobodný multiplatformní herní engine Bevy napsaný v Rustu byl vydán ve verzi 0.18. Díky 174 přispěvatelům.

    Ladislav Hagara | Komentářů: 2
    včera 15:11 | IT novinky

    Miliardy korun na digitalizaci služeb státu nestačily. Stát do ní v letech 2020 až 2024 vložil víc než 50 miliard korun, ale původní cíl se nepodařilo splnit. Od loňského února měly být služby státu plně digitalizované a občané měli mít právo komunikovat se státem digitálně. Do tohoto data se povedlo plně digitalizovat 18 procent agendových služeb státu. Dnes to uvedl Nejvyšší kontrolní úřad (NKÚ) v souhrnné zprávě o stavu digitalizace v Česku. Zpráva vychází z výsledků víc než 50 kontrol, které NKÚ v posledních pěti letech v tomto oboru uskutečnil.

    Ladislav Hagara | Komentářů: 7
    včera 13:55 | IT novinky

    Nadace Wikimedia, která je provozovatelem internetové encyklopedie Wikipedia, oznámila u příležitosti 25. výročí vzniku encyklopedie nové licenční dohody s firmami vyvíjejícími umělou inteligenci (AI). Mezi partnery encyklopedie tak nově patří Microsoft, Amazon a Meta Platforms, ale také start-up Perplexity a francouzská společnost Mistral AI. Wikimedia má podobnou dohodu od roku 2022 také se společností Google ze skupiny

    … více »
    Ladislav Hagara | Komentářů: 0
    včera 02:22 | Nová verze

    D7VK byl vydán ve verzi 1.2. Jedná se o fork DXVK implementující překlad volání Direct3D 5, 6 a 7 na Vulkan. DXVK zvládá Direct3D 8, 9, 10 a 11.

    Ladislav Hagara | Komentářů: 0
    včera 02:00 | Nová verze

    Byla vydána verze 12.0.0 knihovny libvirt (Wikipedie) zastřešující různé virtualizační technologie a vytvářející jednotné rozhraní pro správu virtuálních strojů. Současně byl ve verzi 12.0.0 vydán související modul pro Python libvirt-python. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    15.1. 19:22 | Humor

    CreepyLink.com je nový zkracovač URL adres, 'díky kterému budou vaše odkazy vypadat tak podezřele, jak je to jen možné'. Například odkaz na abclinuxu.cz tento zkracovač převádí do podoby 'https://netflix.web-safe.link/logger_8oIlgs_free_money.php'. Dle prohlášení autora je CreepyLink alternativou ke zkracovači ShadyURL (repozitář na githubu), který dnes již bohužel není v provozu.

    NUKE GAZA! 🎆 | Komentářů: 3
    15.1. 12:33 | IT novinky

    Na blogu Raspberry Pi byla představena rozšiřující deska Raspberry Pi AI HAT+ 2 s akcelerátorem Hailo-10 a 8 GB RAM. Na rozdíl od předchozí Raspberry Pi AI HAT+ podporuje generativní AI. Cena desky je 130 dolarů.

    Ladislav Hagara | Komentářů: 3
    15.1. 12:11 | Komunita

    Wikipedie slaví 25. výročí svého založení. Vznikla 15. ledna 2001 jako doplňkový projekt k dnes již neexistující encyklopedii Nupedia. Doména wikipedia.org byla zaregistrována 12. ledna 2001. Zítra proběhne v Praze Večer svobodné kultury, který pořádá spolek Wikimedia ČR.

    Ladislav Hagara | Komentářů: 1
    15.1. 04:44 | Nová verze

    Po více než dvou letech od vydání předchozí verze 2.12 byla vydána nová stabilní verze 2.14 systémového zavaděče GNU GRUB (GRand Unified Bootloader, Wikipedie). Přehled novinek v souboru NEWS a v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 2
    15.1. 02:22 | Nová verze

    Google Chrome 144 byl prohlášen za stabilní. Nejnovější stabilní verze 144.0.7559.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 10 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře (YouTube).

    Ladislav Hagara | Komentářů: 4
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (5%)
     (0%)
     (9%)
     (19%)
     (3%)
     (6%)
     (3%)
     (11%)
     (42%)
    Celkem 462 hlasů
     Komentářů: 12, poslední 14.1. 21:12
    Rozcestník

    Dotaz: pcre/pcreposix na Slackware/Ubuntu

    31.8.2018 10:25 rastos | skóre: 63 | blog: rastos
    pcre/pcreposix na Slackware/Ubuntu
    Přečteno: 251×
    Po dlhom pátraní po jednom bug-u som došiel k tomu, že je niečo zle knižnicou pcre. Problém som našiel na Slackware-i (-current) ale vo finále potrebujem, aby ten kód chodil na Ubuntu.

    Na Slackware-i mám balík pcre-8.42 a jeho príslušné zdrojáky a to sú tie isté, ktoré sú na pcre.org.

    V tých zdrojákoch je súbor pcreposix.h, ktorý sa nainštaluje do /usr/include/pcreposix.h) a ktorý končí takto
    /* The functions */
    
    PCREPOSIX_EXP_DECL int regcomp(regex_t *, const char *, int);
    PCREPOSIX_EXP_DECL int regexec(const regex_t *, const char *, size_t,
                         regmatch_t *, int);
    PCREPOSIX_EXP_DECL size_t regerror(int, const regex_t *, char *, size_t);
    PCREPOSIX_EXP_DECL void regfree(regex_t *);
    
    #ifdef __cplusplus
    }   /* extern "C" */
    #endif
    
    #endif /* End of pcreposix.h */
    
    na Ubuntu mám balík libpcre3 a v nej je súbor pcreposix.h, ktorý končí takto:
    /* The functions */
    
    PCREPOSIX_EXP_DECL int pcreposix_regcomp(regex_t *, const char *, int);
    PCREPOSIX_EXP_DECL int pcreposix_regexec(const regex_t *, const char *, size_t,
                         regmatch_t *, int);
    PCREPOSIX_EXP_DECL size_t pcreposix_regerror(int, const regex_t *, char *, size_t);
    PCREPOSIX_EXP_DECL void pcreposix_regfree(regex_t *);
    
    #ifdef __cplusplus
    }   /* extern "C" */
    #endif
    
    #define regcomp pcreposix_regcomp
    #define regexec pcreposix_regexec
    #define regerror pcreposix_regerror
    #define regfree pcreposix_regfree
    
    #endif /* End of pcreposix.h */
    
    Otázky:
    • kde sa vzalo "pcre3"? Je to niečo iné ako knižnica z pcre.org?
    • dajú sa niekde nájsť originálne zdrojáky, z ktorých ubuntu urobilo balík? Ideálne aj nejakou históriou commitov?
    • tuší niekto, prečo je v pcreposix.h to premenovanie?

    Odpovědi

    31.8.2018 10:39 debian+
    Rozbalit Rozbalit vše Re: pcre/pcreposix na Slackware/Ubuntu

    1) libpcre3 - Perl 5 Compatible Regular Expression Library - runtime files

    2) ano, vyber si konkretny balik a citaj stranku

    3) ano, lebo programator je lenivy :) a usestri kratsou variacou 10 tuknuti/stlaceni do klavesnice (ak nema doplnovanie) .... a nie to premenovanie, vid.

    1.9.2018 13:20 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: pcre/pcreposix na Slackware/Ubuntu
    1. To sme sa trocha nepochopili - ja viem, čo znamená skratka PCRE a načo tá knižnica slúži. Mňa zaujíma prečo sa ten balík volá "pcre3" resp. "libpcre3", keďže projekt sa volá "pcre" a navyše existuje iný projekt s menom "pcre2".

    2. to si ma nakopol trocha správnym smerom - na stránke, ktorú som linkoval hore, sa dá nájsť
    [ Source: pcre3 ]
    To som predtým prehliadol, resp. som nevedel, že to tam mám hľadať, keďže ubuntu často nepoužívam. Dotiahnem odpoveď tým, že tam sa dá nájsť:
    pcre3_8.38.orig.tar.gz 	2,005.2 kB 	8a353fe1450216b6655dfcf3561716d9
    pcre3_8.38-3.1.debian.tar.gz 	31.5 kB 	943442eab19bb0381d1b663ca8cd23e8
    kde to prvé je premenovaný archív toho, čo vydalo pcre.org, a to druhé sú zmeny aplikované Debianom a následne Ubuntu.

    3. To sme sa zasa trocha nepochopili. regcomp()/regexec()/regfree() je POSIX API, a pcre knižnica ho ponúkala. Ale Debian sa z nejakého dôvodu rozhodol (pomerne dávno) ABI zmeniť a tie #define-y tam asi pridali, aby zachovali aspoň API na úrovni zdrojákov. Nie je mi jasné, prečo to spravili, ale asi sa tým zjavne vyhli práve problému, na ktorý som narazil: konflikt s duplicitnou implementáciou v libc. Zvláštne je, že sa tá zmena nedostala naspäť do projektu pcre.org a tým pádom ani do Slackware-u. A Slackware asi nebude mať chuť teraz tú zmenu prevziať, práve kvôli rozbitiu ABI :-(
    1.9.2018 14:09 debian+
    Rozbalit Rozbalit vše Re: pcre/pcreposix na Slackware/Ubuntu
    3) Keby si si nastudoval link, tak by si pochopil, na co sluzi define. #define

    Je prikaz predprocesora, ktory vytvori predprocesorovu premennu s danou hodnotou. A vsade, kde sa pouzije ta premenna, tak predprocesor ju nahradi hodnotou. ... Hodnota premenne su z pohladu predprocesora vzdy typu string.

    /* definicia premennej */ #define VERSION 1

    Hodnota predprocesorovej premennej mozes definovat aj trebars nazvom lubovolneho vyrazu, tj. napr. aj premennej, funkcie, kod atd..

    #define NOVY_RIADOK (putchar('\0')) Kedze predprocesorove premmenne sa vedia iba priradit hodnota a zmazat (#define a $undef), tak sa skor diva ako nahradzovac/vkladac textu (co aj realne je). void new_line(void) { putchar('\n'); } #define new_line nl Predprocesor slovo new_line nahradi hodnotou nl. Takze ak mam 15 krat v kode volat new_line a nechce sa mi pisat, tak napisem nl(); a predprocesor to nahradi na new_line(), tj. na realnu funkciu. V sume. Chces pouzivat bezproblovo prenositelne verzie, pouzivaj dlhe nazvy a nemas problem.
    1.9.2018 14:11 debian+
    Rozbalit Rozbalit vše Re: pcre/pcreposix na Slackware/Ubuntu
    define nehradza original, nepremenuva ale vytvara nove aliasy. Tak ako priklad s ln().
    1.9.2018 15:44 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: pcre/pcreposix na Slackware/Ubuntu
    Ok. Ďakujem za snahu. Myslím, že po 20 rokoch čo sa potýkam s Céčkom, už viem ako funguje #define ;-)
    1.9.2018 14:46 debian+
    Rozbalit Rozbalit vše Re: pcre/pcreposix na Slackware/Ubuntu
    1) Balickova konvecia. Ak je to kniznica, dostava pred lib. Ak ma ta kniznica aj programy (napr. openssl ma programy na generovanie kniznic), tak sa vytvori balik s priponou na konci -bin. Ak sa meni verzia kniznice, tak dostava priponu na konci 2, 3 atd. Dovod starsich kniznic je kvoli programom. Potrebuju stare. Napr. gtk2 prechod na gtk3 nie je u aplikacii hned, ak samozrejme vobec je.

    A samozrejme, vyvojar si ju nazve ako chce. Napr. pcre.
    1.9.2018 15:44 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: pcre/pcreposix na Slackware/Ubuntu
    Aha. A keď si pcre.org zmyslí, že keď už raz "pcre" prekopali a urobili "pcre2", tak môžu urobiť aj "pcre3" - potom debian/ubuntu urobí čo? Urobia balík s názvom libpcre4, ktorý bude zbuildovaný zo zdrojákov projektu pcre3?
    1.9.2018 17:53 debian+
    Rozbalit Rozbalit vše Re: pcre/pcreposix na Slackware/Ubuntu
    Ano. To oznacenie je oplyvnene modelom vyvoja, ze pokial je kod rady 1 hotovy a spokojny, tak vydame 2.0 (co je vlastne kopia napr. 1.18.8) a to co uz budeme dalej pridavat/prekopavat je 2.0.1 a vyssie ...

    V gtk3 je napr. aj styl, ze co je v gtk 3.0.0 uz nie je v 3.16.1 ... co sa tyka API
    1.9.2018 23:20 R
    Rozbalit Rozbalit vše Re: pcre/pcreposix na Slackware/Ubuntu
    libpcre3 preto, ze kniznica sa vola libpcre.so.3
    k3dAR avatar 1.9.2018 23:34 k3dAR | skóre: 63
    Rozbalit Rozbalit vše Re: pcre/pcreposix na Slackware/Ubuntu
    a nevola se kniznica libpcre.so.3 preto, ze balicek libpcre3? ;-)
    porad nemam telo, ale uz mam hlavu... nobody

    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.