HP OpenVMS Systemsask the wizard |
The Question is: Just installed version 6.5 of C on a Alpha Server ES47 and when trying to compile a C program I am getting the following error message: GENC - C compile for UOQCIS char *round(char *t,char *s,int decs) .......^ %CC-E-NOTCOMPAT, In this declaration, the type of "round" is not compatible with the type of a previous declaration of "round" at line number 756 in file SYS$CO MMON:[SYSLIB]DECC$RTLDEF.TLB;4. at line number 407 in file BAN_HOME:[GENERAL.C]GUASTDF.H;8 Could you tell me what is going on. I am a systems person not a programmer. This looks like something wrong in the program to me. Or is it a systems problem. Whatever the case please let me know what I need to do to resolve the problem. Here is the i nstall log from the C install: The following products will be processed: CC V6.5 Beginning installation of CC V6.5 at 15:23 %VMSINSTAL-I-RESTORE, Restoring product save set A ... %VMSINSTAL-I-RELMOVED, Product's release notes have been moved to SYS$HELP. Compaq C Version 6.5 for OpenVMS Alpha Systems Copyright 2002 Compaq Information Technologies Group, L.P. Compaq and the Compaq logo are trademarks of Compaq Information Technologies Group, L.P. in the U.S. and/or other countries. Confidential computer software. Valid license from Compaq required for possession, use or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard commercial license. A C V6.5-001 compiler was found on your system. Type YES to keep this compiler on your system either as the default system compiler or as an alternate compiler. Type NO to supersede C V6.5-001. * Should the existing V6.5-001 system compiler be preserved [NO]: no Product: C Producer: DEC Version: 6.5 Release Date: 01-NOV-2001 * Does this product have an authorization key registered and loaded? yes This kit contains an Installation Verification Procedure (IVP) to verify the correct installation of Compaq C. The IVP will be left in: SYS$TEST:DECC$IVP.COM After the installation is complete, you can invoke the command file at any time to verify that Compaq C is installed and working correctly. * Do you want to run the IVP after the installation [YES]? HTML, postscript and text versions of the Compaq C Users Guide, Language Reference Manual and RTL Reference Manual may be optionally installed into SYS$COMMON:[SYSHLP.CC$ALPHA_HELP_065]. These documents consume approximately 60000 blocks. * Should these manuals be provided [NO]: yes This kit contains a file summarizing the new features, changes, restrictions, and compatibility issues in this release of Compaq C. This file is named CC065.RELEASE_NOTES and has been placed in SYS$HELP:. This file contains information valuable to Compaq C programmers. Please inform your user community of this file's existence. * Do you want to purge files replaced by this installation [YES]? You have answered all of the questions for this installation. The installation will now execute in 5 to 15 minutes without further intervention, depending on your configuration, installation media, and so forth. The existing version of ALPHA$LIBRARY:DECC$RTLDEF.TLB has a later creation date than the one on this installation kit. Installation of the kit version will not be performed. The CXXDEMANGLE utility appears on this system. Installation of the kit version will not be performed. %VMSINSTAL-I-RESTORE, Restoring product save set B ... Your OpenVMS system will now be modified to include the following new and modified files: [SYSEXE]DECC$COMPILER.EXE [new] [SYSMSG]DECC$COMPILER_MSG.EXE [new] [SYSLIB]DCLTABLES.EXE [modified] [SYSHLP]HELPLIB.HLB [modified] [SYSHLP]CC$HELP*.HTML [new] [SYSHLP.CC$ALPHA_HELP_065] [new] [SYSHLP]CC065.RELEASE_NOTES [new] [SYSHLP]CC065_RELEASE_NOTES.PS [new] [SYSLIB]DECC$CRTL.OLB [new] [SYSLIB]DECC$CRTL.EXE [new] [SYSLIB]DECC$CRTL.README [new] [SYS$STARTUP]DECC$STARTUP.COM [modified] [SYSEXE]DECC$SET_VERSION.COM [new] [SYSEXE]DECC$SHOW_VERSIONS.COM [new] [SYSTEST]DECC$IVP.COM [new] The file SYS$STARTUP:DECC$STARTUP.COM contains commands to be executed at system startup to allow for the best compilation performance. You may want to invoke this command file from your system's site-specific start up file. This command file does not have to be invoked for correct operation of Compaq C. %VMSINSTAL-I-MOVEFILES, Files will now be moved to their target directories... Copyright 2002 Compaq Information Technologies Group, L.P. Compaq and the Compaq logo are trademarks of Compaq Information Technologies Group, L.P. in the U.S. and/or other countries. Confidential computer software. Valid license from Compaq required for possession, use or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard commercial license. Beginning COMPAQ C V6.5 Installation Verification Procedure Image Check Complete License Check Complete Version Check Complete Message Check Complete Header Check Complete Run Time Library Check Complete COMPAQ C V6.5 Installation Verification Procedure Successful Installation of CC V6.5 completed at 15:24 Adding history entry in VMI$ROOT:[SYSUPD]VMSINSTAL.HISTORY Creating installation data file: VMI$ROOT:[SYSUPD]CC065.VMI_DATA VMSINSTAL procedure done at 15:24 Please let me now. Obligation ID is SMT18887. Thanks in advance. The Answer is : The compiler has flagged a coding error within the application, and specifically a case where the specified declaration does not match a previous declaration of the same name. (Newer versions of C are better at detecting and reporting latent errors.) In this case, the programming error involves the errant use of a function call name (round) that is reserved as part of the C99 standard. Without details of the code and the colliding definition -- probably the declaration of round() within math.h -- the OpenVMS Wizard cannot provide a more specific response. If this is round(), you can rename all existing calls to round() to another name -- specifically all calls not intending to call the C99 version of round(), obviously. Other workarounds are certainly possible, but the OpenVMS Wizard would not generally recommend them. (This particular name collision is also why the OpenVMS Wizard recommends using symbol prefixes on all code, as described in the Programming Concepts and the Modular Programming manuals. The prefixes reduce the likelyhood of naming collisions.) You or your designee will need to resolve this C coding error. To enable more extensive diagnostic messages, use the C compiler qualifier /WARN=VERBOSE. For details on the C compiler and the C programming language, please review the C manual. For assistance in debugging or recoding applications, please contact HP professional services organization.
|