![]() |
![]() 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.
|