mkstemps (seemingly a GNU extension and not POSIX) was missing on a system and produces a link error.

--------------------------- core/vibe/core/file.d ----------------------------
index 9ab6dbe..11a8329 100644
@@ -20,7 +20,7 @@ import std.path;
import std.string;

version(Posix){

  • private extern(C) int mkstemps(char* templ, int suffixlen);
  • private extern(C) int mkstemp(char* templ);
    }

@safe:
@@ -152,7 +152,7 @@ FileStream createTempFile(string suffix = null)
templ[pattern.length .. $-1] = (suffix)[];
templ[$-1] = '\0';
assert(suffix.length <= int.max);

  • auto fd = () @trusted { return mkstemps(templ.ptr, cast(int)suffix.length); } ();
  • auto fd = () @trusted { return mkstemp(templ.ptr); } ();
    enforce(fd >= 0, "Failed to create temporary file.");
    return new ThreadedFileStream(fd, Path(templ[0 .. $-1].idup), FileMode.createTrunc);
    }