~ubuntu-core-dev/apt/ubuntu

« back to all changes in this revision

Viewing changes to COMPILING

  • Committer: Luca Bruno
  • Date: 2008-10-03 18:15:06 UTC
  • mto: (1327.31.2 debian-experimental)
  • mto: This revision was merged to the branch mainline in revision 1673.
  • Revision ID: lethalman88@gmail.com-20081003181506-cdz13lbslvam2u8l
Fix some typos in docs and translations (thanks to timeless, closes: 368665)

Show diffs side-by-side

added added

removed removed

Lines of Context:
9
9
    g++ 2.8 works OK and newer egcs work well also. Nobody has tried it
10
10
    on other compilers :< You will need a properly working STL as well.
11
11
  - A C library with the usual POSIX functions and a BSD socket layer. 
12
 
    If you OS conforms to the Single Unix Spec then you are fine:
 
12
    If your OS conforms to the Single Unix Spec then you are fine:
13
13
      http://www.opengroup.org/onlinepubs/7908799/index.html      
14
14
  - Refer to the Build-Depends information in debian/control for
15
15
    additional requirements (some of which are Debian-specific)
16
16
 
17
17
** NOTICE **
18
18
The C++ global constructors do not link correctly when using non-shared
19
 
libaries. This is probably the correct behavior of the linker, but I have
 
19
libraries. This is probably the correct behavior of the linker, but I have
20
20
not yet had time to devise a work around for it. The correct thing to 
21
21
do is add a reference to debSystem in apt-pkg/init.cc, 
22
22
assert(&debSystem == 0) would be fine for instance.
29
29
much work to maintain patches for dysfunctional OSs. I highly suggest you
30
30
contact your vendor and express intrest in a conforming C library.
31
31
 
32
 
That said, there are lots of finniky problems that must be delt with even
 
32
That said, there are lots of finicky problems that must be dealt with even
33
33
between the supported OS's. Primarily the path I choose to take is to put
34
34
a shim header file in build/include that transparently adds the required 
35
35
functionality. Patches to make autoconf detect these cases and generate the 
39
39
  * C99 integer types 'inttypes.h' 
40
40
  * sys/statvfs.h to convert from BSD/old-glibc statfs to SUS statvfs
41
41
  * rfc2553 hostname resolution (methods/rfc*), shims to normal gethostbyname.
42
 
    The more adventerous could steal the KAME IPv6 enabled resolvers for those
 
42
    The more adventurous could steal the KAME IPv6 enabled resolvers for those
43
43
    OS's with IPv6 support but no rfc2553 (why?)
44
44
  * define _XOPEN_EXTENDED_SOURCE to bring in h_errno on HP-UX
45
45
  * socklen_t shim in netdb.h if the OS does not have socklen_t
46
46
  
47
 
The only completely non-shimed OS is Linux with glibc2.1, glibc2.0 requires
 
47
The only completely non-shimmed OS is Linux with glibc2.1, glibc2.0 requires
48
48
the first three shims.
49
49
 
50
50
Platform Notes
77
77
HP-UX
78
78
  HP-UX nyquist B.10.20 C 9000/780 2016574337 32-user license
79
79
  - Evil OS, does not conform very well to SUS
80
 
     1) snprintf exists but is not prototyped, ignore spurios warnings
 
80
     1) snprintf exists but is not prototyped, ignore spurious warnings
81
81
     2) No socklen_t
82
82
     3) Requires -D_XOPEN_SOURCE_EXTENDED for h_errno
83
83
    configure should fix the last two (see above)