@node environ @section @code{environ} @findex environ POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/environ.html} Gnulib module: environ Portability problems fixed by Gnulib: @itemize @item POSIX does not require this variable to be declared, and it is indeed not declared on some platforms: Mac OS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, IRIX 6.5, Solaris 11 2011-11. @item On Mac OS X 10, this variable is not declared. Up to Mac OS X 10.4, one can use @smallexample extern char **environ; @end smallexample to get the variable declared. This does not work any more, however, in shared libraries on Mac OS X 10.5. Here is a workaround: Instead, one can use @smallexample #include #define environ (*_NSGetEnviron()) @end smallexample This works at all versions of Mac OS X. @end itemize Portability problems not fixed by Gnulib: @itemize @item The address of this variable is not a compile-time constant on some platforms: mingw. @end itemize