HP OpenVMS Systemsask the wizard |
The Question is:
Hi,
We recently upgraded from VMS 6.2 to 7.2-1. Since the
upgrade we've been unable to run parts of an application
we use extensively - Matlab by the MathWorks. The problem
involves dynamically linked routines, or Mex files, which now
fail with a SHRIDMISMAT. Here is part of the message:
>> imfinfo('test.jpg')
%LIB-E-ACTIMAGE, error activating image
DKB200:[MATLAB.TOOLBOX.][MATLAB.IOFUN.PRIVATE]
IMJPG.MEXAI;2
-SYSTEM-F-SHRIDMISMAT, ident mismatch with shareable image
%TRACE-E-TRACEBACK, symbolic stack dump follows
... snip ...
Unable to load MEX-file toolbox:[matlab.iofun.private]imjpg.mexai and get
MEX
entry point, VMS error code 8380.
A search of the web indicates that this mismatch usually
occurs when a program is linked under a newer version of
VMS than is currently running. Here, Matlab was built in
VMS 6.2 but no longer works properly on 7.2.
Is there any way to make this work on newer version of VMS,
short of relinking. The MathWorks support of there VMS
product is not as strong as it once was - their suggestion
was to check with Compaq. I've tried using logicals to point
to the old VMS6.2 libraries, but there was no change in the
faulures. Matlab is linked against the following libraries which
I tried to create logicals for:
$define decc$shr k0:[vms062]decc$shr.exe
$define cma$tis_shr k0:[vms062]cma$tis_shr.exe
$define decw$xmlibshr12 k0:[vms062]decw$xmlibshr12.exe
$define decw$xtlibshrr5 k0:[vms062]decw$xtlibshrr5.exe
$define decw$xlibshr k0:[vms062]decw$xlibshr.exe
$define edtshr k0:[vms062]edtshr.exe
$define librtl k0:[vms062]librtl.exe
$define dpml$shr k0:[vms062]dpml$shr.exe
$define libots k0:[vms062]libots.exe
$defin sys$public_vectors k0:[vms062]sys$public_vectors.exe
Any help would be appreciated.
Jay Harris
jharris@aoml.noaa.gov
The Answer is :
The code appears to be performing a lib$find_image_symbol
call, attempting to activate the (oddly-named) shareable
image:
DKB200:[MATLAB.TOOLBOX.][MATLAB.IOFUN.PRIVATE]IMJPG.MEXAI;2
It is quite possible to create a version-dependent shareable
image, and it is equally possible to link against and lock in
a specific shareable image version -- though neither approach
is typically recommended, of course. Errant linking is the
most common problem.
Cookbook Information on Shareable Images is included here in
the Ask the Wizard website. This cookbook document may be of
interest to the MathWorks support folks looking into this
problem.
If the image involved is not IMJPG.MEXAI, the undocumented and
unsupported command "SET WATCH/CLASS=ALL FILE" may point you
(and MathWorks support) at the specific image that is failing.
(This command requires CMEXEC or CMKRNL privilege. Use the
command "SET WATCH/CLASS=NONE FILE" to disable the display.
See topics 1843 and 2536 for additional SET WATCH information.)
This command will cause the file system processor code to display
the various image(s) as they are activated.
You can also use the ANALYZE/IMAGE command to display the
constituent shareable images referenced by any specific image.
Remember to look for any logical-name based shareable image
redirections that might be in place, and also for any installed
images that might be in use.
The resolution of this generally involves the assistance of the
organization supporting the tool -- MathWorks, in this case.
MathWorks can then work with Compaq -- either via the Compaq
Customer Support Center or via the (free) Compaq Solutions
Alliance (CSA) program:
http://www.compaq.com/csa/
to resolve this.
|