This is the Tru64 README file for netatalk. 1. Unfortunately, AppleTalk is not available for Digital Unix or Tru64. The reason for this is the kernel patches which Netatalk requires cannot be ported to Tru64. If anyone has the kernel source of Tru64 they are welcomed to port the AppleTalk modules themselves. As a result, only AppleShare over IP (ASIP) works with Tru64. That is, the program afpd. papd and atalkd compile, but doesn't really work. Anything that requires AppleTalk doesn't work. 2. Netatalk compiles on various versions of Tru64 V4.x . However, the Tru64 C compiler does not seem to work. However, Netatalk has been successfully compiled, linked and runned with gcc-2.95.3 . GNU Make might also be required. 3. A peculiar bug in Netatalk has been noticed on a single Tru64 machine. However, because other Tru64 machines have not affected, a patch will not be forthcoming until the circumstances where the bug hits is isolated and a more elegant and appropriate patch can be found. In the meantime, there is a description of the bug below. Any users affected can attempt the workarounds provided. The user is urged to report this to the mailing list so that this bug can be isolated and removed. HAVE_GCC_MEMCPY_BUG Description - It appears that memcpy() under Tru64 can fail under some circumstances. This maybe due to the fact that Netatalk is compiled with gcc, but since only gcc can compile Netatalk, this is a mute point. Symptoms - The symptoms of this bug is that a 18432 byte file uploaded to the server would upload correctly, but a 18433 byte file would result in a sparse file many megabytes big (16MB+). However, due to the low-level nature of memcpy(), there is no reason why other symptoms could not occur. Workarounds - There are two known workarounds at this stage. - The first is to #define the macro HAVE_GCC_MEMCPY_BUG. This forces netatalk to use bcopy() in a few (but not all) cases within the code and is enough to stop the bug from occurring. This is the easiest workaround and would merely alter the standard compilation steps to ./configure --with-cflags="-DHAVE_GCC_MEMCPY_BUG" make make install - The second workaround is to manually remove the optimisation flag "-O2" from within configure and/or configure.in. Although, this isn't the preferred workaround, it shows that the compiler is (at least) partially at fault.