_POSIX_SOURCE 宣言により mkstemp が隠される
skf_finfo.c の先頭で、_POSIX_SOURCE マクロが定義されていますが、これはかなり古いマクロなので、 たとえば glibc で見ても _POSIX_C_SOURCE=1 相当になるようで、mkstemp は見えなくなります。 glibc の場合、 次に定義されている これも古い _BSD_SOURCE マクロによって見えるようになるかもしれませんが、 他のlibc ではそうでもありません。たとえば NetBSD-8 では見えませんが _NETBSD_SOURCE では見えるようになります。
X/Open 的には mkstemp は Issue 4 Version 2 で拡張として追加されて、Issue 5 で base に入ったので、 defined(_XOPEN_SOURCE) && defined(_XOPEN_SOURCE_EXTENDED) || (_XOPEN_SOURCE >= 500) の必要があります。
skf_finfo.c の履歴上、二つのマクロがどういう必要性で入ったのかがわからないのですが、 ご考慮していただければ幸いです。
一応
(1) POSIX_SOURCE は削除 (元々 LFS 関連で遙か昔に入ったような気がする)。
(2) POSIX_C_SOURCE を追加して、200112L を定義する。
(3) _XOPEN_SOURCE, _X_OPEN_SOURCE_EXTENDED は定義だけする。_XOPEN_SOURCE に値は設定しない (XOPEN SOURCE 関連は追っていないので影響が読めない)
で修正します。他もあるので、修正自体は少し待ってください。
skf_finfo.c の先頭で、_POSIX_SOURCE マクロが定義されていますが、これはかなり古いマクロなので、 たとえば glibc で見ても _POSIX_C_SOURCE=1 相当になるようで、mkstemp は見えなくなります。 glibc の場合、 次に定義されている これも古い _BSD_SOURCE マクロによって見えるようになるかもしれませんが、 他のlibc ではそうでもありません。たとえば NetBSD-8 では見えませんが _NETBSD_SOURCE では見えるようになります。
X/Open 的には mkstemp は Issue 4 Version 2 で拡張として追加されて、Issue 5 で base に入ったので、 defined(_XOPEN_SOURCE) && defined(_XOPEN_SOURCE_EXTENDED) || (_XOPEN_SOURCE >= 500) の必要があります。
skf_finfo.c の履歴上、二つのマクロがどういう必要性で入ったのかがわからないのですが、 ご考慮していただければ幸いです。