Hi, We came across an issue where our builds of konsole and gnome-terminal were not working (Ctrl-C caused konsole to "hang" and gnome-terminal to exit). This turned out to be due to autoconf's AC_PROG_CC_C99 macro. We built libintl with some small patches and re-autoconf'ed it, so that our libintl ended up being built with -xc99=all. This was the cause of konsole's brokenness. Libc, when deciding what its behavior should be looks at the values of two global integers __xpg4 and __xpg6. __xpg4=1; __xpg6=0x0000FFFF; is c99 behavior __xpg4=0; __xpg6=0xFFFF0000; is c89 behavior. When creating a library or application with c99 or cc -xc99=all /usr/lib/values-xpg6.o is included in the output, this object file contains the c99 definitions for __xpg4 and __xpg6. When creating output without c99/-xc99=all this extra object is not put into the output and the values of __xpg4 and __xpg6 in libc (c89 behavior) are used (because they are the only definitions available). What this means is, if a library is linked with c99 on solaris 10, any clients of that library will get c99 behavior from libc (the lookup for __xpg4 and __xpg6 will find the definitions in the library before finding the ones in libc itself). It is, of course, possible to override this by putting definitions for __xpg4 and __xpg6 into the application itself (but then the library that was built with c99 will get c89 behavior from libc). I don't believe that this behavior is documented, perhaps it should be? Also, does anyone happen to know what exactly libc does differently with __xpg4=1 (the __xpg6 settings are documented in http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/lib/libc/inc/xpg6.h) Peter -- Peter O'Gorman pogma@xxxxxxxxxxxxxxxxxx _______________________________________________ Autoconf mailing list Autoconf@xxxxxxx http://lists.gnu.org/mailman/listinfo/autoconf