]> arthur.barton.de Git - netatalk.git/blob - doc/README.TRU64
added version reporting for the main daemons with a -v switch
[netatalk.git] / doc / README.TRU64
1 This is the Tru64 README file for netatalk.
2
3 1.  Unfortunately, AppleTalk is not available for Digital Unix or Tru64.
4     The reason for this is the kernel patches which Netatalk requires
5     cannot be ported to Tru64. If anyone has the kernel source of Tru64
6     they are welcomed to port the AppleTalk modules themselves.
7
8     As a result, only AppleShare over IP (ASIP) works with Tru64. That
9     is, the program afpd. papd and atalkd compile, but doesn't really
10     work. Anything that requires AppleTalk doesn't work.
11
12 2.  Netatalk compiles on various versions of Tru64 V4.x . However, the
13     Tru64 C compiler does not seem to work. However, Netatalk has been
14     successfully compiled, linked and runned with gcc-2.95.3 . GNU Make
15     might also be required.
16
17 3.  A peculiar bug in Netatalk has been noticed on a single Tru64
18     machine. However, because other Tru64 machines have not affected, a
19     patch will not be forthcoming until the circumstances where the bug
20     hits is isolated and a more elegant and appropriate patch can be
21     found. In the meantime, there is a description of the bug below. Any
22     users affected can attempt the workarounds provided. The user is
23     urged to report this to the mailing list so that this bug can be
24     isolated and removed.
25
26     HAVE_GCC_MEMCPY_BUG
27     Description -
28        It appears that memcpy() under Tru64 can fail under some
29     circumstances. This maybe due to the fact that Netatalk is compiled
30     with gcc, but since only gcc can compile Netatalk, this is a mute
31     point.
32
33     Symptoms -
34        The symptoms of this bug is that a 18432 byte file uploaded to
35     the server would upload correctly, but a 18433 byte file would
36     result in a sparse file many megabytes big (16MB+). However, due to
37     the low-level nature of memcpy(), there is no reason why other
38     symptoms could not occur.
39
40     Workarounds -
41        There are two known workarounds at this stage.
42     - The first is to #define the macro HAVE_GCC_MEMCPY_BUG. This forces
43     netatalk to use bcopy() in a few (but not all) cases within the code
44     and is enough to stop the bug from occurring. This is the easiest
45     workaround and would merely alter the standard compilation steps to
46
47     ./configure --with-cflags="-DHAVE_GCC_MEMCPY_BUG"
48     make
49     make install
50
51     - The second workaround is to manually remove the optimisation flag
52     "-O2" from within configure and/or configure.in. Although, this
53     isn't the preferred workaround, it shows that the compiler is
54     (at least) partially at fault.
55