Jtux Errata 5-Nov-2005 1. In the compilation instructions on the web site, you need a space after "-Wno-unknown-pragmas" and "-I$INCLUDEPATH". (This has now been fixed on the web site.) 2. jtux_file.c, around line 160: change return type for Java_jtux_UFile_dup2 from "int" to "jint". 3. jtux_network.c, around line 334: remove the open brace at the end of the line, as it's not closed. 4. jtux_network.c, around line 710: sockatmark isn't defined in Darwin, so add that condition to the existing #if: #if _XOPEN_VERSION >= 600 && !defined(DARWIN) 5. jtux_posixipc.c: bracket entire file after the #include of defs.h with this #if: #if (_POSIX_MESSAGE_PASSING > 0) && (_POSIX_SEMAPHORES > 0) && (_POSIX_SHARED_MEMORY_OBJECTS > 0) and a matching #endif at the end. 6. jtux_process.c, around line 520: replace the return statement with this: #if _POSIX_REALTIME_SIGNALS > 0 return SIGRTMIN; #else return 0; #endif and do the same in the function Java_jtux_UProcess_sig_1get_1SIGRTMAX: #if _POSIX_REALTIME_SIGNALS > 0 return SIGRTMAX; #else return 0; #endif 7. jtux_sysvipc.c, around line 181: change return type for Java_jtux_USysVIPC_semctl from "int" to "jint". around line 24: surround the POSIX IPC include like this: #if _POSIX_MESSAGE_PASSING > 0 #include #endif and similarly around lines 182 and 198: #if _POSIX_MESSAGE_PASSING > 0 if (sizeof(jint) < sizeof(nfds_t)) { ok = false; fprintf(stderr, "Type size error: sizeof(jint) < sizeof(nfds_t)\n"); } #endif #if _POSIX_MESSAGE_PASSING > 0 if (sizeof(jlong) < sizeof(mqd_t)) { ok = false; fprintf(stderr, "Type size error: sizeof(jlong) < sizeof(mqd_t)\n"); } #endif 8. jtux_sysvipc.c, around line 245: the #include ought not use a relative path; change it to: #include "macrostr.incl" 9. macrostr.incl, around line 186: SIGPOLL seems not to be defined in Darwin, so change the #ifdef to: #if defined(_XOPEN_UNIX) && !defined(DARWIN) 10. jtux_file.c, around line 241: fdatasync isn't defined in Darwin, so change the body of the function Java_jtux_UFile_fdatasync to: #ifndef DARWIN JTHROW_neg1(fdatasync(fd)) #else (void)setup_throw_errno(env, ENOSYS); return -1; #endif