Note su Solaris 9 9/05

Problemi legati agli standard

In Solaris 9 9/05 sono presenti i seguenti problemi legati agli standard.

La compilazione delle applicazioni UNIX 98 o UNIX 03 che includono l'intestazione dflcn.h non riesce (6295971)

Il file di intestazione dflcn.h visualizza simboli in /usr/include/sys/auxv.h che non sono consentiti in UNIX(R) 98 o UNIX 03. Se si compila un'applicazione UNIX 98 o UNIX 03 che include questo file di intestazione, il compilatore produce errori di sintassi. Di conseguenza, la compilazione non viene completata.

È possibile evitare questi errori usando un compilatore diverso da c89 o c99. In questo caso, tuttavia, l'applicazione compilata non sarà compatibile con UNIX 98 o UNIX 03. Inoltre, anche se si utilizza il compilatore cc, la compilazione non riesce se viene definita l'opzione -D_XOPEN_SOURCE.

Ad esempio, se si compila un'applicazione con l'opzione -D_XOPEN_SOURCE=600 viene visualizzato il seguente messaggio d'errore:


"/usr/include/sys/auxv.h", line 45: 
syntax error before or at: "a_type unprotected"
"/usr/include/sys/auxv.h", line 45: 
warning: syntax requires ";" after last struct/union member
"/usr/include/sys/auxv.h", line 54: 
zero-sized struct/union
"/usr/include/sys/auxv.h", line 54: 
warning: syntax error: empty declaration
"/usr/include/sys/auxv.h", line 55: 
warning: old-style declaration or incorrect type for: auxv_t

Soluzione: applicare una delle seguenti patch: