Simpler Navigation for Servers and Operating Systems - Please Update Your Bookmarks
Completed: a much simpler Servers and Operating Systems section of the Community. We combined many of the older boards, so you won't have to click through so many levels to get at the information you need. Check the consolidated boards here as many sub-forums are now single boards.
If you have bookmarked forums or discussion boards in Servers and Operating Systems, we suggest you check and update them as needed.
Operating System - Tru64 Unix
cancel
Showing results for 
Search instead for 
Did you mean: 

CVS on Tru64

SOLVED
Go to solution
BrianT_1
Regular Advisor

CVS on Tru64

Is cvs supposed to be part of a standard Tru64 installation? I installed Tru64 V4.0E after a crash and I can't find cvs in any of the installation sets. I found sccs, but that doesn't seem to be the same thing. If it's not past of the standard system, where can it be found?
15 REPLIES
Steven Schweda
Honored Contributor
Solution

Re: CVS on Tru64

I know nothing, but a Google search for:
cvs source download
led to:
http://www.nongnu.org/cvs/
BrianT_1
Regular Advisor

Re: CVS on Tru64

Thanks. I'll take a look.
BrianT_1
Regular Advisor

Re: CVS on Tru64

I tried to build cvs from the web site you mentioned. The README and INSTALL files seem to indicate that I should be able to build and install it, but I get the following during the build:

source='rcs.c' object='rcs.o' libtool=no depfile='.deps/rcs.Po' tmpdepfile='.deps/rcs.TPo' depmode=tru64 /bin/sh ../depcomp cc -std1 -DHAVE_CONFIG_H -I. -I. -I.. -I../lib -I../diff -I../zlib -g -c `test -f 'rcs.c' || echo './'`rcs.c
cc: Error: rcs.c, line 1030: In this statement, "rcsbuf_buffer" and "(-1)" cannot be compared for equality or inequality. (noequality)
if ( rcsbuf_buffer == NULL || rcsbuf_buffer == MAP_FAILED )--------------------------------------^

where the carat is actially pointing at "rcsbuf_buffer", so I guess it can't compare the contents of that variable to the MAP_FAILED constant. I don't have the faintest idea how to address this because I'm not a C programmer. Any suggestions?
Dennis Handly
Acclaimed Contributor

Re: CVS on Tru64

>if (rcsbuf_buffer == NULL || rcsbuf_buffer == MAP_FAILED)
>I guess it can't compare the contents of that variable to the MAP_FAILED constant.

Yes. You can't compare an address with an arbitrary integer constant. Only 0.

>Any suggestions?

You need to use a hammer. Assuming that rcsbuf_buffer is some generic array, you should be able to use:
if (rcsbuf_buffer == NULL || rcsbuf_buffer == (void*)MAP_FAILED)
BrianT_1
Regular Advisor

Re: CVS on Tru64

I believe what you say, but why would the writers of cvs use an illegal construct and expect people not to notice? Clearly the construct must work in most cases and the information included with the package states it is supposed to work with "Digital Unix 4.0C using gcc 2.7.2.2". Does gcc allow illegal statements detected by the C compiler installed with Digital Unix?
Steven Schweda
Honored Contributor

Re: CVS on Tru64

> I tried to build cvs from the web site
> you mentioned. [...]

Too vague. Which product kit?

> cc: Error: rcs.c, line 1030: In this statement, "rcsbuf_buffer" and "(-1)" cannot be
> compared for equality or inequality. (noequality)

I don't see this statement in my "src/rcs.c".

> [...] the information included with the
> package states it is supposed to work with
> "Digital Unix 4.0C using gcc 2.7.2.2".
> [...]

And your environment was ...? You don't seem
to be using GCC.


I tried starting with "cvs-1.11.23.tar.bz2",
compiling with GCC. I got a lot of warnings,
and "make check" was not very encouraging,
but:

urtx# ./src/cvs --version

Concurrent Versions System (CVS) 1.11.23 (client/server)

Copyright (C) 2006 Free Software Foundation, Inc.

Senior active maintainers include Larry Jones, Derek R. Price,
and Mark D. Baushke. Please see the AUTHORS and README files from the CVS
distribution kit for a complete list of contributors and copyrights.

CVS may be copied only under the terms of the GNU General Public License,
a copy of which can be found with the CVS distribution kit.

Specify the --help option for further information about CVS


Using "cc" ("CC=cc ./configure"), I got fewer
compiler warnings, but the results were
otherwise similar (that is, ok, so far as I
could see).


urtx# sizer -v
HP Tru64 UNIX V5.1B (Rev. 2650); Fri Mar 20 20:19:48 CDT 2009

urtx# gcc --version
gcc (GCC) 4.3.2
[...]

urtx# cc -V
Compaq C V6.5-303 (dtk) on HP Tru64 UNIX V5.1B (Rev. 2650)
Compiler Driver V6.5-302 (dtk) cc Driver

Sorry about the newness of everything, but
V4.0x is before my time.

I also seem to have built 1.11.19 a couple of
years ago (using "gcc (GCC) 3.4.3"), but I
remember nothing (and probably never used it
for much, if anything). But I did get an
executable:

urtx# pwd
/usr/local/src/cvs/cvs-1.11.19
urtx# ./src/cvs --version

Concurrent Versions System (CVS) 1.11.19 (client/server)

Copyright (C) 2005 Free Software Foundation, Inc.

Senior active maintainers include Larry Jones, Derek R. Price,
and Mark D. Baushke. Please see the AUTHORS and README files from the CVS
distribution kit for a complete list of contributors and copyrights.

CVS may be copied only under the terms of the GNU General Public License,
a copy of which can be found with the CVS distribution kit.

Specify the --help option for further information about CVS
BrianT_1
Regular Advisor

Re: CVS on Tru64

I modified the rcs.c file to change the comparison with to use (void *) as recommended and it compiled and built cleanly. I ran a brief test to see if the commands would at least give me their command lines when "-h" was specified and they did. I'll see if they can pull files from an existing CVS directory later.
Steven Schweda
Honored Contributor

Re: CVS on Tru64

You sure are stingy with useful info.

> [...] Which product kit?

Still wondering.

> [...] it compiled and built cleanly.

_What_ did?

cvs --version
BrianT_1
Regular Advisor

Re: CVS on Tru64

CVS 1.11.23 is what I'm describing now. The original error was in an earlier verison, but it exists in 1.11.23 as well, but with a different variable (p, if I recall) in rcs.c. Same construct, though.

Anyway, in case you hadn't notices, this topic has been closed.
Steven Schweda
Honored Contributor

Re: CVS on Tru64

> [...] it exists in 1.11.23 as well, [...]

Not what I observed, but my compilers
probably differ from your (unspecified) one.

> Anyway, in case you hadn't notices, this
> topic has been closed.

I might notice it when it happens, but with
my weak psychic powers, probably not before
then.
BrianT_1
Regular Advisor

Re: CVS on Tru64

I had closed this thread once before. I have no idea how it got opened again. I don't azppreciate the sarcasm.
Steven Schweda
Honored Contributor

Re: CVS on Tru64

> CVS 1.11.23 is what I'm describing now.

Why didn't I guess that?

> I don't azppreciate the sarcasm.

And I'm not very fond of sloppy and
incomplete problem reports, but each of us
has his own cross to bear.

Glad to see that you got this thread closed,
though.
Dennis Handly
Acclaimed Contributor

Re: CVS on Tru64

>but why would the writers of cvs use an illegal construct and expect people not to notice?

You would need to check where MAP_FAILED is defined and with what value.

>Does gcc allow illegal statements detected by the C compiler installed with Digital Unix?

It may give warnings instead of errors?
Steven Schweda
Honored Contributor

Re: CVS on Tru64

> You would need to check [...]

And, unless you reveal which source kit
you're using ("now"), and what the actual
error message is ("now"), it'll be rather
difficult for anyone else to investigate.
And, of course, as previously suggested,
identifying the compiler in use might also be
nice. (I'll just hold my breath.)
Dennis Handly
Acclaimed Contributor

Re: CVS on Tru64

>Steven: unless you reveal which source kit you're using ("now")

That might not be needed if the OS header is "broken".
On HP-UX MAP_FAILED is defined in and has an explicit cast:
#define MAP_FAILED ((void*)-1L)

POSIX requires MAP_FAILED but it isn't obvious if it has to have that cast.