[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference hydra::axp-developer

Title:Alpha Developer Support
Notice:[email protected], 800-332-4786
Moderator:HYDRA::SYSTEM
Created:Mon Jun 06 1994
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:3722
Total number of notes:11359

3217.0. "Database Management Technology, Inc." by HYDRA::AXPDEVELOPER (Alpha Developer support) Wed Feb 19 1997 02:49

    Company Name :  Database Management Technology, Inc.
    Contact Name :  Nick Vancas
    Phone        :  (816) 421-3500
    Fax          :  
    Email        :  [email protected]
    Date/Time in :  19-FEB-1997 02:49:29
    Entered by   :  John Wood
    SPE center   :  REO

    Category     :  VMS
    OS Version   :  
    System H/W   :  


    Brief Description of Problem:
    -----------------------------

From:	SMTP%"[email protected]" 18-FEB-1997 16:59:49.99
To:	[email protected]
CC:	
Subj:	POSIX libraries

Return-Path: [email protected]
Received: by asimov.mro.dec.com (UCX V4.1-12, OpenVMS V6.2 VAX);
	Tue, 18 Feb 1997 16:59:48 -0500
Received: from pobox1.pa.dec.com by fluid.mro.dec.com; (5.65v3.2/1.1.8.2/19Nov96-0448PM)
	id AA29921; Tue, 18 Feb 1997 16:59:55 -0500
Received: by pobox1.pa.dec.com; id AA08572; Tue, 18 Feb 97 13:59:56 -0800
Received: from nic.cerf.net by mail2.digital.com (5.65 EXP 4/12/95 for V3.2/1.0/WV)
	id AA14305; Tue, 18 Feb 1997 13:54:51 -0800
Received: from london.dmt.com ([38.219.214.2]) by nic.cerf.net (8.8.5/8.8.8) with SMTP id NAA06394 for <[email protected]>; Tue, 18 Feb 1997 13:54:47 -0800 (PST)
Received: from geneva by london.dmt.com (5.4R3.10/200.1.1.4)
	id AA12723; Tue, 18 Feb 1997 15:54:41 -0600
Received: by geneva.dmt.com (5.x/SMI-SVR4)
	id AA29688; Tue, 18 Feb 1997 15:56:51 -0600
Date: Tue, 18 Feb 1997 15:56:51 -0600
From: [email protected] (Nick Vancas)
Message-Id: <[email protected]>
To: [email protected]
Subject: POSIX libraries
X-Sun-Charset: US-ASCII

I am trying to link several object libraries (I don't have the source) on
AXPVMS 6.1-1H2 and I get several undefined symbols

	DECC$CLOSEDIR
	DECC$OPENDIR
	DECC$TRUNCATE
	...

I presume these are found in the POSIX library which I do not have.  I need
to stay at this version of VMS for a while.  Is there any way I can build
this executable?

Database Management Technology, Inc.
Customer Code: 634913

Thanks,


Nick Vancas
DMT, Inc.
(816) 421-3500
[email protected]
T.RTitleUserPersonal
Name
DateLines
3217.1RDGENG::WOOD_J[email protected]Thu Feb 20 1997 02:47175
Date:	19-FEB-1997 14:17:50.67
From:	DEC:.REO.REOVTX::WOOD_J       "[email protected]"
Subj:	Re. mail to Digital about missing DECC RTL functions
To:	SMTP%"[email protected]"

Nick,

>I am trying to link several object libraries (I don't have the source) on
>AXPVMS 6.1-1H2 and I get several undefined symbols
>
>	DECC$CLOSEDIR
>	DECC$OPENDIR
>	DECC$TRUNCATE
>	...
>
>I presume these are found in the POSIX library which I do not have.  I need
>to stay at this version of VMS for a while.  Is there any way I can build
>this executable?

I doubt that this is a POSIX problem. Rather, I suspect that the sources
were compiled on an OpenVMS v7.0 (or greater) system. This is because
OpenVMS v7 added support for many new functions in the C RTL. From DEC C v5.2
onwards, the compiler checks which version of OpenVMS it is being run on,
and configures itself accordingly. See the extract from the DEC C release
notes below.

If you want to compile your sources on say OpenVMS v7, but be able to generate
an object file which will link on OpenVMS v6.1, then you need to follow the
instructions in the DEC C Run-Time Library reference manual, section 1.5.
Essentially this means redefining DECC$SHR logical and compiling with
__VMS_VER redefined. This probably won't help you much actually, because
in your scenario the program is calling routines which aren't in the old
DEC C run-time library. (It would be useful in so far as the distributor
of the object modules should get a warning from the compiler about the
routines which don't exist on OpenVMS v6.1 being undefined; and hence
the distributor would have to provide his own versions of those routines).

Thus as I see it the options are:

1)  you upgrade to OpenVMS v7 (v6.1 is now rather old)

2)  you or the distributor write your own versions of the missing run-time
    library routines.

I'm sorry there is no easy answer.

Regards,
  John Wood
  Digital Equipment Co

                           ----------------------

From DEC C Release Notes:


        5.4 Changes in DEC C RTL Header Files for V5.2 of DEC C/C++

              The release notes in this section describe changes to the
              header files shipped with DEC C V5.2 for OpenVMS Systems.
              These header files contain enhancements and changes made to
              the DEC C Run-Time Library for OpenVMS Systems.

              New function prototypes and structure definitions which
              define new functionality in the DEC C Run-Time Library
              correspond to new functionality added to the DEC C Run-Time
              Library which is shipped with OpenVMS V7.0.

              o  New Header Files Added

        18
                 A total of 20 new header files were added to the DEC C
                 RTL suite of header files. Header files were added for
                 implementation of Amendment 1 of the ISO C standard,
                 compatibility with UNIX systems, and for introduction of
                 new functions. Table 1 lists those headers added for DEC
                 C V5.2.



              Table_1_New_DEC_C_V5.2_Header_Files________________________

              Header
              File________Description____________________________________

              <dirent.h>  Directory Manipulation Functions

              <ftw.h>     File Tree Walking

              <if.h>      Socket Packet Transport Mechanism

              <if_arp.h>  Socket Address Resolution Protocol

              <ioctl.h>   I/O Controls for Special Files

              <iso646.h>  Alternative Spelling for Language Tokens

              <libgen.h>  Filename Manipulation

              <memory.h>  String Handling

              <mman.h>    Mapping Pages of Memory

              <nameser.h> Maximum Domain Name Size

              <pwd.h>     Password File Access Functions

              <resolv.h>  Resolver Configuration File

              <resource.h>Declarations for Resource Operations

              <strings.h> String Handling

              <timers.h>  Clock and Timer Functions

              <times.h>   File Access and Modifications Times Structure

              <tzfile.h>  Time Zone Information

              <utsname.h> User Information

              <wait.h>    Declarations for Process Waiting

              <wctype.h>__Wide_Character_Classification_and_Mapping______

              o  New Functions Defined In Header Files

                                                                       19

 







                 OpenVMS V7.0 introduces many new DEC C RTL functions
                 which have been added to fulfill the request of
                 application developers and to implement those functions
                 defined by ISO C Amendment 1. These functions have been
                 implemented on both OpenVMS Alpha V7.0 and OpenVMS VAX
                 V7.0. These functions are documented in the DEC C Run-
                 time Library Reference Manual for OpenVMS Systems.

                 basename()      herror()        seed48()       sysconf()
                 bcmp()          hostalias()     seekdir()      telldir()
                 bcopy()         hstrerror()     setenv()       tempnam()
                 btowc()         index()         sethostent()   towctrans()
                 bzero()         initstate()     setitimer()    truncate()
                 closedir()      ioctl()         setnetent()    tzset()
                 confstr()       jrand48()       setprotoent()  ualarm()
                 dirname()       lcong48()       setservent()   uname()
                 drand48()       lrand48()       setstate()     unlink()
                 endhostent()    mbrlen()        sigaction()    unsetenv()
                 endnetent()     mbrtowc()       sigaddset()    usleep()
                 endprotoent()   mbsinit()       sigdelset()    vfwprintf()
                 endservent()    mbsrtowcs()     sigemptyset()  vswprintf()
                 erand48()       memccpy()       sigfillset()   vwprintf()
                 ffs()           mkstemp()       sigismember()  wait3()
                 fpathconf()     mmap()          siglongjmp()   wait4()
                 ftruncate()     mprotect()      sigmask()      waitpid()
                 ftw()           mrand48()       sigpending()   wcrtomb()
                 fwide()         msync()         sigprocmask()  wcsrtombs()
                 fwprintf()      munmap()        sigsetjmp()    wcsstr()
                 fwscanf()       nrand48()       sigsuspend()   wctob()
                 getclock()      opendir()       socket_fd()    wctrans()
                 getdtablesize() pathconf()      srand48()      wmemchr()
                 gethostent()    pclose()        srandom()      wmemcmp()
                 getitimer()     popen()         strcasecmp()   wmemcpy()
                 getlogin()      putenv()        strdup()       wmemmove()
                 getpagesize()   random()        strncasecmp()  wmemset()
                 getpwnam()      readdir()       strsep()       wprintf()
                 getpwuid()      rewinddir()     swab()         wscanf()
                 getservent()    rindex()        swprintf()
                 gettimeofday()  rmdir()         swscanf()