RH9 ucspi & qmail compile error
Jiri Cerny
jirka.centrum na centrum.cz
Pátek Duben 4 13:37:49 CEST 2003
Miroslav Petricek wrote:
> On Thu, Apr 03, 2003 at 04:47:51PM +0200, Ing. Pavel PaJaSoft Janousek wrote:
>
>> Aspon ze tak, vypadalo to hrozive - takze staci pouzivat #include
>><errno.h> (coz delam drahnou radu let:->) a to obalene thread-safe volani a
>>podobny nesmysly za mne udela header - rozumim spravne? - jen by mne
>>zajimalo, jak je tedy 'errno' definovano, protoze jak se tak divam, tak
>>jeste v dobach RH 7.3 je v /usr/include/bits/errno.h (v dalsich vrstvach
>>jako .../linux/errno.h ci .../asm/errno.h jsou jiz nezajimave casti):
>>
>>
>> Napada mne jedine makro, protoze v C/C++ nemohu prece mixovat a
>>zamenovat promennou a funkci...:-0
>>
>>
>
>
> Samozřejmě. Jinak to ani nejde. Definice makra je v bits/errno.h:
>
> extern int *__errno_location (void) __THROW __attribute__((__const__));
>
> # if !defined _LIBC || defined _LIBC_REENTRANT
> /* When using threads, errno is a per-thread value. */
> # define errno (*__errno_location ())
>
>
Když už bylo toto téma otevřeno :-))
na to, že je to makro a v nově překládaných programů stačí inkludovat
errno.h jsem přišel dost brzy. Tento postup však neřeší např. linkování
s knihovnou, která tak přeložena nebyla a navíc program ke kterému ji
linkuji je ve fortranu. Měl by někdo radu jak obejít tohle?
Jiří Černý
Další informace o konferenci Linux