POSIX.1-2008 (SUSv4) marks tmpnam() as obsolescent. As such it is not available in uClibc unless SUSv4 legacy stuff is enabled.
libstdc++-v3/ChangeLog 2013-03-24 Bernhard Reutner-Fischer <al...@gcc.gnu.org> * include/c_global/cstdio: On uClibc guard ::tmpnam with SUSv4 legacy availability. Signed-off-by: Bernhard Reutner-Fischer <rep.dot....@gmail.com> --- libstdc++-v3/include/c_global/cstdio | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libstdc++-v3/include/c_global/cstdio b/libstdc++-v3/include/c_global/cstdio index fcbec0c..037a668 100644 --- a/libstdc++-v3/include/c_global/cstdio +++ b/libstdc++-v3/include/c_global/cstdio @@ -131,7 +131,9 @@ namespace std using ::sprintf; using ::sscanf; using ::tmpfile; +#if !defined __UCLIBC__ || defined __UCLIBC_SUSV4_LEGACY__ using ::tmpnam; +#endif using ::ungetc; using ::vfprintf; using ::vprintf; -- 1.7.10.4