forked from pzs-ng/pzs-ng
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME.AMD64
39 lines (27 loc) · 1.64 KB
/
README.AMD64
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
NOTE!
NOTE! This doc should now be obsolete!
NOTE! pzs-ng will compile the bins with the correct
NOTE! struct sizes necessary for 64bit processors.
NOTE!
Special notes for sitewho and ng-bw on the AMD64 platform
---------------------------------------------------------
Because glftpd is compiled as 32-bit, the variable datatypes in the shared
memory it allocates have different sizes from the corresponding 64-bit
datatypes. This means that when sitewho and ng-bw are compiled as 64-bit and
try to read the "struct ONLINE" that glftpd shares, they try to read it with
the size it would be if it was 64-bit.
To solve this, "-m32" is added to the Makefiles for sitewho and ng-bw. With
this option, the binaries are compiled 32-bit instead of 64-bit. However, to
be able to compile a 32-bit binary, you need 32-bit libraries to link against.
Some distributions only include 64-bit libraries, so you will therefore need
to install the 32-bit ones respectively.
Below is a small list of distributions, and the necessary steps needed to make
pzs-ng compile 32bit - as you can see, there's no "simple" way to find out
what is needed.
ubuntu: apt-get install make gcc ia32-libs lib32gcc1 lib32z1 lib32z1-dev libc6-dev libc6-dev-i386 libc6-i386 zlib1g-dev binutils cpp cpp-4.0 gcc-4.0 lib32stdc++6 linux-kernel-headers
gentoo : emerge emul-linux-x86-compat emul-linux-x86-baselibs
debian : apt-get install lib32gcc1 lib32stdc++6 ia32-libs lsb-release gcc-3.4 cpp-3.4 ia32-libs-dev
rm /usr/bin/gcc && ln -s gcc-3.4 /usr/bin/gcc
suse : <none>
fedora : <none>
slackware: should be fine, but may fail to compile if you recompile gcc with support for gcj (java).