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