1
by Jason Gunthorpe
* M68k config.guess patch. Closes: #88913 |
1 |
General Information |
2 |
~~~~~~~~~~~~~~~~~~~
|
|
3 |
To compile this you need a couple things |
|
4 |
- A working POSIX system with working POSIX gcc, g++, make (GNU), |
|
5 |
ar, sh, awk and sed in the path |
|
6 |
- GNU Make 3.74 or so, -- normal UNIX make will NOT work |
|
7 |
* Note 3.77 is broken. |
|
8 |
- A working ANSI C++ compiler, this is not g++ 2.7.* |
|
9 |
g++ 2.8 works OK and newer egcs work well also. Nobody has tried it |
|
10 |
on other compilers :< You will need a properly working STL as well. |
|
11 |
- A C library with the usual POSIX functions and a BSD socket layer. |
|
1.1.3
by Michael Vogt, Luca Bruno, Michael Vogt
[ Luca Bruno ] |
12 |
If your OS conforms to the Single Unix Spec then you are fine: |
1
by Jason Gunthorpe
* M68k config.guess patch. Closes: #88913 |
13 |
http://www.opengroup.org/onlinepubs/7908799/index.html |
2
by Matt Zimmerman
* Merge apt--mvo--0 (incorporates 0.6.34ubuntu1): |
14 |
- Refer to the Build-Depends information in debian/control for |
15 |
additional requirements (some of which are Debian-specific) |
|
1
by Jason Gunthorpe
* M68k config.guess patch. Closes: #88913 |
16 |
|
17 |
** NOTICE ** |
|
18 |
The C++ global constructors do not link correctly when using non-shared |
|
1.1.3
by Michael Vogt, Luca Bruno, Michael Vogt
[ Luca Bruno ] |
19 |
libraries. This is probably the correct behavior of the linker, but I have |
1
by Jason Gunthorpe
* M68k config.guess patch. Closes: #88913 |
20 |
not yet had time to devise a work around for it. The correct thing to |
21 |
do is add a reference to debSystem in apt-pkg/init.cc, |
|
22 |
assert(&debSystem == 0) would be fine for instance. |
|
23 |
||
24 |
Guidelines
|
|
25 |
~~~~~~~~~~
|
|
26 |
I am not interested in making 'ultra portable code'. I will accept patches |
|
27 |
to make the code that already exists conform more to SUS or POSIX, but |
|
28 |
I don't really care if your not-SUS OS doesn't work. It is simply too |
|
29 |
much work to maintain patches for dysfunctional OSs. I highly suggest you |
|
30 |
contact your vendor and express intrest in a conforming C library. |
|
31 |
||
1.1.3
by Michael Vogt, Luca Bruno, Michael Vogt
[ Luca Bruno ] |
32 |
That said, there are lots of finicky problems that must be dealt with even |
1
by Jason Gunthorpe
* M68k config.guess patch. Closes: #88913 |
33 |
between the supported OS's. Primarily the path I choose to take is to put |
34 |
a shim header file in build/include that transparently adds the required |
|
35 |
functionality. Patches to make autoconf detect these cases and generate the |
|
36 |
required shims are OK. |
|
37 |
||
38 |
Current shims: |
|
39 |
* C99 integer types 'inttypes.h' |
|
40 |
* sys/statvfs.h to convert from BSD/old-glibc statfs to SUS statvfs |
|
41 |
* rfc2553 hostname resolution (methods/rfc*), shims to normal gethostbyname. |
|
1.1.3
by Michael Vogt, Luca Bruno, Michael Vogt
[ Luca Bruno ] |
42 |
The more adventurous could steal the KAME IPv6 enabled resolvers for those |
1
by Jason Gunthorpe
* M68k config.guess patch. Closes: #88913 |
43 |
OS's with IPv6 support but no rfc2553 (why?) |
44 |
* define _XOPEN_EXTENDED_SOURCE to bring in h_errno on HP-UX |
|
45 |
* socklen_t shim in netdb.h if the OS does not have socklen_t |
|
46 |
||
1.1.3
by Michael Vogt, Luca Bruno, Michael Vogt
[ Luca Bruno ] |
47 |
The only completely non-shimmed OS is Linux with glibc2.1, glibc2.0 requires |
1
by Jason Gunthorpe
* M68k config.guess patch. Closes: #88913 |
48 |
the first three shims. |
49 |
||
50 |
Platform Notes |
|
51 |
~~~~~~~~~~~~~~
|
|
52 |
Debian GNU Linux 2.1 'slink' |
|
53 |
Debian GNU Linux 'potato' |
|
54 |
Debian GNU Linux 'woody' |
|
55 |
* All Archs |
|
56 |
- Works flawlessly |
|
57 |
- You will want to have debiandoc-sgml and docbook2man installed to get |
|
58 |
best results. |
|
59 |
- No IPv6 Support in glibc's < 2.1. |
|
60 |
||
61 |
Sun Solaris |
|
62 |
SunOS cab101 5.7 Generic_106541-04 sun4u sparc |
|
63 |
SunOS csu201 5.8 Generic_108528-04 sun4u sparc |
|
64 |
- Works fine |
|
65 |
- Note, no IPv6 Support, OS lacks RFC 2553 hostname resolution |
|
66 |
||
67 |
OpenBSD
|
|
68 |
OpenBSD gsb086 2.5 CMPUT#0 i386 unknown |
|
69 |
OpenBSD csu101 2.7 CMPUT#1 i386 unknown |
|
70 |
- OS needs 'ranlib' to generate the symbol table after 'ar'.. (not using |
|
71 |
GNU ar with the gnu tool chain :<) |
|
72 |
- '2.5' does not have RFC 2553 hostname resolution, but '2.7' does |
|
73 |
- Testing on '2.7' suggests the OS has a bug in its handling of |
|
74 |
ftruncate on files that have been written via mmap. It fills the page |
|
75 |
that crosses the truncation boundary with 0's. |
|
76 |
||
77 |
HP-UX |
|
78 |
HP-UX nyquist B.10.20 C 9000/780 2016574337 32-user license |
|
79 |
- Evil OS, does not conform very well to SUS |
|
1.1.3
by Michael Vogt, Luca Bruno, Michael Vogt
[ Luca Bruno ] |
80 |
1) snprintf exists but is not prototyped, ignore spurious warnings |
1
by Jason Gunthorpe
* M68k config.guess patch. Closes: #88913 |
81 |
2) No socklen_t |
82 |
3) Requires -D_XOPEN_SOURCE_EXTENDED for h_errno |
|
83 |
configure should fix the last two (see above) |
|
84 |
- Note, no IPv6 Support, OS lacks RFC 2553 hostname resolution |
|
85 |