From: pinard@icule.UUCP (Francois Pinard)
Newsgroups: gnu.g++.lib.bug
Subject: Notes on installing libg++ 1.39.0
Date: 11 Sep 92 20:22:50 GMT
Reply-To: pinard@iro.umontreal.ca
Distribution: gnu
Organization: Gnus Not Usenet

Let me comment on libg++ 1.39.0 installation, using GNU C 1.41 and GNU
C++ 1.41.0 under COFF encapsulation, on this 386/ix 2.0.2 system
(waiting for Hurd to be ready :-).  Thanks for these wonderful tools.

* Unpacking the archive induces a file name truncation to 14
characters for 31 files.  In 5 cases (indicated by `--> CONFLICT' in
the following list), files obliterates previously unpacked files.

  1. libg++-1.39.0/gperf/src/options.cc.orig
  2. libg++-1.39.0/gperf/tests/expected.ada-pred
  3. libg++-1.39.0/gperf/tests/expected.ada-res
  4. libg++-1.39.0/gperf/tests/expected.modula
  5. libg++-1.39.0/gperf/tests/output.ada-pred
  6. libg++-1.39.0/gperf/tests/expected.pascal
  7. libg++-1.39.0/vms/GXX-STARTUP-1.MAR
  8. libg++-1.39.0/vms/GXX_MAIN_SHR.MAR
  9. libg++-1.39.0/vms/LIBGXX_INSTALL.COM
 10. libg++-1.39.0/vms/LIBGXX_SHR_BLD.OPT
 11. libg++-1.39.0/vms/LIBGXX_VECTOR.MAR
 12. libg++-1.39.0/vms/MAKE_LIBGXX.COM
 13. libg++-1.39.0/vms/OPTIONS_SHR.OPT
 14. libg++-1.39.0/etc/lf/directory-handler.cc
 15. libg++-1.39.0/etc/lf/directory-handler.h --> CONFLICT
 16. libg++-1.39.0/etc/lf/entry-handler.cc
 17. libg++-1.39.0/etc/lf/entry-handler.h --> CONFLICT
 18. libg++-1.39.0/etc/lf/option-handler.cc
 19. libg++-1.39.0/etc/lf/option-handler.h --> CONFLICT
 20. libg++-1.39.0/etc/lf/screen-handler.cc
 21. libg++-1.39.0/etc/lf/screen-handler.h --> CONFLICT
 22. libg++-1.39.0/etc/graph/tick_interval.cc
 23. libg++-1.39.0/etc/graph/tick_interval.h --> CONFLICT
 24. libg++-1.39.0/etc/PlotFile3D/PlotFile3D.info
 25. libg++-1.39.0/proto-kit/genclass.extnsn
 26. libg++-1.39.0/proto-kit/file_types.hierarchy
 27. libg++-1.39.0/proto-kit/file_types.includes.h
 28. libg++-1.39.0/proto-kit/file_types.operation.h
 29. libg++-1.39.0/proto-kit/file_types.type.h
 30. libg++-1.39.0/proto-kit/make-source-dependencies
 31. libg++-1.39.0/proto-kit/prototype.dependencies

* The command `makeinfo libg++.texinfo' yields:

libg++.texinfo:723: Misplaced `{'.
libg++.texinfo:723: Misplaced `}'.
./libg++.texinfo:945: Node `Expressions''s Next field not pointed back to.
./libg++.texinfo:1032: This node (`Pix') is the one with the bad `Prev'.
./libg++.texinfo:5047: Node `Projects''s Next field not pointed back to.
./libg++.texinfo:83: This node (`Top') is the one with the bad `Prev'.
Making info file `libg++' from `libg++.texinfo'.

Further, maybe the generated Info files should have the `.info'
extension.  Let me suggest these diffs:

---------------------------------------------------------------------->
--- 1.1	1992/09/11 16:29:44
+++ libg++.texinfo	1992/09/11 16:32:34
@@ -1,7 +1,7 @@
 \input texinfo  @c -*-texinfo-*-
 
 @settitle User's Guide to the GNU C++ Class Library
-@setfilename libg++
+@setfilename libg++.info
 
 @ifinfo
 This file documents the features and implementation of The GNU C++ library
@@ -719,7 +719,7 @@
 
 @end example
 
-@section{Example}
+@section Example
 
 The prototypes can be difficult to use on first attempt. Here is an
 example that may be helpful. The utilities in the @file{proto-kit}
@@ -1029,7 +1029,7 @@
 
 
 
-@node Pix, Headers, Proto, Top
+@node Pix, Headers, Expressions, Top
 @chapter Pseudo-indexes
 
 Many useful classes operate as containers of elements. Techniques for
@@ -5044,7 +5044,7 @@
 in the libg++ distribution.  A paper describing GPERF in detail is
 available in the proceedings of the USENIX Second C++ Conference.
 
-@node Projects, Top, Gperf, Top
+@node Projects, , Gperf, Top
 @chapter Projects and other things left to do
 
 @section Coming Attractions
----------------------------------------------------------------------<

* `make src' complains about an empty #if in stdio.h.  This diff
corrects it:

---------------------------------------------------------------------->
--- 1.1	1992/09/11 16:53:31
+++ libg++-1.39.0/g++-include/stdio.h	1992/09/11 16:53:58
@@ -175,7 +175,7 @@
 #if defined(USG) && !defined(_NFILE)
 #ifdef hpux
 #define _NFILE 60
-#elif
+#else
 #define _NFILE 20
 #endif
 #endif
----------------------------------------------------------------------<

* `make src' also has these complaints:

src/bcopy.c:34: dereferencing pointer to incomplete type
src/bcopy.c:35: dereferencing pointer to incomplete type

which dispappear with:

---------------------------------------------------------------------->
--- 1.1	1992/09/11 18:16:19
+++ libg++-1.39.0/src/bcopy.c	1992/09/11 18:17:43
@@ -31,8 +31,8 @@
   if (source < dest)
   {
     count--;
-    dest = &dest[count];
-    source = &source[count];
+    dest += count;
+    source += count;
     while (count-- >= 0) *((char *)dest)-- = *((char*)source)--;
     return;
   }
----------------------------------------------------------------------<

* In src/Makefile, maybe the install goal should have `all' or
`libg++.a' in its dependencies.

* `make install-include-files' also installs or tries installing
backup files and RCS files, I'll rather see them omitted.  Maybe the

	FILES=`find . ! -type d  -print`; \

Makefile line could be replaced by something like:

	FILES=`find . ! -type d  -print | grep -v RCS | grep -v \\~`; \

-- 
Franc,ois Pinard        ``Vivement GNU!''        pinard@iro.umontreal.ca
(514) 588-4656                                    ...!uunet!iros1!pinard
Consider joining the League for Programming Freedom.  Email for details!
Newsgroups: gnu.g++.lib.bug