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:
Per i sistemi SPARC: Patch ID 112963-23
Per i sistemi x86: Patch ID 113986-19