- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - OpenVMS
- >
- Re: Linking problems and support
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Discussions
Discussions
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-25-2013 10:39 PM
09-25-2013 10:39 PM
Hi. I've made an sharable image and linked it with a main programm. During to execution I've got an message 'ident mismatch with shareable image'. The shareable image and the program are compiling and linking one after another with the same GSMATCH=ALLWAYS,0,0. What does it means? Could it be linked with the inappropriate symbol vector?
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-25-2013 11:34 PM
09-25-2013 11:34 PM
Re: Linking problems and support
$ HELP/MESSAGE SHRIDMISMAT
SHRIDMISMAT, ident mismatch with shareable image
Facility: SYSTEM, System Services
Explanation: The activation of a component shareable image failed; the
calling image expected a different (and typically newer)
version of the shareable image than the image that was
found during the failed activation attempt. Specifically,
the global section match (GSMATCH) value associated with the
shareable image was found to be incompatible with the GSMATCH
specification for the version of the shareable image against
which the calling image was originally linked.
This error can occur under the following conditions:
o According to the GSMATCH value established when the
shareable image was built, there has been an incompatible
change to the shareable image.
o An attempt was made to run an image built for a newer
version of the specific shareable image or a newer OpenVMS
version or a newer OpenVMS Engineering Change Order
(ECO) in an environment with an older version of the same
shareable image.
User Action: Relink the executable image against the older version of the
shareable image, or upgrade to the newer shareable image. You
may need to relink the executable code for the mismatched (and
probably older) configuration, possibly specifying a different
GSMATCH. Alternatively, you may have to upgrade the version
or apply a patch to OpenVMS or the application to make the
shareable image match the GSMATCH expectations of the calling
image.
For details about creating and maintaining shareable images
and for information on correctly using the GSMATCH mechanisms
of the OpenVMS Linker utility, refer to the HP OpenVMS Linker
Utility Manual.
OpenVMS Documentation @ http://h71000.www7.hp.com/doc/os84_index.html
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-26-2013 12:38 AM
09-26-2013 12:38 AM
Re: Linking problems and support
Thanks for the answer).
But the question is slightly about the different thing. Let me show some example.
=======================
1.I assemble source files to .obj
cc foo1.c
cc foo2.c
cc ....
2.I link this into shareable immage
link/shareable/map foo1.obj, foo2.obj, ..., lib1.olb/library, lib2.olb/library, SYS$INPUT/OPTIONS
GSMATCH=ALWAYS,0,0
SYMBOL_VECTOR=(proc1=PROCEDURE,-
proc2=PROCEDURE,-
...,-
data1=PSECT,-
data2=PSECT)
3.define the path to the shareable image
define foo TST$USERS:[dir1.dir2...]foo.exe
4.compile the main program
cc main.c
5.linking with the shared image
link main.obj, SYS$INPUT/OPT
GSMATCH=ALWAYS,0,0
foo.exe/shareable
6.run
run main
===========
And I've got the error:
%DCL-W-ACTIMAGE, error activating image FOO
-CLI-E-IMGNAME, image file $1$DGA15245:[TST$USERS.][dir1.dir2,...]FOO.EXE
-SYSTEM-F-SHRIDMISMAT, ident mismatch with shereable image
So I've linked the shareable image and set GSMATCH=ALLWAYS,0,0
And I've linked the main program with GSMATCH=ALLWAYS,0,0
According to h71000.www7.hp.com/doc/83final/4548/4548pro_027.html
"ALWAYS Directs the image activator to unconditionally allow the image to map to the referenced shareable image:regardless of the values of the major and minor ID for the shareable image, as saved at link time in the image file, and the values of the IDs found in the actual shareable image file at activation time.Note that you must still specify values for the major ID and minor ID parameters to satisfy the requirements of the option syntax."
So the image activator should not to consider the major and minor GS numbers at all.
And I really don't know what can cause this error.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-26-2013 12:51 AM - edited 09-26-2013 01:01 AM
09-26-2013 12:51 AM - edited 09-26-2013 01:01 AM
Re: Linking problems and support
Are foo.exe and foo aka $1$DGA15245:[TST$USERS.][dir1.dir2,...]FOO.EXE really the same image?
If they are different: In your link command you use "foo.exe". The linker takes a foo.exe which is in your default directory, it does not take whatever you defined as "foo". Either use "foo" in the linker options or make sure "foo.exe" is identical to what you defined with "foo".
PS: The GSMATCH option when linking the main image has no effect. The linker always writes the GSMATCH info of the referenced shareable images, including your foo.exe, into the main image.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-26-2013 02:07 AM
09-26-2013 02:07 AM
Re: Linking problems and support
To ensure in the identical of images I've done the experiment.
1. Starting new session to discard the "define foo $1$DGA15245:[TST$USERS.][dir1.dir2,...]FOO.EXE" effect.
2. Cleaning the build directory (TST$USERS:[RDEV.TRUNK.VMS.BUILD])
3. Set default [.RDEV.TRUNK.VMS.BUILD]
4.compiling the main program
cc/include=[.-.include] [.-.src]main.c
5.Attempt to link main program
link/debug/map main.obj, SYS$INPUT/OPT
GSMATCH=ALWAYS,0,0
FOO/shareable
As expected the linker can not find foo.exe:
%LINK-F-OPENIN, error opening TST$USERS:[RDEV.TRUNK.VMS.BUILD]FOO.EXE
6. define FOO TST$USERS:[RDEV.TRUNK.VMS.BUILD]FOO
7.Attempt to link main program
link/debug/map main.obj, SYS$INPUT/OPT
GSMATCH=ALWAYS,0,0
FOO/shareable
Result is the same:
As expected the linker can not find foo.exe:
%LINK-F-OPENIN, error opening TST$USERS:[RDEV.TRUNK.VMS.BUILD]FOO.EXE
8.Creating shareable image
cc/include=[.-.include] [.-.src]foo.c
cc/include=[.-.include] [.-.src]foo1.c
cc/include=[.-.include] [.-.src]foo2.c
link/sheareable foo.obj, foo1.obj, foo2.obj, lib1.olb/library, lib2.olb/library, SYS$INPUT/OPT
SYMBOL_VECTOR=(proc1=PROCEDURE,-
proc2=PROCEDURE,-
...,-
data1=DATA)
9.Attempt to link main program
link/debug/map main.obj, SYS$INPUT/OPT
GSMATCH=ALWAYS,0,0
FOO/shareable
Successfully)
10 To ensure that the image is registrated in system
INSTALL
INSTALL> LIST FOO
DISK$IBSLIVE:<TST$USERS.RDEV.TRUNK.VMS.BUILD>.EXE
FOO;2 Open Shared Lnkbl
Is It a magic? 'Dir' command gives only FOO.EXE;1 in the TST$USERS:[RDEV.TRUNK.VMS.BUILD], but not FOO;2
11 Running the program gives the same error
PS. I've tryed to use 'INSTALL ADD FOO/SHAREABLE' to build in it in the system. May be it is the main issue.
So
1. What can I do to be sure that I defenitly rollback the INSTALL ADD afterwards.
2. How to check this.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-26-2013 02:15 AM
09-26-2013 02:15 AM
Re: Linking problems and support
went to read install utility manual.)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-26-2013 02:42 AM
09-26-2013 02:42 AM
SolutionSo the maine trouble was: system has an installed shareable image and an activator takes it instead of mine. I do not know how it can takes unexisting image with the number ;2 instead of ;1.
The solution is:
set PROCESS/PRIVILEGIES-CMKRNL
INSTALL DELETE FOO
I am gratitude for a help, guys. Thanks for everyone. Topic Closed.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-26-2013 03:09 AM
09-26-2013 03:09 AM
Re: Linking problems and support
The Install utility (INSTALL) creates known file entries to improve the performance of executable and shareable images, especially those that run frequently, run concurrently with several processes, or allow images to run in a
privileged context.
The Install REPLACE command updates a known file to the latest, or to a specified version found in the specified directory, or in another directory if the file-spec parameter uses a search list. If you specify no qualifiers, the new image retains the same attributes as the old one. Requires the CMKRNL privilege. Also requires the SYSGBL privilege to create
system global sections and the PRMGBL privilege to create permanent global sections.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-26-2013 03:14 AM
09-26-2013 03:14 AM
Re: Linking problems and support
If you want the image activator to use your version of foo instead of the installed one, define the logical foo pointing to the image file name plus version, like: define FOO TST$USERS:[RDEV.TRUNK.VMS.BUILD]FOO.EXE;
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-26-2013 03:25 AM
09-26-2013 03:25 AM
Re: Linking problems and support
> Is It a magic? 'Dir' command gives only FOO.EXE;1 in the TST$USERS:[RDEV.TRUNK.VMS.BUILD], but not FOO;2
No magic. As long as the image is installed, you can not completely delete it. But you can and you obviously did use DELETE to deletei it from the directory, so it no longer shows with a DIR command. The image file is completely gone after you REMOVE it from the installed images (and the image is no longer used by any other currently running image).