home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / gnu / utils / bug / 1536 < prev    next >
Encoding:
Text File  |  1992-09-10  |  3.6 KB  |  118 lines

  1. Newsgroups: gnu.utils.bug
  2. Path: sparky!uunet!cis.ohio-state.edu!cs.cornell.edu!cliff
  3. From: cliff@cs.cornell.edu (Cliff Krumvieda)
  4. Subject: tar-1.11 build problems, with patches
  5. Message-ID: <9209101617.AA03664@hermod.cs.cornell.edu>
  6. Sender: gnulists@ai.mit.edu
  7. Organization: GNUs Not Usenet
  8. Distribution: gnu
  9. Date: Thu, 10 Sep 1992 08:17:04 GMT
  10. Approved: bug-gnu-utils@prep.ai.mit.edu
  11. Lines: 105
  12.  
  13. Howdy:
  14.  
  15. I had several (easily fixable) problems while building tar-1.11 for
  16. our departmental workstations (sparcs running SunOS 4.1.1, HP's
  17. running HP-UX 7.00, and RS6000's running AIX 3.2---I had problems on
  18. the HP's and RS6000's only).  Hopefully, these can be fixed before
  19. tar-1.12 is released:
  20.  
  21. ======================================================================
  22. 1.  The HP-UX header file "/usr/include/pwd.h" references the type
  23. "FILE *" and therefore "stdio.h" must be loaded before "pwd.h".  This
  24. caused problems during compilation of "names.c":
  25.  
  26. % diff -c names.c-dist names.c
  27. *** names.c-dist        Tue Jul 16 01:45:05 1991
  28. --- names.c     Thu Sep 10 10:21:20 1992
  29. ***************
  30. *** 30,35 ****
  31. --- 30,36 ----
  32.   
  33.   #ifndef NONAMES
  34.   /* Whole module goes away if NONAMES defined.  Otherwise... */
  35. + #include <stdio.h>
  36.   #include <pwd.h>
  37.   #include <grp.h>
  38. ======================================================================
  39. 2.  Autoconf doesn't define "USG" for AIX compilations, but AIX shares
  40. the System V timezone definitions.  The compilation of getdate.c
  41. barfed on the RS6000's:
  42.  
  43. % diff -c getdate.y-dist getdate.y
  44. *** getdate.y-dist      Tue Sep  1 17:57:48 1992
  45. --- getdate.y   Thu Sep 10 11:50:44 1992
  46. ***************
  47. *** 850,856 ****
  48.   #ifdef __386BSD__
  49.             ftz.timezone = 0;
  50.   #else /* neither sgi nor 386BSD */
  51. ! #ifdef USG
  52.             extern time_t timezone;
  53.   
  54.             ftz.timezone = (int) timezone / 60;
  55. --- 850,856 ----
  56.   #ifdef __386BSD__
  57.             ftz.timezone = 0;
  58.   #else /* neither sgi nor 386BSD */
  59. ! #if defined(USG) || defined(_AIX)
  60.             extern time_t timezone;
  61.   
  62.             ftz.timezone = (int) timezone / 60;
  63. ======================================================================
  64. 3.  The AIX header file "/usr/include/stdlib.h" defines the following
  65. prototype for getopt:
  66.  
  67.    extern int getopt(int, char *[], char *);
  68.  
  69. This conflicts with the prototype in "getopt.h":
  70.  
  71.    extern int getopt (int argc, char *const *argv, const char *shortopts);
  72.  
  73. (because of the "const"'s).  Without the following fix, tar.c won't
  74. compile on the RS6000's:
  75.  
  76. % diff -c getopt.h-dist getopt.h
  77. *** getopt.h-dist       Tue Aug 18 17:33:49 1992
  78. --- getopt.h    Thu Sep 10 10:39:48 1992
  79. ***************
  80. *** 94,100 ****
  81. --- 94,102 ----
  82.   };
  83.   
  84.   #if __STDC__
  85. + #ifndef _AIX
  86.   extern int getopt (int argc, char *const *argv, const char *shortopts);
  87. + #endif
  88.   extern int getopt_long (int argc, char *const *argv, const char *shortopts,
  89.                         const struct option *longopts, int *longind);
  90.   extern int getopt_long_only (int argc, char *const *argv,
  91. ======================================================================
  92. 4.  AIX uses "_etext" instead of "etext" as the first address above
  93. program text.  Without the following fix, malloc.c won't compile on
  94. the RS6000's:
  95.  
  96. % diff -c malloc.c-dist malloc.c
  97. *** malloc.c-dist       Wed Sep  9 03:26:28 1992
  98. --- malloc.c    Thu Sep 10 11:56:34 1992
  99. ***************
  100. *** 189,194 ****
  101. --- 189,198 ----
  102.   
  103.   extern char *start_of_data ();
  104.   
  105. + #ifdef _AIX
  106. + #define etext _etext
  107. + #endif
  108.   #ifdef BSD
  109.   #ifndef DATA_SEG_BITS
  110.   #define start_of_data() &etext
  111. ======================================================================
  112.  
  113. Thanks for updating GNU tar.  I hope these fixes help.
  114.  
  115.                             --Cliff
  116.  
  117.