[an error occurred while processing this directive]

HP OpenVMS Systems

ask the wizard
Content starts here

MatLib MathWorks SHRIDMISMAT error?

» close window

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.
 
 

answer written or last revised on ( 23-MAY-2000 )

» close window