[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Complete build session of CVS-1_11_18 VMS client
From: |
Piet Schuermans |
Subject: |
Complete build session of CVS-1_11_18 VMS client |
Date: |
Sun, 30 Jan 2005 09:05:42 +0100 |
On request of several people I provide the complete CVS-1_11_18 VMS
client build session on our Alpha platform OpenVms 7.3-2 using Compaq
C version 6.5 – 001.
Step-by-step session with the encountered problems and chosen
workarounds.
The change I made in the cvs files package to get the cvs client
workable differ from my previous submitted e-mail. I took more time to
address the problems and discussed possible workarounds options with
other people.
There are 11 problems encountered and one issue to solve to get a
workable cvs-1_11_18 client for VMS ( 7.3-2 with using Compaq C
compiler version 6.5 - 001)
Start the build process from the CVS root. (Execute script file
build.com)
USERS.PS.TOOLS.CVS.CVS-1_11_18>@build.com
Compiling Zlib sources...
CC /prefix=all EXAMPLE.C
CC /prefix=all ADLER32.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB ADLER32.OBJ
CC /prefix=all COMPRESS.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB COMPRESS.OBJ
CC /prefix=all CRC32.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB CRC32.OBJ
CC /prefix=all GZIO.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB GZIO.OBJ
CC /prefix=all UNCOMPR.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB UNCOMPR.OBJ
CC /prefix=all DEFLATE.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB DEFLATE.OBJ
CC /prefix=all TREES.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB TREES.OBJ
CC /prefix=all ZUTIL.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB ZUTIL.OBJ
CC /prefix=all INFLATE.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB INFLATE.OBJ
CC /prefix=all INFBLOCK.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB INFBLOCK.OBJ
CC /prefix=all INFTREES.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB INFTREES.OBJ
CC /prefix=all INFCODES.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB INFCODES.OBJ
CC /prefix=all INFUTIL.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB INFUTIL.OBJ
CC /prefix=all INFFAST.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB INFFAST.OBJ
libz available
link example,libz.olb/lib
CC /prefix=all MINIGZIP.C
link minigzip,libz.olb/lib,x11vms:xvmsutils.olb/lib
%LINK-F-OPENIN, error opening
X11VMS:[USERS.PS.TOOLS.CVS.CVS-1_11_18.ZLIB]XVMSUt
-RMS-F-DEV, error in device name or inappropriate device type for
operation
%MMS-F-ABORT, For target MINIGZIP.EXE, CLI returned abort status:
%X1064109C.
Problem -1-
- Our system is missing the X11vms:xvmsutils.olb
Workarounds
Either compiling the ZLIB sources without the MMS (VMS make utility) by
Modify the build scrip [zlib]make_vms.com Or change the dependency
file descrip.mms and remove building the example.exe.
I modified the file descrip.mms
[...S-1_11_18.ZLIB]>diff descrip.mms
************
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.ZLIB]DESCRIP.MMS;2
17 all : example.exe
18 @ write sys$output " Example applications available"
******
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.ZLIB]DESCRIP.MMS;1
17 all : example.exe minigzip.exe
18 @ write sys$output " Example applications available"
************
************
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.ZLIB]DESCRIP.MMS;2
25 # minigzip.exe : minigzip.obj libz.olb
26 # link
minigzip,libz.olb/lib,x11vms:xvmsutils.olb/lib
27
******
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.ZLIB]DESCRIP.MMS;1
25 minigzip.exe : minigzip.obj libz.olb
26 link
minigzip,libz.olb/lib,x11vms:xvmsutils.olb/lib
27
************
Restart the build script in the root directory.
USERS.PS.TOOLS.CVS.CVS-1_11_18>@build
Compiling Zlib sources ...
CC /prefix=all EXAMPLE.C
CC /prefix=all ADLER32.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB ADLER32.OBJ
CC /prefix=all COMPRESS.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB COMPRESS.OBJ
CC /prefix=all CRC32.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB CRC32.OBJ
CC /prefix=all GZIO.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB GZIO.OBJ
CC /prefix=all UNCOMPR.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB UNCOMPR.OBJ
CC /prefix=all DEFLATE.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB DEFLATE.OBJ
CC /prefix=all TREES.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB TREES.OBJ
CC /prefix=all ZUTIL.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB ZUTIL.OBJ
CC /prefix=all INFLATE.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB INFLATE.OBJ
CC /prefix=all INFBLOCK.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB INFBLOCK.OBJ
CC /prefix=all INFTREES.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB INFTREES.OBJ
CC /prefix=all INFCODES.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB INFCODES.OBJ
CC /prefix=all INFUTIL.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB INFUTIL.OBJ
CC /prefix=all INFFAST.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB INFFAST.OBJ
libz available
link example,libz.olb/lib
Example applications available
Zlib build completed
$ CC :== CC/DEBUG/NOOPTIMIZE/STANDARD=VAXC/DEFINE=HAVE_CONFIG_H-
/INCLUDE_DIRECTORY=([-],[-.LIB],[-.SRC],[-.VMS])/
PREFIX_LIBRARY_ENTRIES=ALL_ENTS
$ CC diff.c
# include "fnmatch.h" /* Our substitute */
..^
%CC-F-NOINCLFILEF, Cannot find file "fnmatch.h" specified in #include
directive.
at line number 29 in file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.DIFF]DIFF.1
USERS.PS.TOOLS.CVS.CVS-1_11_18>
Problem 2 can not find the “fnmatch.h” in the local directory or in the
include directory path.
Workaround:
I renamed the [.lib]FNMATCH.H_IN file to [.lib]fnmatch.h
Rebuild from root directory and we get a large amount of errors and
warning messages
USERS.PS.TOOLS.CVS.CVS-1_11_18>@build
Compiling Zlib sources ...
Example applications available
Zlib build completed
$ CC :== CC/DEBUG/NOOPTIMIZE/STANDARD=VAXC/DEFINE=HAVE_CONFIG_H-
/INCLUDE_DIRECTORY=([-],[-.LIB],[-.SRC],[-.VMS])/
PREFIX_LIBRARY_ENTRIES=ALL_ENTS
$ CC diff.c
int link (const char *__existing, const char *__new);
...........^
%CC-W-MISMATPARAM, In this declaration, parameter 1 has a different
type than s.
at line number 663 in module UNISTD of text library
SYS$COMMON:[SYSLIB]DECC$RTL1
int link (const char *__existing, const char *__new);
...........^
%CC-W-NOTCOMPAT, In this declaration, the type of "link" is not
compatible with.
at line number 663 in module UNISTD of text library
SYS$COMMON:[SYSLIB]DECC$RTL1
$ CC analyze.c
int link (const char *__existing, const char *__new);
...........^
%CC-W-MISMATPARAM, In this declaration, parameter 1 has a different
type than s.
at line number 663 in module UNISTD of text library
SYS$COMMON:[SYSLIB]DECC$RTL1
int link (const char *__existing, const char *__new);
...........^
%CC-W-NOTCOMPAT, In this declaration, the type of "link" is not
compatible with.
at line number 663 in module UNISTD of text library
SYS$COMMON:[SYSLIB]DECC$RTL1
$ CC cmpbuf.c
int link (const char *__existing, const char *__new);
...........^
%CC-W-MISMATPARAM, In this declaration, parameter 1 has a different
type than s.
at line number 663 in module UNISTD of text library
SYS$COMMON:[SYSLIB]DECC$RTL1
int link (const char *__existing, const char *__new);
...........^
%CC-W-NOTCOMPAT, In this declaration, the type of "link" is not
compatible with.
at line number 663 in module UNISTD of text library
SYS$COMMON:[SYSLIB]DECC$RTL1
$ CC dir.c
int link (const char *__existing, const char *__new);
...........^
%CC-W-MISMATPARAM, In this declaration, parameter 1 has a different
type than s.
at line number 663 in module UNISTD of text library
SYS$COMMON:[SYSLIB]DECC$RTL1
int link (const char *__existing, const char *__new);
...........^
%CC-W-NOTCOMPAT, In this declaration, the type of "link" is not
compatible with.
at line number 663 in module UNISTD of text library
SYS$COMMON:[SYSLIB]DECC$RTL1
$ CC io.c
int link (const char *__existing, const char *__new);
...........^
%CC-W-MISMATPARAM, In this declaration, parameter 1 has a different
type than s.
at line number 663 in module UNISTD of text library
SYS$COMMON:[SYSLIB]DECC$RTL1
int link (const char *__existing, const char *__new);
...........^
%CC-W-NOTCOMPAT, In this declaration, the type of "link" is not
compatible with.
at line number 663 in module UNISTD of text library
SYS$COMMON:[SYSLIB]DECC$RTL1
$ CC util.c
int link (const char *__existing, const char *__new);
...........^
%CC-W-MISMATPARAM, In this declaration, parameter 1 has a different
type than s.
at line number 663 in module UNISTD of text library
SYS$COMMON:[SYSLIB]DECC$RTL1
int link (const char *__existing, const char *__new);
...........^
%CC-W-NOTCOMPAT, In this declaration, the type of "link" is not
compatible with.
at line number 663 in module UNISTD of text library
SYS$COMMON:[SYSLIB]DECC$RTL1
$ CC context.c
int link (const char *__existing, const char *__new);
...........^
%CC-W-MISMATPARAM, In this declaration, parameter 1 has a different
type than s.
at line number 663 in module UNISTD of text library
SYS$COMMON:[SYSLIB]DECC$RTL1
int link (const char *__existing, const char *__new);
...........^
%CC-W-NOTCOMPAT, In this declaration, the type of "link" is not
compatible with.
at line number 663 in module UNISTD of text library
SYS$COMMON:[SYSLIB]DECC$RTL1
$ CC ed.c
int link (const char *__existing, const char *__new);
...........^
%CC-W-MISMATPARAM, In this declaration, parameter 1 has a different
type than s.
at line number 663 in module UNISTD of text library
SYS$COMMON:[SYSLIB]DECC$RTL1
int link (const char *__existing, const char *__new);
...........^
%CC-W-NOTCOMPAT, In this declaration, the type of "link" is not
compatible with.
at line number 663 in module UNISTD of text library
SYS$COMMON:[SYSLIB]DECC$RTL1
$ CC ifdef.c
int link (const char *__existing, const char *__new);
...........^
%CC-W-MISMATPARAM, In this declaration, parameter 1 has a different
type than s.
at line number 663 in module UNISTD of text library
SYS$COMMON:[SYSLIB]DECC$RTL1
int link (const char *__existing, const char *__new);
...........^
%CC-W-NOTCOMPAT, In this declaration, the type of "link" is not
compatible with.
at line number 663 in module UNISTD of text library
SYS$COMMON:[SYSLIB]DECC$RTL1
$ CC normal.c
int link (const char *__existing, const char *__new);
...........^
%CC-W-MISMATPARAM, In this declaration, parameter 1 has a different
type than s.
at line number 663 in module UNISTD of text library
SYS$COMMON:[SYSLIB]DECC$RTL1
int link (const char *__existing, const char *__new);
...........^
%CC-W-NOTCOMPAT, In this declaration, the type of "link" is not
compatible with.
at line number 663 in module UNISTD of text library
SYS$COMMON:[SYSLIB]DECC$RTL1
$ CC side.c
int link (const char *__existing, const char *__new);
...........^
%CC-W-MISMATPARAM, In this declaration, parameter 1 has a different
type than s.
at line number 663 in module UNISTD of text library
SYS$COMMON:[SYSLIB]DECC$RTL1
int link (const char *__existing, const char *__new);
...........^
%CC-W-NOTCOMPAT, In this declaration, the type of "link" is not
compatible with.
at line number 663 in module UNISTD of text library
SYS$COMMON:[SYSLIB]DECC$RTL1
$ CC version.c
$ CC diff3.c
int link (const char *__existing, const char *__new);
...........^
%CC-W-MISMATPARAM, In this declaration, parameter 1 has a different
type than s.
at line number 663 in module UNISTD of text library
SYS$COMMON:[SYSLIB]DECC$RTL1
int link (const char *__existing, const char *__new);
...........^
%CC-W-NOTCOMPAT, In this declaration, the type of "link" is not
compatible with.
at line number 663 in module UNISTD of text library
SYS$COMMON:[SYSLIB]DECC$RTL1
$ library/create diff.olb diff.obj,analyze.obj,cmpbuf.obj,-
dir.obj,io.obj,util.obj,context.obj,ed.obj,ifdef.obj,normal.obj,-
side.obj,version.obj,diff3.obj
%LIBRAR-W-COMCOD, compilation warnings in module DIFF file
TOOLS$DISK:[USERS.PS1
%LIBRAR-W-COMCOD, compilation warnings in module ANALYZE file
TOOLS$DISK:[USERS1
%LIBRAR-W-COMCOD, compilation warnings in module CMPBUF file
TOOLS$DISK:[USERS.1
%LIBRAR-W-COMCOD, compilation warnings in module DIR file
TOOLS$DISK:[USERS.PS.1
%LIBRAR-W-COMCOD, compilation warnings in module IO file
TOOLS$DISK:[USERS.PS.T1
%LIBRAR-W-COMCOD, compilation warnings in module UTIL file
TOOLS$DISK:[USERS.PS1
%LIBRAR-W-COMCOD, compilation warnings in module CONTEXT file
TOOLS$DISK:[USERS1
%LIBRAR-W-COMCOD, compilation warnings in module ED file
TOOLS$DISK:[USERS.PS.T1
%LIBRAR-W-COMCOD, compilation warnings in module IFDEF file
TOOLS$DISK:[USERS.P1
%LIBRAR-W-COMCOD, compilation warnings in module NORMAL file
TOOLS$DISK:[USERS.1
%LIBRAR-W-COMCOD, compilation warnings in module SIDE file
TOOLS$DISK:[USERS.PS1
%LIBRAR-W-COMCOD, compilation warnings in module DIFF3 file
TOOLS$DISK:[USERS.P1
$ set noverify
$ CC :== CC/DEBUG/NOOPTIMIZE/STANDARD=VAXC/DEFINE=HAVE_CONFIG_H-
/INCLUDE_DIRECTORY=([-],[-.LIB],[-.SRC],[-.VMS])/
PREFIX_LIBRARY_ENTRIES=ALL_ENTS
$ CC filesubr.c
static inline size_t
..............^
%CC-E-NOSEMI, Missing ";".
at line number 52 in file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]XSIZE.1
static inline size_t
..............^
%CC-E-NOSEMI, Missing ";".
at line number 63 in file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]XSIZE.1
static inline size_t
..............^
%CC-E-NOSEMI, Missing ";".
at line number 73 in file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]XSIZE.1
static inline size_t
..............^
%CC-E-NOSEMI, Missing ";".
at line number 83 in file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]XSIZE.1
int link (const char *__existing, const char *__new);
...........^
%CC-W-MISMATPARAM, In this declaration, parameter 1 has a different
type than s.
at line number 663 in module UNISTD of text library
SYS$COMMON:[SYSLIB]DECC$RTL1
int link (const char *__existing, const char *__new);
...........^
%CC-W-NOTCOMPAT, In this declaration, the type of "link" is not
compatible with.
at line number 663 in module UNISTD of text library
SYS$COMMON:[SYSLIB]DECC$RTL1
last_component (path)
^
%CC-W-NOTCOMPAT, In this declaration, the type of "last_component" is
not compa.
at line number 941 in file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.VMS]FILES1
USERS.PS.TOOLS.CVS.CVS-1_11_18>
Problem 3 the keyword “inline” in the file [.lib]xsize.h result in an
compiler error E all the other message and reports are mostly
warnings.
Workaround
Add compile preprocessing lines for VMS in the config.h file on [.vms]
to define “inline”
[...VS-1_11_18.VMS]>diff config.h
************
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.VMS]CONFIG.H;2
16 #define inline
17
18 /* VMS is case insensitive */
******
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.VMS]CONFIG.H;1
16 /* VMS is case insensitive */
************
Problem 4 (not a real problem but annoying message) the link type
incompatibility.
Workaround modify vms.h and
[...VS-1_11_18.VMS]>diff vms.h
************
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.VMS]VMS.H;2
40
41 /* int link(char *from, char *to); */
42
******
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.VMS]VMS.H;1
40 int link(char *from, char *to);
41
************
Rebuild from root directory
USERS.PS.TOOLS.CVS.CVS-1_11_18>@build
Compiling Zlib sources ...
Example applications available
Zlib build completed
$ CC :== CC/DEBUG/NOOPTIMIZE/STANDARD=VAXC/DEFINE=HAVE_CONFIG_H-
/INCLUDE_DIRECTORY=([-],[-.LIB],[-.SRC],[-.VMS])/
PREFIX_LIBRARY_ENTRIES=ALL_ENTS
$ CC diff.c
$ CC analyze.c
$ CC cmpbuf.c
$ CC dir.c
$ CC io.c
$ CC util.c
$ CC context.c
$ CC ed.c
$ CC ifdef.c
$ CC normal.c
$ CC side.c
$ CC version.c
$ CC diff3.c
$ library/create diff.olb diff.obj,analyze.obj,cmpbuf.obj,-
dir.obj,io.obj,util.obj,context.obj,ed.obj,ifdef.obj,normal.obj,-
side.obj,version.obj,diff3.obj
$ set noverify
$ CC :== CC/DEBUG/NOOPTIMIZE/STANDARD=VAXC/DEFINE=HAVE_CONFIG_H-
/INCLUDE_DIRECTORY=([-],[-.LIB],[-.SRC],[-.VMS])/
PREFIX_LIBRARY_ENTRIES=ALL_ENTS
$ CC filesubr.c
return (sum >= size1 ? sum : SIZE_MAX);
...............................^
%CC-E-UNDECLARED, In this statement, "SIZE_MAX" is not declared.
at line number 59 in file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]XSIZE.1
last_component (path)
^
%CC-W-NOTCOMPAT, In this declaration, the type of "last_component" is
not compa.
at line number 941 in file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.VMS]FILES1
USERS.PS.TOOLS.CVS.CVS-1_11_18>
Problem 5: SIZE_MAX is not defined
Workaround define SIZE_MAX in the [.lib]XSIZE.H file or define SIZE_MAX
in [.vms]config.h
In my humble opinion I would have place the definition #define SIZE_MAX
((size_t) –1) in XSIZE.H
But after some discussion to leave the generic source files untouched
the definition was added to the config.h file.
[...VS-1_11_18.VMS]>diff config.h
************
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.VMS]CONFIG.H;3
17 #define SIZE_MAX ((size_t) -1)
18
******
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.VMS]CONFIG.H;2
17
************
Problem 6: last_component is type warning that can easily be corrected.
Workaround: Add in the file filesubr.c the keyword “const” as in the
last_component definition in [.src]cvs.h
[...VS-1_11_18.VMS]>diff filesubr.c
************
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.VMS]FILESUBR.C;2
940 const char *
941 last_component (path)
******
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.VMS]FILESUBR.C;1
940 char *
941 last_component (path)
************
Lets rebuild from the root directory:
USERS.PS.TOOLS.CVS.CVS-1_11_18>@build
Compiling Zlib sources ...
Example applications available
Zlib build completed
$ CC :== CC/DEBUG/NOOPTIMIZE/STANDARD=VAXC/DEFINE=HAVE_CONFIG_H-
/INCLUDE_DIRECTORY=([-],[-.LIB],[-.SRC],[-.VMS])/
PREFIX_LIBRARY_ENTRIES=ALL_ENTS
$ CC diff.c
$ CC analyze.c
$ CC cmpbuf.c
$ CC dir.c
$ CC io.c
$ CC util.c
$ CC context.c
$ CC ed.c
$ CC ifdef.c
$ CC normal.c
$ CC side.c
$ CC version.c
$ CC diff3.c
$ library/create diff.olb diff.obj,analyze.obj,cmpbuf.obj,-
dir.obj,io.obj,util.obj,context.obj,ed.obj,ifdef.obj,normal.obj,-
side.obj,version.obj,diff3.obj
$ set noverify
$ CC :== CC/DEBUG/NOOPTIMIZE/STANDARD=VAXC/DEFINE=HAVE_CONFIG_H-
/INCLUDE_DIRECTORY=([-],[-.LIB],[-.SRC],[-.VMS])/
PREFIX_LIBRARY_ENTRIES=ALL_ENTS
$ CC filesubr.c
$ CC filutils.c
$ CC getpass.c
$ CC getwd.c
$ CC misc.c
$ CC ndir.c
$ CC pipe.c
$ CC piped_child.c
$ CC pwd.c
$ CC rcmd.c
$ CC readlink.c
$ CC rmdir.c
$ CC stat.c
$ CC startserver.c
$ CC unlink.c
$ CC utime.c
$ CC /NOSTANDARD vmsmunch.c
$ CC waitpid.c
$ library/create openvmslib.olb filesubr.obj,-
filutils.obj,getpass.obj,getwd.obj,misc.obj,ndir.obj,pipe.obj,-
pwd.obj,rcmd.obj,readlink.obj,rmdir.obj,stat.obj,startserver.obj,-
unlink.obj,utime.obj,vmsmunch.obj,waitpid.obj
$ set noverify
$ CC :== CC/DEBUG/NOOPTIMIZE/STANDARD=VAXC/DEFINE=HAVE_CONFIG_H-
/INCLUDE_DIRECTORY=([-],[-.LIB],[-.SRC],[-.VMS])/
PREFIX_LIBRARY_ENTRIES=ALL_ENTS
$ CC fnmatch.c
$ CC getdate.c
if (Minutes < 0 || Minutes > 59 || Seconds < 0 || Seconds > 59)
........^
%CC-I-QUESTCOMPARE, In this statement, the unsigned expression
"Minutes" is bei.
at line number 585 in file /u/scjones/cvs-nightly/lib/getdate.y
if (Minutes < 0 || Minutes > 59 || Seconds < 0 || Seconds > 59)
.......................................^
%CC-I-QUESTCOMPARE, In this statement, the unsigned expression
"Seconds" is bei.
at line number 585 in file /u/scjones/cvs-nightly/lib/getdate.y
if (Hours < 0 || Hours > 23)
............^
%CC-I-QUESTCOMPARE, In this statement, the unsigned expression "Hours"
is being.
at line number 589 in file /u/scjones/cvs-nightly/lib/getdate.y
if (Year < 0)
........^
%CC-I-QUESTCOMPARE, In this statement, the unsigned expression "Year"
is being .
at line number 633 in file /u/scjones/cvs-nightly/lib/getdate.y
if ((tod = ToSeconds(Hours, Minutes, Seconds, Meridian)) < 0)
........^
%CC-I-QUESTCOMPARE, In this statement, the unsigned expression
"(tod=ToSeconds(.
at line number 661 in file /u/scjones/cvs-nightly/lib/getdate.y
now += 7 * SECSPERDAY * (DayOrdinal <= 0 ? DayOrdinal : DayOrdinal
- 1);
.............................^
%CC-I-QUESTCOMPARE, In this statement, the unsigned expression
"DayOrdinal" is .
at line number 697 in file /u/scjones/cvs-nightly/lib/getdate.y
if (Start < 0)
............^
%CC-I-QUESTCOMPARE, In this statement, the unsigned expression "Start"
is being.
at line number 981 in file /u/scjones/cvs-nightly/lib/getdate.y
return Start == -1 ? 0 : Start;
...........^
%CC-I-QUESTCOMPARE1, In this statement, the unsigned expression "Start"
is bein.
at line number 1000 in file /u/scjones/cvs-nightly/lib/getdate.y
$ CC getline.c
$ CC getopt.c
char *const *argv;
..........^
%CC-E-PROMOTMATCH, In the definition of the function "cvs_getopt", the
promoted.
at line number 674 in file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GETOP1
const char *optstring;
................^
%CC-E-PROMOTMATCH, In the definition of the function "cvs_getopt", the
promoted.
at line number 675 in file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GETOP1
USERS.PS.TOOLS.CVS.CVS-1_11_18>
Problem 7: Severe errors in getopt.c and some type incompatibility
errors
To get more compiler details I recompiled getopt.c with an additional
flag.
USERS.PS.TOOLS.CVS.CVS-1_11_18> CC /warnings=verbose getopt.c
char *const *argv;
..........^
%CC-E-PROMOTMATCH, In the definition of the function "cvs_getopt", the
promoted type of argv is incompatible with the type of the
corresponding parameter in a prior declaration.
at line number 674 in file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GETOPT.C;1
Description: The promoted type of a parameter of an old-style function
declaration does not match the type given earlier in a prototype
declaration of the function.
User Action: Correct the data types so they match. Compaq also
recommends that old-style function definitions be replaced by
prototype-format definitions.
const char *optstring;
................^
%CC-E-PROMOTMATCH, In the definition of the function "cvs_getopt", the
promoted type of optstring is incompatible with the type of the
corresponding parameter in a prior declaration.
at line number 675 in file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GETOPT.C;1
Description: The promoted type of a parameter of an old-style function
declaration does not match the type given earlier in a prototype
declaration of the function.
User Action: Correct the data types so they match. Compaq also
recommends that old-style function definitions be replaced by
prototype-format definitions.
My workaround let to several discussions. I do agree that the chosen
option is not elegant but workable.
[...VS-1_11_18.LIB]>diff getopt.c
************
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GETOPT.C;2
671 #ifdef __VMS_VER
672 int getopt (int argc, char *const *argv, const char *optstring)
673 #else
674 int
******
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GETOPT.C;1
671 int
************
************
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GETOPT.C;2
679 #endif
680 {
******
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GETOPT.C;1
676 {
************
rebuild from the root directory
USERS.PS.TOOLS.CVS.CVS-1_11_18>@build
Compiling Zlib sources ...
Example applications available
Zlib build completed
$ CC :== CC/DEBUG/NOOPTIMIZE/STANDARD=VAXC/DEFINE=HAVE_CONFIG_H-
/INCLUDE_DIRECTORY=([-],[-.LIB],[-.SRC],[-.VMS])/
PREFIX_LIBRARY_ENTRIES=ALL_ENTRIES
$ CC diff.c
$ CC analyze.c
$ CC cmpbuf.c
$ CC dir.c
$ CC io.c
$ CC util.c
$ CC context.c
$ CC ed.c
$ CC ifdef.c
$ CC normal.c
$ CC side.c
$ CC version.c
$ CC diff3.c
$ library/create diff.olb diff.obj,analyze.obj,cmpbuf.obj,-
dir.obj,io.obj,util.obj,context.obj,ed.obj,ifdef.obj,normal.obj,-
side.obj,version.obj,diff3.obj
$ set noverify
$ CC :== CC/DEBUG/NOOPTIMIZE/STANDARD=VAXC/DEFINE=HAVE_CONFIG_H-
/INCLUDE_DIRECTORY=([-],[-.LIB],[-.SRC],[-.VMS])/
PREFIX_LIBRARY_ENTRIES=ALL_ENTRIES
$ CC filesubr.c
$ CC filutils.c
$ CC getpass.c
$ CC getwd.c
$ CC misc.c
$ CC ndir.c
$ CC pipe.c
$ CC piped_child.c
$ CC pwd.c
$ CC rcmd.c
$ CC readlink.c
$ CC rmdir.c
$ CC stat.c
$ CC startserver.c
$ CC unlink.c
$ CC utime.c
$ CC /NOSTANDARD vmsmunch.c
$ CC waitpid.c
$ library/create openvmslib.olb filesubr.obj,-
filutils.obj,getpass.obj,getwd.obj,misc.obj,ndir.obj,pipe.obj,-
pwd.obj,rcmd.obj,readlink.obj,rmdir.obj,stat.obj,startserver.obj,-
unlink.obj,utime.obj,vmsmunch.obj,waitpid.obj
$ set noverify
$ CC :== CC/DEBUG/NOOPTIMIZE/STANDARD=VAXC/DEFINE=HAVE_CONFIG_H-
/INCLUDE_DIRECTORY=([-],[-.LIB],[-.SRC],[-.VMS])/
PREFIX_LIBRARY_ENTRIES=ALL_ENTRIES
$ CC fnmatch.c
$ CC getdate.c
if (Minutes < 0 || Minutes > 59 || Seconds < 0 || Seconds > 59)
........^
%CC-I-QUESTCOMPARE, In this statement, the unsigned expression
"Minutes" is being compared with a relational operator to a constant
whose value is not greater than zero. This might not be what you
intended.
at line number 585 in file /u/scjones/cvs-nightly/lib/getdate.y
if (Minutes < 0 || Minutes > 59 || Seconds < 0 || Seconds > 59)
.......................................^
%CC-I-QUESTCOMPARE, In this statement, the unsigned expression
"Seconds" is being compared with a relational operator to a constant
whose value is not greater than zero. This might not be what you
intended.
at line number 585 in file /u/scjones/cvs-nightly/lib/getdate.y
if (Hours < 0 || Hours > 23)
............^
%CC-I-QUESTCOMPARE, In this statement, the unsigned expression "Hours"
is being compared with a relational operator to a constant wh
ose value is not greater than zero. This might not be what you
intended.
at line number 589 in file /u/scjones/cvs-nightly/lib/getdate.y
if (Year < 0)
........^
%CC-I-QUESTCOMPARE, In this statement, the unsigned expression "Year"
is being compared with a relational operator to a constant who
se value is not greater than zero. This might not be what you intended.
at line number 633 in file /u/scjones/cvs-nightly/lib/getdate.y
if ((tod = ToSeconds(Hours, Minutes, Seconds, Meridian)) < 0)
........^
%CC-I-QUESTCOMPARE, In this statement, the unsigned expression
"(tod=ToSeconds(...))" is being compared with a relational operator t
o a constant whose value is not greater than zero. This might not be
what you intended.
at line number 661 in file /u/scjones/cvs-nightly/lib/getdate.y
now += 7 * SECSPERDAY * (DayOrdinal <= 0 ? DayOrdinal : DayOrdinal
- 1);
.............................^
%CC-I-QUESTCOMPARE, In this statement, the unsigned expression
"DayOrdinal" is being compared with a relational operator to a consta
nt whose value is not greater than zero. This might not be what you
intended.
at line number 697 in file /u/scjones/cvs-nightly/lib/getdate.y
if (Start < 0)
............^
%CC-I-QUESTCOMPARE, In this statement, the unsigned expression "Start"
is being compared with a relational operator to a constant wh
ose value is not greater than zero. This might not be what you
intended.
at line number 981 in file /u/scjones/cvs-nightly/lib/getdate.y
return Start == -1 ? 0 : Start;
...........^
%CC-I-QUESTCOMPARE1, In this statement, the unsigned expression "Start"
is being compared with an equality operator to a constant wh
ose value is negative. This might not be what you intended.
at line number 1000 in file /u/scjones/cvs-nightly/lib/getdate.y
$ CC getline.c
$ CC getopt.c
int getopt (int argc, char *const *argv, const char *optstring)
....^
%CC-W-NOTCOMPAT, In this declaration, the type of "cvs_getopt" is not
compatible with the type of a previous declaration of "cvs_get
opt" at line number 537 in file SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1.
at line number 672 in file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GETOPT.C;2
$ CC getopt1.c
$ CC md5.c
$ CC regex.c
$ CC savecwd.c
$ CC sighandle.c
$ CC stripslash.c
$ CC valloc.c
$ CC xgetwd.c
$ CC yesno.c
$ library/create gnulib.olb fnmatch.obj,getdate.obj,getline.obj,-
getopt.obj,getopt1.obj,md5.obj,regex.obj,savecwd.obj,sighandle.obj,-
stripslash.obj,valloc.obj,xgetwd.obj,yesno.obj
%LIBRAR-W-COMCOD, compilation warnings in module GETOPT file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GETOPT.OBJ;1
$ set noverify
$ CC :== CC/NOOPT/DEB/STANDARD=VAXC/DEFINE=HAVE_CONFIG_H-
/INCLUDE_DIR=([-],[-.VMS],[-.LIB])/PREFIX=ALL
$ CC add.c
$ CC admin.c
$ CC annotate.c
$ CC buffer.c
$ CC checkin.c
$ CC checkout.c
$ CC classify.c
$ CC client.c
$ CC commit.c
if (!newfile && headtime != -1)
............................^
%CC-I-QUESTCOMPARE1, In this statement, the unsigned expression
"headtime" is being compared with an equality operator to a constant
whose value is negative. This might not be what you intended.
at line number 2197 in file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.SRC]COMMIT.C;1
$ CC create_adm.c
$ CC cvsrc.c
$ CC diff.c
$ CC edit.c
$ CC entries.c
$ CC error.c
$ CC expand_path.c
$ CC fileattr.c
$ CC find_names.c
$ CC hash.c
$ CC history.c
$ CC ignore.c
$ CC import.c
$ CC lock.c
$ CC log.c
$ CC login.c
$ CC logmsg.c
$ CC main.c
$ CC mkmodules.c
$ CC modules.c
$ CC myndbm.c
$ CC no_diff.c
$ CC parseinfo.c
$ CC patch.c
$ CC rcs.c
$ CC/INCLUDE_DIR=([-],[-.VMS],[-.LIB],[-.diff]) rcscmds.c
$ CC recurse.c
$ CC release.c
$ CC remove.c
$ CC repos.c
$ CC root.c
$ CC run.c
$ CC scramble.c
$ CC server.c
$ CC status.c
$ CC subr.c
$ CC tag.c
$ CC update.c
$ CC version.c
(void) fputs (PACKAGE_STRING, stdout);
..................^
%CC-E-UNDECLARED, In this statement, "PACKAGE_STRING" is not declared.
at line number 64 in file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.SRC]VERSION.C;1
USERS.PS.TOOLS.CVS.CVS-1_11_18>
Problem 8: Missing definition of PACKAGE_STRING and the not yet
corrected type incompatibility warnings
Workaround: Define the PACKAGE_STRING in the config.h files on [.vms]
[...VS-1_11_18.VMS]>diff config.h
************
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.VMS]CONFIG.H;4
18 #define PACKAGE_STRING "Concurrent Versions System (CVS)
1.11.18 VMS"
19
******
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.VMS]CONFIG.H;3
18
************
Rebuild from the root directory
USERS.PS.TOOLS.CVS.CVS-1_11_18>@build
Compiling Zlib sources ...
Example applications available
Zlib build completed
$ CC :== CC/DEBUG/NOOPTIMIZE/STANDARD=VAXC/DEFINE=HAVE_CONFIG_H-
/INCLUDE_DIRECTORY=([-],[-.LIB],[-.SRC],[-.VMS])/
PREFIX_LIBRARY_ENTRIES=ALL_ENTRIES
$ CC diff.c
$ CC analyze.c
$ CC cmpbuf.c
$ CC dir.c
$ CC io.c
$ CC util.c
$ CC context.c
$ CC ed.c
$ CC ifdef.c
$ CC normal.c
$ CC side.c
$ CC version.c
$ CC diff3.c
$ library/create diff.olb diff.obj,analyze.obj,cmpbuf.obj,-
dir.obj,io.obj,util.obj,context.obj,ed.obj,ifdef.obj,normal.obj,-
side.obj,version.obj,diff3.obj
$ set noverify
$ CC :== CC/DEBUG/NOOPTIMIZE/STANDARD=VAXC/DEFINE=HAVE_CONFIG_H-
/INCLUDE_DIRECTORY=([-],[-.LIB],[-.SRC],[-.VMS])/
PREFIX_LIBRARY_ENTRIES=ALL_ENTRIES
$ CC filesubr.c
$ CC filutils.c
$ CC getpass.c
$ CC getwd.c
$ CC misc.c
$ CC ndir.c
$ CC pipe.c
$ CC piped_child.c
$ CC pwd.c
$ CC rcmd.c
$ CC readlink.c
$ CC rmdir.c
$ CC stat.c
$ CC startserver.c
$ CC unlink.c
$ CC utime.c
$ CC /NOSTANDARD vmsmunch.c
$ CC waitpid.c
$ library/create openvmslib.olb filesubr.obj,-
filutils.obj,getpass.obj,getwd.obj,misc.obj,ndir.obj,pipe.obj,-
pwd.obj,rcmd.obj,readlink.obj,rmdir.obj,stat.obj,startserver.obj,-
unlink.obj,utime.obj,vmsmunch.obj,waitpid.obj
$ set noverify
$ CC :== CC/DEBUG/NOOPTIMIZE/STANDARD=VAXC/DEFINE=HAVE_CONFIG_H-
/INCLUDE_DIRECTORY=([-],[-.LIB],[-.SRC],[-.VMS])/
PREFIX_LIBRARY_ENTRIES=ALL_ENTRIES
$ CC fnmatch.c
$ CC getdate.c
if (Minutes < 0 || Minutes > 59 || Seconds < 0 || Seconds > 59)
........^
%CC-I-QUESTCOMPARE, In this statement, the unsigned expression
"Minutes" is being compared with a relational operator to a constant
whose value is not greater than zero. This might not be what you
intended.
at line number 585 in file /u/scjones/cvs-nightly/lib/getdate.y
if (Minutes < 0 || Minutes > 59 || Seconds < 0 || Seconds > 59)
.......................................^
%CC-I-QUESTCOMPARE, In this statement, the unsigned expression
"Seconds" is being compared with a relational operator to a constant
whose value is not greater than zero. This might not be what you
intended.
at line number 585 in file /u/scjones/cvs-nightly/lib/getdate.y
if (Hours < 0 || Hours > 23)
............^
%CC-I-QUESTCOMPARE, In this statement, the unsigned expression "Hours"
is being compared with a relational operator to a constant wh
ose value is not greater than zero. This might not be what you
intended.
at line number 589 in file /u/scjones/cvs-nightly/lib/getdate.y
if (Year < 0)
........^
%CC-I-QUESTCOMPARE, In this statement, the unsigned expression "Year"
is being compared with a relational operator to a constant who
se value is not greater than zero. This might not be what you intended.
at line number 633 in file /u/scjones/cvs-nightly/lib/getdate.y
if ((tod = ToSeconds(Hours, Minutes, Seconds, Meridian)) < 0)
........^
%CC-I-QUESTCOMPARE, In this statement, the unsigned expression
"(tod=ToSeconds(...))" is being compared with a relational operator t
o a constant whose value is not greater than zero. This might not be
what you intended.
at line number 661 in file /u/scjones/cvs-nightly/lib/getdate.y
now += 7 * SECSPERDAY * (DayOrdinal <= 0 ? DayOrdinal : DayOrdinal
- 1);
.............................^
%CC-I-QUESTCOMPARE, In this statement, the unsigned expression
"DayOrdinal" is being compared with a relational operator to a consta
nt whose value is not greater than zero. This might not be what you
intended.
at line number 697 in file /u/scjones/cvs-nightly/lib/getdate.y
if (Start < 0)
............^
%CC-I-QUESTCOMPARE, In this statement, the unsigned expression "Start"
is being compared with a relational operator to a constant wh
ose value is not greater than zero. This might not be what you
intended.
at line number 981 in file /u/scjones/cvs-nightly/lib/getdate.y
return Start == -1 ? 0 : Start;
...........^
%CC-I-QUESTCOMPARE1, In this statement, the unsigned expression "Start"
is being compared with an equality operator to a constant wh
ose value is negative. This might not be what you intended.
at line number 1000 in file /u/scjones/cvs-nightly/lib/getdate.y
$ CC getline.c
$ CC getopt.c
int getopt (int argc, char *const *argv, const char *optstring)
....^
%CC-W-NOTCOMPAT, In this declaration, the type of "cvs_getopt" is not
compatible with the type of a previous declaration of "cvs_get
opt" at line number 537 in file SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1.
at line number 672 in file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GETOPT.C;2
$ CC getopt1.c
$ CC md5.c
$ CC regex.c
$ CC savecwd.c
$ CC sighandle.c
$ CC stripslash.c
$ CC valloc.c
$ CC xgetwd.c
$ CC yesno.c
$ library/create gnulib.olb fnmatch.obj,getdate.obj,getline.obj,-
getopt.obj,getopt1.obj,md5.obj,regex.obj,savecwd.obj,sighandle.obj,-
stripslash.obj,valloc.obj,xgetwd.obj,yesno.obj
%LIBRAR-W-COMCOD, compilation warnings in module GETOPT file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GETOPT.OBJ;2
$ set noverify
$ CC :== CC/NOOPT/DEB/STANDARD=VAXC/DEFINE=HAVE_CONFIG_H-
/INCLUDE_DIR=([-],[-.VMS],[-.LIB])/PREFIX=ALL
$ CC add.c
$ CC admin.c
$ CC annotate.c
$ CC buffer.c
$ CC checkin.c
$ CC checkout.c
$ CC classify.c
$ CC client.c
$ CC commit.c
if (!newfile && headtime != -1)
............................^
%CC-I-QUESTCOMPARE1, In this statement, the unsigned expression
"headtime" is being compared with an equality operator to a constant
whose value is negative. This might not be what you intended.
at line number 2197 in file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.SRC]COMMIT.C;1
$ CC create_adm.c
$ CC cvsrc.c
$ CC diff.c
$ CC edit.c
$ CC entries.c
$ CC error.c
$ CC expand_path.c
$ CC fileattr.c
$ CC find_names.c
$ CC hash.c
$ CC history.c
$ CC ignore.c
$ CC import.c
$ CC lock.c
$ CC log.c
$ CC login.c
$ CC logmsg.c
$ CC main.c
$ CC mkmodules.c
$ CC modules.c
$ CC myndbm.c
$ CC no_diff.c
$ CC parseinfo.c
$ CC patch.c
$ CC rcs.c
$ CC/INCLUDE_DIR=([-],[-.VMS],[-.LIB],[-.diff]) rcscmds.c
$ CC recurse.c
$ CC release.c
$ CC remove.c
$ CC repos.c
$ CC root.c
$ CC run.c
$ CC scramble.c
$ CC server.c
$ CC status.c
$ CC subr.c
$ CC tag.c
$ CC update.c
$ CC version.c
$ CC vers_ts.c
$ CC watch.c
$ CC wrapper.c
$ CC/INCLUDE_DIR=([-],[-.VMS],[-.LIB],[-.zlib]) zlib.c
$ LIBRARY/CREATE cvslib.olb
add.obj,admin.obj,annotate.obj,buffer.obj,checkin.obj,-
checkout.obj,-
classify.obj,client.obj,commit.obj,create_adm.obj,cvsrc.obj,-
diff.obj,edit.obj,entries.obj,error.obj,expand_path.obj,fileattr.obj,-
find_names.obj,hash.obj,history.obj,ignore.obj,import.obj,-
lock.obj,log.obj,login.obj,logmsg.obj,mkmodules.obj,modules.obj,myndbm.o
bj,-
no_diff.obj,-
parseinfo.obj,patch.obj,rcs.obj,rcscmds.obj,recurse.obj,release.obj,-
remove.obj,repos.obj,root.obj,run.obj,scramble.obj,server.obj,-
status.obj,-
subr.obj,tag.obj,update.obj,version.obj,vers_ts.obj,watch.obj,wrapper.ob
j,-
zlib.obj
$ link/nodeb/exe=cvs.exe
main.obj,cvslib.olb/lib,[-.vms]openvmslib.olb/lib,-
[-.zlib]libz.olb/lib,[-.diff]diff.olb/lib,[-.lib]gnulib.olb/lib
%LINK-W-WRNERS, compilation warnings
in module GETOPT file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GNULIB.OLB;2
%LINK-W-MULDEF, symbol DECC$UTIME multiply defined
in module DECC$SHR_EV56 file
SYS$COMMON:[SYSLIB]DECC$SHR_EV56.EXE;1
%LINK-W-MULDEF, symbol DECC$LINK multiply defined
in module DECC$SHR_EV56 file
SYS$COMMON:[SYSLIB]DECC$SHR_EV56.EXE;1
%LINK-W-NUDFSYMS, 6 undefined symbols:
%LINK-I-UDFSYM, ISEMPTY
%LINK-I-UDFSYM, OSX_FILENAME_CLASSES
%LINK-I-UDFSYM, POP
%LINK-I-UDFSYM, POP_STRING
%LINK-I-UDFSYM, PUSH
%LINK-I-UDFSYM, PUSH_STRING
%LINK-W-USEUNDEF, undefined symbol OSX_FILENAME_CLASSES referenced
in psect $LINK$ offset %X00000198
in module HASH file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.SRC]CVSLIB.OLB;1
%LINK-W-USEUNDEF, undefined symbol PUSH_STRING referenced
in psect $LINK$ offset %X00000870
in module CLIENT file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.SRC]CVSLIB.OLB;1
%LINK-W-USEUNDEF, undefined symbol POP referenced
in psect $LINK$ offset %X00000990
in module CLIENT file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.SRC]CVSLIB.OLB;1
%LINK-W-USEUNDEF, undefined symbol PUSH referenced
in psect $LINK$ offset %X000009A0
in module CLIENT file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.SRC]CVSLIB.OLB;1
%LINK-W-USEUNDEF, undefined symbol ISEMPTY referenced
in psect $LINK$ offset %X00000280
in module MODULES file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.SRC]CVSLIB.OLB;1
%LINK-W-USEUNDEF, undefined symbol PUSH_STRING referenced
in psect $LINK$ offset %X000002F0
in module MODULES file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.SRC]CVSLIB.OLB;1
%LINK-W-USEUNDEF, undefined symbol POP_STRING referenced
in psect $LINK$ offset %X000004E0
in module MODULES file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.SRC]CVSLIB.OLB;1
%LINK-W-USEUNDEF, undefined symbol OSX_FILENAME_CLASSES referenced
in psect $LINK$ offset %X00000340
in module FILESUBR file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.VMS]OPENVMSLIB.OLB;3
%LINK-W-USEUNDEF, undefined symbol OSX_FILENAME_CLASSES referenced
in psect $LINK$ offset %X00000020
in module FNMATCH file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GNULIB.OLB;2
$ set noverify
USERS.PS.TOOLS.CVS.CVS-1_11_18>
FINISHED? No we have a executable image CVS.EXE but still several
compiler and link warnings !!
Problem 9: the missing / undefined symbols
Workaround: The missing items are in [.src]stack.c but that source is
not part of the vms build_src script
So I just added build_src.com and added stack.c to be part of the
compiling and link process.
USERS.PS.TOOLS.CVS.CVS-1_11_18>diff build_src.com
************
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.SRC]BUILD_SRC.COM;2
48 $ CC stack.c
49 $ CC subr.c
******
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.SRC]BUILD_SRC.COM;1
48 $ CC subr.c
************
************
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.SRC]BUILD_SRC.COM;2
66 status.obj,stack.obj,-
67
subr.obj,tag.obj,update.obj,version.obj,vers_ts.obj,watch.obj,wrapper.ob
j,-
******
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.SRC]BUILD_SRC.COM;1
65 status.obj,-
66
subr.obj,tag.obj,update.obj,version.obj,vers_ts.obj,watch.obj,wrapper.ob
j,-
************
rerun the local [.src] build script to see the remaining errors or
warnings .
USERS.PS.TOOLS.CVS.CVS-1_11_18>@build_src
$ CC :== CC/NOOPT/DEB/STANDARD=VAXC/DEFINE=HAVE_CONFIG_H-
/INCLUDE_DIR=([-],[-.VMS],[-.LIB])/PREFIX=ALL
$ CC add.c
$ CC admin.c
$ CC annotate.c
$ CC buffer.c
$ CC checkin.c
$ CC checkout.c
$ CC classify.c
$ CC client.c
$ CC commit.c
if (!newfile && headtime != -1)
............................^
%CC-I-QUESTCOMPARE1, In this statement, the unsigned expression
"headtime" is being compared with an equality operator to a constant
whose value is negative. This might not be what you intended.
at line number 2197 in file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.SRC]COMMIT.C;1
$ CC create_adm.c
$ CC cvsrc.c
$ CC diff.c
$ CC edit.c
$ CC entries.c
$ CC error.c
$ CC expand_path.c
$ CC fileattr.c
$ CC find_names.c
$ CC hash.c
$ CC history.c
$ CC ignore.c
$ CC import.c
$ CC lock.c
$ CC log.c
$ CC login.c
$ CC logmsg.c
$ CC main.c
$ CC mkmodules.c
$ CC modules.c
$ CC myndbm.c
$ CC no_diff.c
$ CC parseinfo.c
$ CC patch.c
$ CC rcs.c
$ CC/INCLUDE_DIR=([-],[-.VMS],[-.LIB],[-.diff]) rcscmds.c
$ CC recurse.c
$ CC release.c
$ CC remove.c
$ CC repos.c
$ CC root.c
$ CC run.c
$ CC scramble.c
$ CC server.c
$ CC status.c
$ CC stack.c
$ CC subr.c
$ CC tag.c
$ CC update.c
$ CC version.c
$ CC vers_ts.c
$ CC watch.c
$ CC wrapper.c
$ CC/INCLUDE_DIR=([-],[-.VMS],[-.LIB],[-.zlib]) zlib.c
$ LIBRARY/CREATE cvslib.olb
add.obj,admin.obj,annotate.obj,buffer.obj,checkin.obj,-
checkout.obj,-
classify.obj,client.obj,commit.obj,create_adm.obj,cvsrc.obj,-
diff.obj,edit.obj,entries.obj,error.obj,expand_path.obj,fileattr.obj,-
find_names.obj,hash.obj,history.obj,ignore.obj,import.obj,-
lock.obj,log.obj,login.obj,logmsg.obj,mkmodules.obj,modules.obj,myndbm.o
bj,-
no_diff.obj,-
parseinfo.obj,patch.obj,rcs.obj,rcscmds.obj,recurse.obj,release.obj,-
remove.obj,repos.obj,root.obj,run.obj,scramble.obj,server.obj,-
status.obj,stack.obj,-
subr.obj,tag.obj,update.obj,version.obj,vers_ts.obj,watch.obj,wrapper.ob
j,-
zlib.obj
$ link/nodeb/exe=cvs.exe
main.obj,cvslib.olb/lib,[-.vms]openvmslib.olb/lib,-
[-.zlib]libz.olb/lib,[-.diff]diff.olb/lib,[-.lib]gnulib.olb/lib
%LINK-W-WRNERS, compilation warnings
in module GETOPT file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GNULIB.OLB;2
%LINK-W-MULDEF, symbol DECC$UTIME multiply defined
in module DECC$SHR_EV56 file
SYS$COMMON:[SYSLIB]DECC$SHR_EV56.EXE;1
%LINK-W-MULDEF, symbol DECC$LINK multiply defined
in module DECC$SHR_EV56 file
SYS$COMMON:[SYSLIB]DECC$SHR_EV56.EXE;1
%LINK-W-NUDFSYMS, 1 undefined symbol:
%LINK-I-UDFSYM, OSX_FILENAME_CLASSES
%LINK-W-USEUNDEF, undefined symbol OSX_FILENAME_CLASSES referenced
in psect $LINK$ offset %X00000198
in module HASH file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.SRC]CVSLIB.OLB;2
%LINK-W-USEUNDEF, undefined symbol OSX_FILENAME_CLASSES referenced
in psect $LINK$ offset %X00000340
in module FILESUBR file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.VMS]OPENVMSLIB.OLB;3
%LINK-W-USEUNDEF, undefined symbol OSX_FILENAME_CLASSES referenced
in psect $LINK$ offset %X00000020
in module FNMATCH file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GNULIB.OLB;2
$ set noverify
Finished??
No although we have again a executable image which will give a nice
crash when used.
PROBLEM 10: OSX_FILENAME_CLASSES on VMS? In the OPENVSLIB.OLB?
Doubtful, we running VMS not MAC OSX so there is still an problem.
Workaround: The OSX_FILENAME_CLASSES are defined in the [.lib]system.h
file
Its easy to find there are some nice comment lines. The problem is that
the VMS compiler will also hit the only MAXOSX intended lines. Let make
clear that the number of operating systems on this planet is larger
then two. ;-)
[...VS-1_11_18.LIB]>diff system.h
************
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]SYSTEM.H;2
504 #if defined(MACOS) || defined(TARGET_OS_MAC)
505 # define FOLD_FN_CHAR(c) (OSX_filename_classes[(unsigned
char) (c)])
506 extern unsigned char OSX_filename_classes[];
507 #endif
508
509 # endif /* __CYGWIN32__ || WOE32 */
******
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]SYSTEM.H;1
504 # define FOLD_FN_CHAR(c) (OSX_filename_classes[(unsigned
char) (c)])
505 extern unsigned char OSX_filename_classes[];
506 # endif /* __CYGWIN32__ || WOE32 */
************
Now delete all *.obj and *.olb in the cvs-1_11_18 directories and
rebuild from the root directory
USERS.PS.TOOLS.CVS.CVS-1_11_18>del [...]*.olb;*
USERS.PS.TOOLS.CVS.CVS-1_11_18>del [...]*.obj;*
USERS.PS.TOOLS.CVS.CVS-1_11_18>@build
Compiling Zlib sources ...
CC /prefix=all EXAMPLE.C
CC /prefix=all ADLER32.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB ADLER32.OBJ
CC /prefix=all COMPRESS.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB COMPRESS.OBJ
CC /prefix=all CRC32.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB CRC32.OBJ
CC /prefix=all GZIO.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB GZIO.OBJ
CC /prefix=all UNCOMPR.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB UNCOMPR.OBJ
CC /prefix=all DEFLATE.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB DEFLATE.OBJ
CC /prefix=all TREES.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB TREES.OBJ
CC /prefix=all ZUTIL.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB ZUTIL.OBJ
CC /prefix=all INFLATE.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB INFLATE.OBJ
CC /prefix=all INFBLOCK.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB INFBLOCK.OBJ
CC /prefix=all INFTREES.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB INFTREES.OBJ
CC /prefix=all INFCODES.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB INFCODES.OBJ
CC /prefix=all INFUTIL.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB INFUTIL.OBJ
CC /prefix=all INFFAST.C
If "''F$Search("LIBZ.OLB")'" .EQS. "" Then LIBRARY/Create LIBZ.OLB
LIBRARY/REPLACE LIBZ.OLB INFFAST.OBJ
libz available
link example,libz.olb/lib
Example applications available
Zlib build completed
$ CC :== CC/DEBUG/NOOPTIMIZE/STANDARD=VAXC/DEFINE=HAVE_CONFIG_H-
/INCLUDE_DIRECTORY=([-],[-.LIB],[-.SRC],[-.VMS])/
PREFIX_LIBRARY_ENTRIES=ALL_ENTRIES
$ CC diff.c
$ CC analyze.c
$ CC cmpbuf.c
$ CC dir.c
$ CC io.c
$ CC util.c
$ CC context.c
$ CC ed.c
$ CC ifdef.c
$ CC normal.c
$ CC side.c
$ CC version.c
$ CC diff3.c
$ library/create diff.olb diff.obj,analyze.obj,cmpbuf.obj,-
dir.obj,io.obj,util.obj,context.obj,ed.obj,ifdef.obj,normal.obj,-
side.obj,version.obj,diff3.obj
$ set noverify
$ CC :== CC/DEBUG/NOOPTIMIZE/STANDARD=VAXC/DEFINE=HAVE_CONFIG_H-
/INCLUDE_DIRECTORY=([-],[-.LIB],[-.SRC],[-.VMS])/
PREFIX_LIBRARY_ENTRIES=ALL_ENTRIES
$ CC filesubr.c
$ CC filutils.c
$ CC getpass.c
$ CC getwd.c
$ CC misc.c
$ CC ndir.c
$ CC pipe.c
$ CC piped_child.c
$ CC pwd.c
$ CC rcmd.c
$ CC readlink.c
$ CC rmdir.c
$ CC stat.c
$ CC startserver.c
$ CC unlink.c
$ CC utime.c
$ CC /NOSTANDARD vmsmunch.c
$ CC waitpid.c
$ library/create openvmslib.olb filesubr.obj,-
filutils.obj,getpass.obj,getwd.obj,misc.obj,ndir.obj,pipe.obj,-
pwd.obj,rcmd.obj,readlink.obj,rmdir.obj,stat.obj,startserver.obj,-
unlink.obj,utime.obj,vmsmunch.obj,waitpid.obj
$ set noverify
$ CC :== CC/DEBUG/NOOPTIMIZE/STANDARD=VAXC/DEFINE=HAVE_CONFIG_H-
/INCLUDE_DIRECTORY=([-],[-.LIB],[-.SRC],[-.VMS])/
PREFIX_LIBRARY_ENTRIES=ALL_ENTRIES
$ CC fnmatch.c
$ CC getdate.c
if (Minutes < 0 || Minutes > 59 || Seconds < 0 || Seconds > 59)
........^
%CC-I-QUESTCOMPARE, In this statement, the unsigned expression
"Minutes" is being compared with a relational operator to a constant
whose value is not greater than zero. This might not be what you
intended.
at line number 585 in file /u/scjones/cvs-nightly/lib/getdate.y
if (Minutes < 0 || Minutes > 59 || Seconds < 0 || Seconds > 59)
.......................................^
%CC-I-QUESTCOMPARE, In this statement, the unsigned expression
"Seconds" is being compared with a relational operator to a constant
whose value is not greater than zero. This might not be what you
intended.
at line number 585 in file /u/scjones/cvs-nightly/lib/getdate.y
if (Hours < 0 || Hours > 23)
............^
%CC-I-QUESTCOMPARE, In this statement, the unsigned expression "Hours"
is being compared with a relational operator to a constant wh
ose value is not greater than zero. This might not be what you
intended.
at line number 589 in file /u/scjones/cvs-nightly/lib/getdate.y
if (Year < 0)
........^
%CC-I-QUESTCOMPARE, In this statement, the unsigned expression "Year"
is being compared with a relational operator to a constant who
se value is not greater than zero. This might not be what you intended.
at line number 633 in file /u/scjones/cvs-nightly/lib/getdate.y
if ((tod = ToSeconds(Hours, Minutes, Seconds, Meridian)) < 0)
........^
%CC-I-QUESTCOMPARE, In this statement, the unsigned expression
"(tod=ToSeconds(...))" is being compared with a relational operator t
o a constant whose value is not greater than zero. This might not be
what you intended.
at line number 661 in file /u/scjones/cvs-nightly/lib/getdate.y
now += 7 * SECSPERDAY * (DayOrdinal <= 0 ? DayOrdinal : DayOrdinal
- 1);
.............................^
%CC-I-QUESTCOMPARE, In this statement, the unsigned expression
"DayOrdinal" is being compared with a relational operator to a consta
nt whose value is not greater than zero. This might not be what you
intended.
at line number 697 in file /u/scjones/cvs-nightly/lib/getdate.y
if (Start < 0)
............^
%CC-I-QUESTCOMPARE, In this statement, the unsigned expression "Start"
is being compared with a relational operator to a constant wh
ose value is not greater than zero. This might not be what you
intended.
at line number 981 in file /u/scjones/cvs-nightly/lib/getdate.y
return Start == -1 ? 0 : Start;
...........^
%CC-I-QUESTCOMPARE1, In this statement, the unsigned expression "Start"
is being compared with an equality operator to a constant wh
ose value is negative. This might not be what you intended.
at line number 1000 in file /u/scjones/cvs-nightly/lib/getdate.y
$ CC getline.c
$ CC getopt.c
int getopt (int argc, char *const *argv, const char *optstring)
....^
%CC-W-NOTCOMPAT, In this declaration, the type of "cvs_getopt" is not
compatible with the type of a previous declaration of "cvs_get
opt" at line number 537 in file SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1.
at line number 672 in file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GETOPT.C;2
$ CC getopt1.c
$ CC md5.c
$ CC regex.c
$ CC savecwd.c
$ CC sighandle.c
$ CC stripslash.c
$ CC valloc.c
$ CC xgetwd.c
$ CC yesno.c
$ library/create gnulib.olb fnmatch.obj,getdate.obj,getline.obj,-
getopt.obj,getopt1.obj,md5.obj,regex.obj,savecwd.obj,sighandle.obj,-
stripslash.obj,valloc.obj,xgetwd.obj,yesno.obj
%LIBRAR-W-COMCOD, compilation warnings in module GETOPT file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GETOPT.OBJ;1
$ set noverify
$ CC :== CC/NOOPT/DEB/STANDARD=VAXC/DEFINE=HAVE_CONFIG_H-
/INCLUDE_DIR=([-],[-.VMS],[-.LIB])/PREFIX=ALL
$ CC add.c
$ CC admin.c
$ CC annotate.c
$ CC buffer.c
$ CC checkin.c
$ CC checkout.c
$ CC classify.c
$ CC client.c
$ CC commit.c
if (!newfile && headtime != -1)
............................^
%CC-I-QUESTCOMPARE1, In this statement, the unsigned expression
"headtime" is being compared with an equality operator to a constant
whose value is negative. This might not be what you intended.
at line number 2197 in file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.SRC]COMMIT.C;1
$ CC create_adm.c
$ CC cvsrc.c
$ CC diff.c
$ CC edit.c
$ CC entries.c
$ CC error.c
$ CC expand_path.c
$ CC fileattr.c
$ CC find_names.c
$ CC hash.c
$ CC history.c
$ CC ignore.c
$ CC import.c
$ CC lock.c
$ CC log.c
$ CC login.c
$ CC logmsg.c
$ CC main.c
$ CC mkmodules.c
$ CC modules.c
$ CC myndbm.c
$ CC no_diff.c
$ CC parseinfo.c
$ CC patch.c
$ CC rcs.c
$ CC/INCLUDE_DIR=([-],[-.VMS],[-.LIB],[-.diff]) rcscmds.c
$ CC recurse.c
$ CC release.c
$ CC remove.c
$ CC repos.c
$ CC root.c
$ CC run.c
$ CC scramble.c
$ CC server.c
$ CC status.c
$ CC stack.c
$ CC subr.c
$ CC tag.c
$ CC update.c
$ CC version.c
$ CC vers_ts.c
$ CC watch.c
$ CC wrapper.c
$ CC/INCLUDE_DIR=([-],[-.VMS],[-.LIB],[-.zlib]) zlib.c
$ LIBRARY/CREATE cvslib.olb
add.obj,admin.obj,annotate.obj,buffer.obj,checkin.obj,-
checkout.obj,-
classify.obj,client.obj,commit.obj,create_adm.obj,cvsrc.obj,-
diff.obj,edit.obj,entries.obj,error.obj,expand_path.obj,fileattr.obj,-
find_names.obj,hash.obj,history.obj,ignore.obj,import.obj,-
lock.obj,log.obj,login.obj,logmsg.obj,mkmodules.obj,modules.obj,myndbm.o
bj,-
no_diff.obj,-
parseinfo.obj,patch.obj,rcs.obj,rcscmds.obj,recurse.obj,release.obj,-
remove.obj,repos.obj,root.obj,run.obj,scramble.obj,server.obj,-
status.obj,stack.obj,-
subr.obj,tag.obj,update.obj,version.obj,vers_ts.obj,watch.obj,wrapper.ob
j,-
zlib.obj
$ link/nodeb/exe=cvs.exe
main.obj,cvslib.olb/lib,[-.vms]openvmslib.olb/lib,-
[-.zlib]libz.olb/lib,[-.diff]diff.olb/lib,[-.lib]gnulib.olb/lib
%LINK-W-WRNERS, compilation warnings
in module GETOPT file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GNULIB.OLB;1
%LINK-W-MULDEF, symbol DECC$UTIME multiply defined
in module DECC$SHR_EV56 file
SYS$COMMON:[SYSLIB]DECC$SHR_EV56.EXE;1
%LINK-W-MULDEF, symbol DECC$LINK multiply defined
in module DECC$SHR_EV56 file
SYS$COMMON:[SYSLIB]DECC$SHR_EV56.EXE;1
$ set noverify
Lets test the image.
USERS.PS.TOOLS.CVS.CVS-1_11_18>cvs
:==$TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.SRC]cvs.exe
USERS.PS.TOOLS.CVS.CVS-1_11_18>cvs
Usage: cvs [cvs-options] command [command-options-and-arguments]
where cvs-options are -q, -n, etc.
(specify --help-options for a list of options)
where command is add, admin, etc.
(specify --help-commands for a list of commands
or --help-synonyms for a list of command synonyms)
where command-options-and-arguments depend on the specific command
(specify -H followed by a command name for command-specific help)
Specify --help to receive this message
The Concurrent Versions System (CVS) is a tool for version control.
For CVS updates and additional information, see
the CVS home page at http://www.cvshome.org/ or
Pascal Molli's CVS site at http://www.loria.fr/~molli/cvs-index.html
USERS.PS.TOOLS.CVS.CVS-1_11_18>cvs version
Client: Concurrent Versions System (CVS) 1.11.18 VMS (client)
Server:
Concurrent Versions System (CVS) 1.11.17 (client/server)socket
USERS.PS.TOOLS.CVS.CVS-1_11_18>
Finished?
Almost – The created executable image works but there are several type
incomparability warnings.
Moreover, this image does return a nice error message when accessing
data from the repository.
ISSUE 1.
Example
USERS.PS.TOOLS.CVS>cvs checkout smile
cvs: cannot write to stderr: socket operation on non-socket
USERS.PS.TOOLS.CVS>
USERS.PS.TOOLS.CVS>cvs -t checkout smile
-> main loop with CVSROOT=:pserver:ps@wcudev:/mls6/cvsroot
-> safe_location( where=(null) )
-> Connecting to wcudev(10.60.1.70):2401
cvs: cannot write to stderr: socket operation on non-socket
-> Lock_Cleanup()
USERS.PS.TOOLS.CVS>
Add the link switch /debug and redo the link process. And run the debug
image and you will find that the select statement in the handle_m and
handle_e functions within the client.c source return an error that
stops the process of checking out a repository module.
Workaround:
I replaced both hanle_e and handle_m functions with an earlier versions
this workaround is only bypassing the real problem with the select
statement. I will try to submit more details on this problem in a
separated e-mail.
I agree that following solution is not acceptable nevertheless; this
will make the cvs-1_11_18 client work on VMS.
I did not use the preprocessing statements because this solution is
only temporary.
[...VS-1_11_18.SRC]>diff client.c
************
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.SRC]CLIENT.C;2
3088 /*
3089 FD_ZERO (&wfds);
******
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.SRC]CLIENT.C;1
3088 FD_ZERO (&wfds);
************
************
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.SRC]CLIENT.C;2
3094 */ fwrite (args, len, sizeof (*args), stdout);
3095 putc ('\n', stdout);
******
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.SRC]CLIENT.C;1
3093 fwrite (args, len, sizeof (*args), stdout);
3094 putc ('\n', stdout);
************
************
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.SRC]CLIENT.C;2
3147 /*
3148 FD_ZERO (&wfds);
******
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.SRC]CLIENT.C;1
3146 FD_ZERO (&wfds);
************
************
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.SRC]CLIENT.C;2
3151 *
3152 * If stderr has problems, then adding a call to
******
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.SRC]CLIENT.C;1
3149 /*
3150 * If stderr has problems, then adding a call to
************
************
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.SRC]CLIENT.C;2
3156 *
3157 if (s < 1)
3158 fperrmsg (stdout, 1, errno, "cannot write to stderr");
3159 */
3160 fwrite (args, len, sizeof (*args), stderr);
3161 putc ('\n', stderr);
******
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.SRC]CLIENT.C;1
3154 */
3155 if (s < 1)
3156 fperrmsg (stdout, 1, errno, "cannot write to stderr");
3157 fwrite (args, len, sizeof (*args), stderr);
3158 putc ('\n', stderr);
************
Rebuild using the local [.src]build_src.com script
[...VS-1_11_18.SRC]>@build_src
$ CC :== CC/NOOPT/DEB/STANDARD=VAXC/DEFINE=HAVE_CONFIG_H-
/INCLUDE_DIR=([-],[-.VMS],[-.LIB])/PREFIX=ALL
$ CC add.c
$ CC admin.c
$ CC annotate.c
$ CC buffer.c
$ CC checkin.c
$ CC checkout.c
$ CC classify.c
$ CC client.c
$ CC commit.c
if (!newfile && headtime != -1)
............................^
%CC-I-QUESTCOMPARE1, In this statement, the unsigned expression
"headtime" is being compared with an equality operator to a constant
whose value is negative. This might not be what you intended.
at line number 2197 in file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.SRC]COMMIT.C;1
$ CC create_adm.c
$ CC cvsrc.c
$ CC diff.c
$ CC edit.c
$ CC entries.c
$ CC error.c
$ CC expand_path.c
$ CC fileattr.c
$ CC find_names.c
$ CC hash.c
$ CC history.c
$ CC ignore.c
$ CC import.c
$ CC lock.c
$ CC log.c
$ CC login.c
$ CC logmsg.c
$ CC main.c
$ CC mkmodules.c
$ CC modules.c
$ CC myndbm.c
$ CC no_diff.c
$ CC parseinfo.c
$ CC patch.c
$ CC rcs.c
$ CC/INCLUDE_DIR=([-],[-.VMS],[-.LIB],[-.diff]) rcscmds.c
$ CC recurse.c
$ CC release.c
$ CC remove.c
$ CC repos.c
$ CC root.c
$ CC run.c
$ CC scramble.c
$ CC server.c
$ CC status.c
$ CC stack.c
$ CC subr.c
$ CC tag.c
$ CC update.c
$ CC version.c
$ CC vers_ts.c
$ CC watch.c
$ CC wrapper.c
$ CC/INCLUDE_DIR=([-],[-.VMS],[-.LIB],[-.zlib]) zlib.c
$ LIBRARY/CREATE cvslib.olb
add.obj,admin.obj,annotate.obj,buffer.obj,checkin.obj,-
checkout.obj,-
classify.obj,client.obj,commit.obj,create_adm.obj,cvsrc.obj,-
diff.obj,edit.obj,entries.obj,error.obj,expand_path.obj,fileattr.obj,-
find_names.obj,hash.obj,history.obj,ignore.obj,import.obj,-
lock.obj,log.obj,login.obj,logmsg.obj,mkmodules.obj,modules.obj,myndbm.o
bj,-
no_diff.obj,-
parseinfo.obj,patch.obj,rcs.obj,rcscmds.obj,recurse.obj,release.obj,-
remove.obj,repos.obj,root.obj,run.obj,scramble.obj,server.obj,-
status.obj,stack.obj,-
subr.obj,tag.obj,update.obj,version.obj,vers_ts.obj,watch.obj,wrapper.ob
j,-
zlib.obj
$ link/nodeb/exe=cvs.exe
main.obj,cvslib.olb/lib,[-.vms]openvmslib.olb/lib,-
[-.zlib]libz.olb/lib,[-.diff]diff.olb/lib,[-.lib]gnulib.olb/lib
%LINK-W-WRNERS, compilation warnings
in module GETOPT file
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GNULIB.OLB;1
%LINK-W-MULDEF, symbol DECC$UTIME multiply defined
in module DECC$SHR_EV56 file
SYS$COMMON:[SYSLIB]DECC$SHR_EV56.EXE;1
%LINK-W-MULDEF, symbol DECC$LINK multiply defined
in module DECC$SHR_EV56 file
SYS$COMMON:[SYSLIB]DECC$SHR_EV56.EXE;1
$ set noverify
[...VS-1_11_18.SRC]>
Lets repeat the checkout instruction
USERS.PS.TOOLS.CVS>cvs checkout smile
-f checkout: Updating smile
U smile/bsearch.c
U smile/faces.in
U smile/getopt.c
U smile/ltoa.c
U smile/make_vms.com
U smile/makefile
U smile/mkfaces.c
U smile/other
U smile/patchlevel.h
U smile/readme
U smile/smiley.1
U smile/smiley.c
U smile/smiley.h
U smile/smiley.hlp
USERS.PS.TOOLS.CVS>
Remaining Items:
-1- solve the compiler warnings
-2- analyze the ISSUE 1 problem
Problem 11 the incompatible type warnings.
Workaround:
Most of these problems have to do with the time_t type
It’s possible to cast the variables to either a long or int.
In [.src]commit.c I only added (long)
[...VS-1_11_18.SRC]>diff commit.c
************
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.SRC]COMMIT.C;2
2197 if (!newfile && (long)headtime != -1)
2198 {
******
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.SRC]COMMIT.C;1
2197 if (!newfile && headtime != -1)
2198 {
************
and in [.lib]getdate.c
[...VS-1_11_18.LIB]>diff getdate.c
************
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GETDATE.C;4
590 if ( (long)Minutes < 0 || (long)Minutes > 59 ||
(long)Seconds < 0 || (long)Seconds > 59)
591 return -1;
******
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GETDATE.C;1
590 if (Minutes < 0 || Minutes > 59 || Seconds < 0 || Seconds >
59)
591 return -1;
************
************
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GETDATE.C;4
594 if ((long)Hours < 0 || (long)Hours > 23)
595 return -1;
******
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GETDATE.C;1
594 if (Hours < 0 || Hours > 23)
595 return -1;
************
************
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GETDATE.C;4
598 if ((long)Hours < 1 || (long)Hours > 12)
599 return -1;
600 if ((long)Hours == 12)
601 Hours = 0;
******
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GETDATE.C;1
598 if (Hours < 1 || Hours > 12)
599 return -1;
600 if (Hours == 12)
601 Hours = 0;
************
************
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GETDATE.C;4
604 if ((long)Hours < 1 || (long)Hours > 12)
605 return -1;
606 if ((long)Hours == 12)
607 Hours = 0;
******
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GETDATE.C;1
604 if (Hours < 1 || Hours > 12)
605 return -1;
606 if (Hours == 12)
607 Hours = 0;
************
************
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GETDATE.C;4
638 if ((long)Year < 0)
639 Year = -Year;
640 if ((long)Year < 69)
641 Year += 2000;
642 else if ((long)Year < 100)
643 Year += 1900;
******
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GETDATE.C;1
638 if (Year < 0)
639 Year = -Year;
640 if (Year < 69)
641 Year += 2000;
642 else if (Year < 100)
643 Year += 1900;
************
************
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GETDATE.C;4
648 if ((long)Year < EPOCH || (long)Year > 2038
649 || (long)Month < 1 || (long)Month > 12
650 /* Lint fluff: "conversion from long may lose accuracy" */
******
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GETDATE.C;1
648 if (Year < EPOCH || Year > 2038
649 || Month < 1 || Month > 12
650 /* Lint fluff: "conversion from long may lose accuracy" */
************
************
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GETDATE.C;4
666 if ( (long)(tod = ToSeconds(Hours, Minutes, Seconds,
Meridian)) < 0)
667 return -1;
******
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GETDATE.C;1
666 if ((tod = ToSeconds(Hours, Minutes, Seconds, Meridian)) <
0)
667 return -1;
************
************
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GETDATE.C;4
702 now += 7 * SECSPERDAY * ((long)DayOrdinal <= 0 ? DayOrdinal
: DayOrdinal - 1);
703 return DSTcorrect(Start, now);
******
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GETDATE.C;1
702 now += 7 * SECSPERDAY * (DayOrdinal <= 0 ? DayOrdinal :
DayOrdinal - 1);
703 return DSTcorrect(Start, now);
************
************
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GETDATE.C;4
986 if ( (long)Start < 0)
987 return -1;
******
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GETDATE.C;1
986 if (Start < 0)
987 return -1;
************
************
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GETDATE.C;4
1005 return (long)Start == -1 ? 0 : Start;
1006 }
******
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CVS-1_11_18.LIB]GETDATE.C;1
1005 return Start == -1 ? 0 : Start;
1006 }
************
A last total rebuild and its finished. The only remaining items are two
issues.
ISSUE 1 the changes in client.c
ISSUE 2 not yet discussed it’s a problem that occurred since cvs-1_9
its limited to VMS and has to do with file renaming Entries.Backup to
Entries.; when checking out a large number of files/directories and
subdirectories. Workaround: Perform a cvs update after encountering
this error. More details may follow in a separated mail the bug-dev
list.
Piet Schuermans
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Complete build session of CVS-1_11_18 VMS client,
Piet Schuermans <=