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 00:11 | Zajímavý článek

Před dvěma měsíci byl představen dekodér svobodného videoformátu AV1 s názvem dav1d. Jean-Baptiste Kempf, prezident neziskové organizace VideoLAN stojící za svobodným multiplatformním multimediálním přehrávačem a frameworkem VLC, se v příspěvku na svém blogu věnuje aktuální verzi dav1da. Na vývoji se podílelo 29 vývojářů. Mnoho kódu bylo přepsáno do assembleru. V závislosti na procesoru může být dav1d i pětkrát rychlejší než referenční dekodér libaom. Dekodér dav1d by mohl být používán již ve Firefoxu 65 [reddit].

Ladislav Hagara | Komentářů: 3
včera 06:00 | Zajímavý software

Byla vydána verze 2.0 programu vrms-rpm. Jedná se o klon vrms (virtual Richard M. Stallman) vytvořený pro linuxové distribuce založené na RPM. Program vrms-rpm analyzuje aktuálně nainstalované RPM balíčky a vypíše seznam nalezeného nesvobodného softwaru.

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

Po téměř třech a půl letech od vydání verze 3.0 byla vydána nová major verze 4.0 open source multiplatformní knihovny OpenCV (Open Source Computer Vision, Wikipedie) určené pro zpracování obrazu a počítačové vidění. Přehled novinek v ChangeLogu. Používáte-li OpenCV, můžete vývojářům pomoci vyplněním dotazníku.

Ladislav Hagara | Komentářů: 0
včera 03:00 | Zajímavý software

Společnost Tracktion Software uvolnila pod duální licencí GPL/komerční zdrojové kódy toolkitu Tracktion Engine (GitHub) pro vývoj hudebních softwarů. Představení toolkitu na YouTube.

Ladislav Hagara | Komentářů: 0
20.11. 06:00 | Komunita

Byl zveřejněn seznam 46 osob přijatých do programu Outreachy od 4. prosince 2018 do 4. března 2019. Cílem programu Outreachy je přitáhnout do světa svobodného a otevřeného softwaru lidi ze skupin, jež jsou ve světě svobodného a otevřeného softwaru málo zastoupeny.

Ladislav Hagara | Komentářů: 62
19.11. 22:22 | Nová verze

Tým vyvíjející hru SuperTuxKart vydal před týdnem novou alfa verzi přinášející víceuživatelský mód umožňující hrát hru po síti. Zatím jsou k dispozici pouze zdrojové kódy. Binární balíček by mohl vyjít během týdne.

Indiánský lotr | Komentářů: 3
19.11. 22:11 | Zajímavý článek

V Edici CZ.NIC vyšla kniha On-line ZOO seznamující děti předškolního a mladšího školního věku s nejčastějšími riziky spojenými s používáním Internetu. Kniha je určena především pedagogům, ale nejen jim. Knihu v elektronické verzi lze zdarma stáhnout ve formátu PDF (15,6MB).

Ladislav Hagara | Komentářů: 0
19.11. 21:33 | Zajímavý článek

Daniel Robbins informuje komunitu kolem linuxové distribuce Funtoo, že ve výchozím nastavení bude Funtoo používat LTS (Long-Term Stable) jádro 4.9 z Debianu. Klady vidí ve stabilitě pro serverové použití, ale také v méně problémech s ovladači třetích stran, například s ovladači od společnosti Nvidia.

D81 | Komentářů: 16
19.11. 20:44 | Pozvánky

Fedora 29 Release Party, oslava nedávného vydání Fedory 29 a 15 let Fedory, se uskuteční v pondělí 26. listopadu v Brně a v úterý 4. prosince a v Praze.

Ladislav Hagara | Komentářů: 0
19.11. 20:11 | IT novinky

Hodnota Bitcoinu, decentralizované kryptoměny, klesla pod 5 000 dolarů. Před 11 měsíci byla hodnota Bitcoinu téměř 20 000 dolarů.

Ladislav Hagara | Komentářů: 7
Jak nejčastěji otevíráte dokumenty na počítači?
 (92%)
 (3%)
 (5%)
Celkem 156 hlasů
 Komentářů: 10, poslední 19.11. 00:13
Rozcestník

Dotaz: pcre/pcreposix na Slackware/Ubuntu

31.8. 10:25 rastos | skóre: 61 | blog: rastos
pcre/pcreposix na Slackware/Ubuntu
Přečteno: 180×
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. 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. 13:20 rastos | skóre: 61 | 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. 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. 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. 15:44 rastos | skóre: 61 | 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. 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. 15:44 rastos | skóre: 61 | 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. 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. 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. 23:34 k3dAR | skóre: 51
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.