| Title: | DECmcc user notes file. Does not replace IPMT. |
| Notice: | Use IPMT for problems. Newsletter location in note 6187 |
| Moderator: | TAEC::BEROUD |
| Created: | Mon Aug 21 1989 |
| Last Modified: | Wed Jun 04 1997 |
| Last Successful Update: | Fri Jun 06 1997 |
| Number of topics: | 6497 |
| Total number of notes: | 27359 |
The program I am writing is a system management agent for an entity. I want to link with the MCC shareable image to take advantage of the entity manipulation routines. When I try to use the MCC$DICT routines I get access violation error. I was forward information that I needed the full MCC kernel. I linked with the following .opt file: NAME= MCC$SSC_MAIN UNIVERSAL = MCC$SSC_MAIN GSMATCH = LEQUAL,1,1 COLLECT = CLUSTER1,$$$SSC$SECTION,$CODE COLLECT = CLUSTER2,$CHAR_STRING_CONSTANTS,$DATA mcc$ssc_main.obj sys$share:mcc$kernel_shr.exe/shareable sys$share:ipcshr.exe/shareable sys$share:cmartl.exe/shareable sys$share:vaxcrtl.exe/shareable With the link I generate an shareable image. I install this and try to start it using the following command: MANAGE/ENTERPRISE/PRESENT=MCC$SSC_MAIN I get the following error back: %LIB-E-KEYNOTFOU, key not found in tree %MCC-E-FINDUSYM, Failure finding universal symbol (!AS) in shareable image (!AS) Any ideas on how to fix this would be greatly appreciated. Thank you.
| T.R | Title | User | Personal Name | Date | Lines |
|---|---|---|---|---|---|
| 152.1 | See note 83.3 | TOOK::GUERTIN | Wherever you go, there you are. | Sat Jun 16 1990 10:29 | 1 |
| 152.2 | filename and filename_main | GOSTE::CALLANDER | Wed Jun 20 1990 10:51 | 22 | |
Acutally what you are trying to do can be done.
It looks like you are trying to get around the inavailability of the
callable MCC by making your module a PM. How to do this isn't
documented any where, but since I'v done it before...your problem
looks like your entry point is wrong.
The kernel expects the following of presentation modules.
filename = SOME_NAME.EXE
universal entry point = SOME_NAME_MAIN
One argument is passed in to all PMs this is an integer value. This
value is the hex evaluation of the logical named: SOME_NAME_LOG
My guess is you .EXE and your entry point are the same name, if
this is the case the kernel won't find your entry point.
Now if this wasn't what you were trying to do, then ask again.
jill
| |||||
| 152.3 | Some suggestions | NAC::SCHLENER | Wed Jun 27 1990 09:22 | 23 | |
You want to make sure in your main code module that you use the
#MODULE command to give the coding module a name. It is this name that
you use when you invoke MCC.
Also, MCC attempts to map in the module_name.exe by using LIB$ routines
for finding symbols, etc. These routines expect to find an installed
module_name.exe in sys$share. So one possibility is that you do not
have your .exe installed in the correct location.
Suggestion - name your .c, .exe, and module name as MCC$SCC and use
MCC$SCC_MAIN as your entry point (and as the value for the UNIVERSAL
statement). Install MCC$SCC.EXE into sys$share (typically the
sys$common:[syslib] directory) with the following install command
INSTALL ADD module_name.exe /SHARED/HEADER.
Then issue the MANAGE/ENTERPRISE/PRESENTATION=MCC$SCC command.
Hope this helps.
By the way, are you in the same group as Phil Tamer? I used to be in
correspondance with him concerning detached mcc processes since I used
one to write the DECnet Phase IV event sink.
Cindy
| |||||