size_t - kde ho najdu

Michal Jezek kiwi.fon.tis na atlas.cz
Středa Listopad 22 11:12:32 CET 2006


Díky vám moc za rady.
    Vyřešil jsem to následovně ( v podstatě jak jste radili): našel jsem si v adresáři /usr/include soubory, kde je definovaný příkaz "inline" (compiler.h) a "size_t" (malloc.h). Ty jsem inkludnul do souboru util.c, který mi hlásil chyby. Poté už všechno projelo do konce (až na nějaký warning) program mi to zkompilovalo a program už frčí a milteruje :-)))
přidané řádky:
#include "/usr/include/linux/compiler.h"
#include "/usr/include/malloc.h"
Ono totiž když jsem zaremoval v podstatě celý soubor util.c, tak kompilace proběhla a přitom funkce size_t byla použita i jinde, což mě silně mátlo. Funkce inline ale nikde jinde nebyla. Takže to potom spíš vypadalo na tuhle funkci.
Možná že by pomohlo tam nějak vrazit cestu k těmto hlavičkovým souborům nebo přidat nějaký jiný hlavní "h" soubor, ale takhle to funguje a bohužel už nemám čas dále experimentovat. Už tak mi to sežralo dost času. Ale výsledek stojí za to! Opravdu můžu tento milter doporučit. Odpálkuje spoustu zbytečné pošty a šetří procesorový čas serveru, který nemusí rozpoznávat, jestli je to spam nebo ne a pak mail na neexistujícího uživatele mu následující server stejně omlátí o hlavu :-)

          Ještě jednou díky, Michal Ježek

"Michal Jezek" <kiwi.fon.tis na atlas.cz> wrote on 20.11.2006 12:38:48:

> Dobrý den.
> Mám problémek při kompilaci milter-rcptfilter. ./configure proběhne 
> v pořádku (žádný eror tam není), make ale nahlásí níže uvedené 
> "sprosťárny". Kde najdu funkce size_t a ret? V jaké knihovně nebo 
> balíku se ty mršky skovávají. Nějak je nemůžu vypátrat :-(

> Díky, Michal Ježek

> make
> gcc -g -O2 -Wall -D_XOPEN_SOURCE=500    -D_BSD_SOURCE   -c -o util.o util.c
> util.c:43: error: syntax error before "strncpy"
> util.c:44: warning: return type defaults to `int'
> util.c: In function `strncpy':
> util.c:46: error: syntax error before "size_t"
> util.c:48: error: `size_t' undeclared (first use in this function)
> util.c:48: error: (Each undeclared identifier is reported only once
> util.c:48: error: for each function it appears in.)
> util.c:48: error: syntax error before "ret"
> util.c:50: error: `ret' undeclared (first use in this function)
> make: *** [util.o] Error 1
---------------------------------------
www.transmission.cz - taneční party Transmission se koná 25. listopadu v pražské T-Mobile Aréně.




Další informace o konferenci Linux