T.R | Title | User | Personal Name | Date | Lines |
---|
5232.1 | MIBcompiling problem fixed by myself | FRUST::LUKAS | Unix starts with an `L' | Tue Feb 18 1997 05:08 | 187 |
| Hello,
I have fixed one of the problems by myself and so I do answer to myself.
MIBcompiling of the Chess-MIB example
=====================================
1. The UCX/eSNMP chess example files in SYS$COMMON:[SYSHLP.EXAMPLES.UCX.SNMP]
are incomplete !!!
There is one file missing named RFC1442.MY;1
I have got it from the chess-MIB example files under Digital UNIX 4.0 and
copied it to SYS$COMMON:[SYSHLP.EXAMPLES.UCX.SNMP]
The file RFC1442.MY;1 contains the OID-definitions which are required
by CHESS_MIB.MY;1.
2. Next I have done the following command:
mibcomp RFC1442.MY;1,CHESS_MIB.MY;1 chess
... and as a result 11 objects written to chess_tbl.c and chess_tbl.h
PS: The eSNMP/Digital UNIX command sequence "mosy, snmpi" is equivalent to
the eSNMP/UCX "MIBCOMP" command.
... and now I am hardly trying to fix the other problem to get the chess-MIB
subagent built.
For those of you who do not have access to Digital UNIX I have included the
RFC1442.MY in this reply.
--------------------- cut here ---------------------------------------------
SNMPv2-SMI DEFINITIONS ::= BEGIN -- from RFC1442
-- the path to the root
internet OBJECT IDENTIFIER ::= { iso 3 6 1 }
directory OBJECT IDENTIFIER ::= { internet 1 }
mgmt OBJECT IDENTIFIER ::= { internet 2 }
experimental OBJECT IDENTIFIER ::= { internet 3 }
private OBJECT IDENTIFIER ::= { internet 4 }
enterprises OBJECT IDENTIFIER ::= { private 1 }
security OBJECT IDENTIFIER ::= { internet 5 }
snmpV2 OBJECT IDENTIFIER ::= { internet 6 }
-- transport domains
snmpDomains OBJECT IDENTIFIER ::= { snmpV2 1 }
-- transport proxies
snmpProxys OBJECT IDENTIFIER ::= { snmpV2 2 }
-- module identities
snmpModules OBJECT IDENTIFIER ::= { snmpV2 3 }
--NOTE, The macros have been deleted...
-- names of objects
ObjectName ::=
OBJECT IDENTIFIER
-- syntax of objects
ObjectSyntax ::=
CHOICE {
simple
SimpleSyntax,
-- note that SEQUENCEs for conceptual tables and
-- rows are not mentioned here...
application-wide
ApplicationSyntax
}
-- built-in ASN.1 types
SimpleSyntax ::=
CHOICE {
-- INTEGERs with a more restrictive range
-- may also be used
integer-value
INTEGER (-2147483648..2147483647),
string-value
OCTET STRING,
objectID-value
OBJECT IDENTIFIER,
-- only the enumerated form is allowed
bit-value
BIT STRING
}
-- application-wide types
ApplicationSyntax ::=
CHOICE {
ipAddress-value
IpAddress,
counter-value
Counter32,
gauge-value
Gauge32,
timeticks-value
TimeTicks,
arbitrary-value
Opaque,
nsapAddress-value
NsapAddress,
big-counter-value
Counter64,
unsigned-integer-value
UInteger32
}
-- in network-byte order
-- (this is a tagged type for historical reasons)
IpAddress ::=
[APPLICATION 0]
IMPLICIT OCTET STRING (SIZE (4))
-- this wraps
Counter32 ::=
[APPLICATION 1]
IMPLICIT INTEGER (0..4294967295)
-- this doesn't wrap
Gauge32 ::=
[APPLICATION 2]
IMPLICIT INTEGER (0..4294967295)
-- hundredths of seconds since an epoch
TimeTicks ::=
[APPLICATION 3]
IMPLICIT INTEGER (0..4294967295)
-- for backward-compatibility only
Opaque ::=
[APPLICATION 4]
IMPLICIT OCTET STRING
-- for OSI NSAP addresses
-- (this is a tagged type for historical reasons)
NsapAddress ::=
[APPLICATION 5]
IMPLICIT OCTET STRING (SIZE (1 | 4..21))
-- for counters that wrap in less than one hour with only 32 bits
Counter64 ::=
[APPLICATION 6]
IMPLICIT INTEGER (0..18446744073709551615)
-- an unsigned 32-bit quantity
UInteger32 ::=
[APPLICATION 7]
IMPLICIT INTEGER (0..4294967295)
-- indistinguishable from INTEGER, but never needs more than
-- 32-bits for a two's complement representation
Integer32 ::=
[UNIVERSAL 2]
IMPLICIT INTEGER (-2147483648..2147483647)
END
---------------------- cut here ---------------------------------------------
|
5232.2 | one problem still remaining | FRUST::LUKAS | Unix starts with an `L' | Wed Feb 19 1997 05:29 | 32 |
| Hello,
... and now I have solved nearly all problems around building the chess-MIB
example subagent except one.
To compile CHESS_METHOD.C;1, CHESS_MIB.C;1 and CHESS_TBL.C;3 you have to use
the DEC C compiler switch /DEFINE=OPENVMS.
With the first two files I've got 'macro redefinition' warnings and
'implicitly declared function' messages, but they get compiled in two .OBJ
files.
I don't know why I get these 'implicitly declared function' messages ?
Even if I put in a '#include <strings.h>' at the beginning of the source files,
I get the message that the identifier 'strlen' is implicitly declared as a
function.
So finally I have got the three object files from the chess example and
now I have tried to link these with the supplied options file
'CHESS_SUBAGENT.OPT'.
The Linker prints out the messages that there are 2 undefined symbols:
SELECT and SLEEP.
So the one remaining problem is: What is the additional object library or
sharable image I have to add to the linker options ?
I am still looking for help.
regards,
Dieter
|
5232.3 | all problems fixed now | FRUST::LUKAS | Unix starts with an `L' | Thu Feb 20 1997 02:27 | 31 |
| Hello again,
for those who are interested in building the eSNMP chess-MIB example
subagent all problems are finally fixed now.
To solve the last one (undefined symbols: select, sleep) I had to
use the compiler switch '/PREFIX=ALL' to define DECC$SELECT() and DECC$SLEEP()
instead of select() and sleep().
To summarize all the fixed problems in building the chess-MIB example
subagent I have written a DCL command procedure BUILD.COM which should play the
role of the missing UNIX makefile.
By invoking BUILD.COM everything is done for you and you should get the
final CHESS_SUBAGENT.EXE image file which runs without any problem.
regards,
Dieter Lukas
------------ cut here --------------------------------------------------------
$!
$! BUILD.COM
$!
$ MIBCOMP RFC1442.MY,CHESS_MIB.MY CHESS /PRINT
$ CC/INCLUDE=UCX$SNMP/PREFIX=ALL/DEFINE=OPENVMS CHESS_METHOD.C
$ CC/INCLUDE=UCX$SNMP/PREFIX=ALL/DEFINE=OPENVMS CHESS_MIB.C
$ CC/INCLUDE=UCX$SNMP/PREFIX=ALL/DEFINE=OPENVMS CHESS_TBL.C
$ LINK CHESS_SUBAGENT.OPT/OPTIONS
------------ cut here --------------------------------------------------------
|
5232.4 | | UCXAXP::GEMIGNANI | | Thu Feb 20 1997 17:22 | 4 |
|
Thanks for posting your summary here.
-John
|
5232.5 | Could you QAR these? | THEBAY::WIEGLEB | Voracious schools of lottery girls | Mon Mar 03 1997 20:47 | 6 |
| Could you possibly QAR the issues involving missing/erroneous files so
that it can get fixed in the product?
Thanks,
- Dave
|
5232.6 | Please QAR by yourself | FRUST::LUKAS | Unix starts with an `L' | Wed Mar 05 1997 04:52 | 31 |
| RE .5:
I have lost a lot time during the simple tasks of building the example
chess-mib subagent and configuring eSNMP to get this subagent working
properly due to the fact of missing eSNMP configuration/programming/trouble-
shooting documentation and Release Notes. The provided documentation
"eSNMP Programming and Reference" mainly describes MIB-II objects and the
eSNMP API. Nothing about eSNMP configuration and eSNMP troubleshooting and
NO description about building the example chess-mib subagent.
To use eSNMP/UCX as a SNMP (sub)agent developers toolkit, it is essential to
provide a well documented and well functioning example eSNMP subagent, because
it is the base of developing own private MIB subagents.
As in the current state of eSNMP/UCX V4.1 (missing documentation and missing
distribution files) I would NOT recommend to sell UCX/eSNMP as a
SNMP (sub)agent development toolkit to our customers.
In my opinion the eSNMP part of UCX is in a pre-IFT state.
So, please take a look at topics 5232.*, 5241.*, 5290.* of this notes conference
and topic 2094.* of the DECC notes conference.
Here you will find all the issues concerning problems during
my eSNMP evaluation and the workarounds I have found out by myself.
Please use this as an input for your QAR-System and do the QAR by yourself.
regards,
Dieter Lukas
Technology Consultant
Digital Frankfurt/Germany
|