[an error occurred while processing this directive]

HP OpenVMS Systems

Ask the Wizard
» 

HP OpenVMS Systems

OpenVMS information

» What's new on our site
» Upcoming events
» Configuration and buying assistance
» Send us your comments

HP OpenVMS systems

» OpenVMS software
» Supported Servers
» OpenVMS virtualization
» OpenVMS solutions and partners
» OpenVMS success stories
» OpenVMS service and support
» OpenVMS resources and information
» OpenVMS documentation
» Education and training

Quick Links

» Non-javascript page
» Ask the Wizard
» OpenVMS FAQ

Test Drive OpenVMS

» OpenVMS I64 test drive
» Java test drive

Other information resources available to you include:

» OpenVMS freeware
» ECO kits, software and hardware support, prior version support
» Alpha SRM, ARC, and AlphaBIOS firmware updates
» ENCOMPASS - HP user group
» OpenVMS software downloads, OpenVMS freeware CD-ROM
» OpenVMS firmware locations
» DECconnect passive adaptor charts
» Cables reference guide
» MicroVAX console commands
» OpenVMS student research

Select a topic below to see Questions Frequently Asked by partners

» Using the online documentation library(installing BNU from the asap SDK)
» Global sections(how to create and use.)
» xx$CREATE_BUFOBJ system service(usage)
» Ethernet address(methods of determination)
» Shareable images(cookbook approach to creating one)
» Sharing data/code at absolute addresses(a guide with examples)
» Determining the Alpha microprocessor
» Using GETSYI to get hardware status

Evolving business value

» Business Systems Evolution
» AlphaServer systems transition planning
» Alpha RetainTrust program

Related links

» HP Integrity servers
» HP Alpha systems
» HP storage
» HP software
» HP products and services
» HP solutions
» HP support
disaster proof
HP Integrity server animation
HP Integrity server animation
Content starts here

Ask the Wizard Questions

c code problem

The Question is:

O' exalted wizard,

I am trying to compile http://www.partner.digital.com/www-swdev/files/OPENVMS/examples/ether/ether.c
on my system for the purpose of licensing our software
based on ethernet hardware address.  I get the following
messages during the compile:

$ cc ether.c

#include 
.^
%CC-F-INCLUDEOPEN, An error occurred while attempting to open the include file "
": Key not found.
at line number 75 in file DKA200:[STK.V210]ETHER.C;1

#include 
.^
%CC-E-NOOBJ, Object file deleted.
at line number 75 in file DKA200:[STK.V210]ETHER.C;1


What am I missing?

Thanks.


The Answer is:


>#include 
>.^
>%CC-E-NOOBJ, Object file deleted.
>at line number 75 in file DKA200:[STK.V210]ETHER.C;1
>
>What am I missing?

      Looks like you're missing NMADEF.H. Not all system symbol definitions
    are made availble by default, I guess NMADEF is considered a bit too
    obscure for inclusion in the standard libraries. You can find it as a
    MACRO32 module called $NMADEF in SYS$SHARE:LIB.MLB. Since it only contains
    constant definitions, it's  quite trivial to convert into a form digestable
    by C:

    $ LIBRARY/EXTRACT=$NMADEF/OUTPUT=NMADEF.H SYS$SHARE:LIB/MACRO

    Now edit NMADEF.H removing the top lines:

            .MACRO  $NMADEF,$GBL
            $DEFINI NMA,$GBL

    and bottom lines:
            $DEFEND NMA,$GBL,DEF
            .ENDM

    Now do a global substitution of "$EQU " for "#define ". ie, lines which
    look like:

    $EQU    NMA$C_OBJ_NIC   19
    $EQU    NMA$C_FNC_LOA   15
    $EQU    NMA$C_FNC_DUM   16

    become

    #define    NMA$C_OBJ_NIC   19
    #define    NMA$C_FNC_LOA   15
    #define    NMA$C_FNC_DUM   16

    That should do the trick.

NMADEF is provided in SYS$LIB_C.TLB on Alpha, but is not provided on VAX.

The sample program has this in the comments at the beginning of the program.

 Compilation command:
            OpenVMS Alpha:
                $ CC GET_ETHER+SYS$SHARE:SYS$LIB_C/LIBRARY
            OpenVMS VAX:
                $ CC GET_ETHER