Installation guide
• Undefined symbol (a symbol that is not defined before its use)
This message helps you to find references to header-file symbols that
have moved or are no longer available:
cfe: Error: file.c, line 8: ’ENOSYSTEM’ undefined,
reoccurrences will not not be reported
• Multiply defined symbol (a local definition that conflicts with a
header-file definition):
cfe: Warning: file.c:4: Tried to redefine the macro EDEADLK,
this macro keeps the old definition in std/std1 mode,
otherwise the macro is redefined.
• Redeclared function (a local function declaration that conflicts with a
header-file declaration):
cfe: Error: t.c, line 7: redeclaration of ’openlog’; previous
declaration at line 120 in file ’/usr/include/syslog.h’
int openlog(char*, int);
----^
• Mismatched function use and prototype (failure of a function usage to
supply the number of arguments declared by the prototype declaration):
cfe: Error: file.c, line 12: Number of arguments doesn’t
agree with number in declaration
• Incompatible function arguments (an attempt to supply incompatible
arguments to a function) :
cfe: Warning: file.c, line 12: Incompatible pointer type
assignment
Because function declarations or prototypes are not required by the C
language before a function call, the compiler cannot detect misuse of
functions that did not have a preceding prototype declared. You might need
to find differences in these cases by first determining which header files
your application depends on, generating a list of the function declarations
these header files contain, and then using this list of functions to generate
a cross-reference for the needed header files on a DIGITAL UNIX system.
Then you can cross-check the actual declarations for changes in the
function interfaces and modify your source code where necessary. Doing
this may require that you build short shell scripts to help search for the
appropriate definitions in the list of header files. The compiler has features
that might be of some use in these tasks:
• To produce a complete list of pathnames for include files a program
depends on, use the following command on the ULTRIX system:
% cc -M
file_name.c
Be sure to use the same define (−D), undefine (−U), and include (-I)
command directives that you would typically use to compile this
program.
7–4 Migrating Your ULTRIX Application to a DIGITAL UNIX System