Re: RCS 5.9.0 does not compile on Solaris

Thien-Thi Nguyen <[email protected]> Fri, 31 May 2013 22:55:20 +0200
Newsgroups gmane.comp.version-control.rcs.bugs
Message-ID <[email protected]>
() Jörn Clausen <[email protected]>
() Wed, 29 May 2013 13:12:48 +0200

   Compiling RCS 5.9.0 on Solaris with GCC 4.7.3 fails with

   gcc [...] -c -o super.o super.c
   super.c:68:25: error: unknown type name 'submain_t'
   [and so on]

Thanks for reporting this.

   Where is submain_t supposed to be defined? I can compile the software
   on NetBSD, but can't find the definition their either.

In src/, the typedef ‘submain_t’ is defined in b-yacmd.h, and is
supposed to be #include:d in certain .help files.  Unfortunately, the
script that determines whether or not to (arrange to) #include it uses
"grep -q" which is frustratingly unportable.  Please try this patch on a
freshly unpacked 5.9.0 tarball:


If all goes well, after all the .help files are generated (as part of
"make"), you should see something like:

$ cd src/
$ grep -n -F -e   '#include "b-yacmd.h"'   *.help
ci.help:47:#include "b-yacmd.h"
co.help:40:#include "b-yacmd.h"
rcs.help:44:#include "b-yacmd.h"
rcsclean.help:21:#include "b-yacmd.h"
rcsdiff.help:28:#include "b-yacmd.h"
rcsmerge.help:24:#include "b-yacmd.h"
rlog.help:35:#include "b-yacmd.h"
super.help:13:#include "b-yacmd.h"

-- 
Thien-Thi Nguyen
GPG key: 4C807502
a.diff (text/x-diff, 485 B)
 build-aux/extract-help |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build-aux/extract-help b/build-aux/extract-help
index b266a4c..8fa6eb6 100755
--- a/build-aux/extract-help
+++ b/build-aux/extract-help
@@ -84,7 +84,7 @@ echo 'static char const' $vprefix'help[] = ""'
 echo ';'

 # Pull in command support only if needed.
-if ! grep -q 'CHECK_HV (".*")' "$in" ; then
+if [ 0 = `grep -c 'CHECK_HV (".*")' "$in"` ] ; then
     echo '#include "b-yacmd.h"'
 fi
signature.asc (application/pgp-signature, 197 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iEYEARECAAYFAlGpDjwACgkQZwMiJEyAdQLPaACg5G0HSddBe1/Bo4FeoxPxuopY
YzsAnRDdyHfA6piW5MJ+7DpD0ckfGPd6
=4Fvu
-----END PGP SIGNATURE-----