Heimdal prototype problem on OpenVMS

John E. Malmberg wb8tyw at qsl.net
Wed Oct 19 16:59:07 GMT 2005


It appears that I can not build the Heimdal library because it is 
providing it's own prototypes for routines also supplied by standard C 
library headers.

Some of the C library routines provided by OpenVMS have optional 
arguments that affect how the routines behave on code that is intended 
only to be built for VMS, so attempts to provide local prototypes for C 
library routines and also use the standard headers can cause compiler 
errors like below.

Also, if you do not use the system supplied headers for the standard C 
library routines, for compatibility with ancient code, the fall back is 
to be what the ancient code would expect, which may not be compatible 
with the Current X/Open or ANSI standards.

Several library routines on OpenVMS have multiple flavors for 
compatibility with either past bugs or changes in the standards, and 
which function is used is based on #ifdef code in the standard headers 
based on either compiler flags or user supplied defines.

Is there some reason that the standard definitions are not being used 
and some way to get set this up to also build on OpenVMS?

-John
wb8tyw at qsl.net
Personal Opinion Only


bash$ make
Compiling lib/registry/regf.idl
Use of uninitialized value in concatenation (.) or string at pidl/idl.yp 
line 363.
:0: Syntax error near '?'
Failed to parse lib/registry/regf.idl at pidl/pidl line 593.
%SYSTEM-F-NOLOGNAM, no logical name match
Subroutine Cwd::fastcwd redefined at /perl_root/lib/Cwd.pm line 848.
Subroutine Cwd::fast_abs_path redefined at /perl_root/lib/Cwd.pm line 848.
Subroutine Cwd::getcwd redefined at /perl_root/lib/Cwd.pm line 848.
Subroutine Cwd::abs_path redefined at /perl_root/lib/Cwd.pm line 848.
Compiling librpc/idl/atsvc.idl
Use of uninitialized value in concatenation (.) or string at pidl/idl.yp 
line 363.
:0: Syntax error near '?'
Failed to parse librpc/idl/atsvc.idl at ./pidl/pidl line 593.
%SYSTEM-F-NOLOGNAM, no logical name match
Compiling heimdal/lib/asn1/main.c with host compiler

char* ROKEN_LIB_FUNCTION getcwd(char *, size_t);
.........................^
%CC-W-MISPARAMCOUNT, In this declaration, the number of parameters 
differs from an earlier declaration of this function.
at line number 279 in file RESD$:[samba4.source.heimdal.lib.roken]roken.h;1

char* ROKEN_LIB_FUNCTION getcwd(char *, size_t);
.........................^
%CC-E-NOTCOMPAT, In this declaration, the type of "getcwd" is not 
compatible with the type of a previous declaration of "getcwd" at line 
number 543 in file SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1.
at line number 279 in file RESD$:[samba4.source.heimdal.lib.roken]roken.h;1

int ROKEN_LIB_FUNCTION lstat(const char *, struct stat *);
.......................^
%CC-W-MISPARAMCOUNT, In this declaration, the number of parameters 
differs from an earlier declaration of this function.
at line number 299 in file RESD$:[samba4.source.heimdal.lib.roken]roken.h;1

int ROKEN_LIB_FUNCTION lstat(const char *, struct stat *);
.......................^
%CC-E-NOTCOMPAT, In this declaration, the type of "lstat" is not 
compatible with the type of a previous declaration of "lstat" at line 
number 518 in file SYS$COMMON:[SYSLIB]DECC$RTLDEF.TLB;1.
at line number 299 in file RESD$:[samba4.source.heimdal.lib.roken]roken.h;1
make: *** [heimdal/lib/asn1/main.ho] Error 2



More information about the samba-technical mailing list