<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Linker Issues with OpenVMS Itanium? in Operating System - OpenVMS</title>
    <link>https://community.hpe.com/t5/operating-system-openvms/linker-issues-with-openvms-itanium/m-p/4010380#M37779</link>
    <description>Manesh,&lt;BR /&gt;&lt;BR /&gt;  Without seeing your LINK command it's difficult to give a good diagnosis, however, when you say there are two different locations for the object code, perhaps this is a library order sensitivity?&lt;BR /&gt;&lt;BR /&gt;  Consider:&lt;BR /&gt;&lt;BR /&gt;$ LINK main+A/LIBRARY+B/LIBRARY&lt;BR /&gt;&lt;BR /&gt;  If there is a module in library A referenced only from module(s) in library B, the linker will report USEUNDEF because by the time the reference is discovered, library A is no longer a link candidate.&lt;BR /&gt;&lt;BR /&gt;  Bottom line is to find the unresolved symbols in your libraries and object modules, and ensure they're ordered correctly. &lt;BR /&gt;&lt;BR /&gt;  Sometimes the solution is to reorder yuor libraries, for example:&lt;BR /&gt;&lt;BR /&gt;$ LINK main+B/LIBRARY+A/LIBRARY&lt;BR /&gt;&lt;BR /&gt;  or, if there are circularities, perhaps repeat a library:&lt;BR /&gt;&lt;BR /&gt;$ LINK main+A/LIBRARY+B/LIBRARY+A/LIBRARY&lt;BR /&gt;&lt;BR /&gt;  (however, this would usually represent a structure clash, which would be better resolved by redistributing modules between libraries).</description>
    <pubDate>Thu, 31 May 2007 19:47:47 GMT</pubDate>
    <dc:creator>John Gillings</dc:creator>
    <dc:date>2007-05-31T19:47:47Z</dc:date>
    <item>
      <title>Linker Issues with OpenVMS Itanium?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/linker-issues-with-openvms-itanium/m-p/4010371#M37770</link>
      <description>I'm using OpenVMS Itanium V 8.2-1.I use a C-code base which get build using the make-style scripting (MMS). The entire code base is new and the C files are compiled fully &amp;amp; when the linking process starts, it throws this error of UNDEFINED SYMBOLS being REFERENCED.Something like this&lt;BR /&gt;&lt;BR /&gt;%ILINK-W-USEUNDEF, undefined symbol X_RESTOREMAIN referenced&lt;BR /&gt;        section: $CODE$&lt;BR /&gt;        offset: %X00000000000010B0  slot: 1&lt;BR /&gt;        module: RS1SUBEN &lt;BR /&gt;        file: DDE$ROOT:[LIB]CALLABLE.OLB;1   &lt;BR /&gt;&lt;BR /&gt;And it generates a bunch of similar errors. &lt;BR /&gt;&lt;BR /&gt;I have a similar code base (which i used before) which still is working perfectly fine. &lt;BR /&gt;&lt;BR /&gt;And both these code bases reside in 2 different accounts in the same disk(same device name too like DKA0:[xxxx] &amp;amp; DKA0:[yyyy]) of the same machine. I didn't face any linker issues in the previous code base. We use 2 different disk, 1 is used for all the development activities &amp;amp; the the other for the testing purposes.&lt;BR /&gt;&lt;BR /&gt;The CC Command used to compile both the code base are the same. &lt;BR /&gt;&lt;BR /&gt;Is this related to code?. Is it possible to pass some parameter to the linker so that it will link properly or is there any other changes that needs to be included with the linker. &lt;BR /&gt;&lt;BR /&gt;This is an urgent issue for me. so appreciate if you could comment on this...&lt;BR /&gt;&lt;BR /&gt;/Manesh</description>
      <pubDate>Thu, 31 May 2007 03:00:00 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/linker-issues-with-openvms-itanium/m-p/4010371#M37770</guid>
      <dc:creator>Manesh Sasankan</dc:creator>
      <dc:date>2007-05-31T03:00:00Z</dc:date>
    </item>
    <item>
      <title>Re: Linker Issues with OpenVMS Itanium?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/linker-issues-with-openvms-itanium/m-p/4010372#M37771</link>
      <description>The thing that is different is only the account ? Then check the login.com for differences.&lt;BR /&gt;&lt;BR /&gt;Or do @dka0:[yyy]login.com when logged in as xxx. And then try to link again.&lt;BR /&gt;&lt;BR /&gt;Or may be some object is present that is newer than the C file but is not corresponding to the C file. Remove them all and recompile.&lt;BR /&gt;&lt;BR /&gt;Wim</description>
      <pubDate>Thu, 31 May 2007 03:37:47 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/linker-issues-with-openvms-itanium/m-p/4010372#M37771</guid>
      <dc:creator>Wim Van den Wyngaert</dc:creator>
      <dc:date>2007-05-31T03:37:47Z</dc:date>
    </item>
    <item>
      <title>Re: Linker Issues with OpenVMS Itanium?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/linker-issues-with-openvms-itanium/m-p/4010373#M37772</link>
      <description>I suspect a simple coding error, like X_RESTOREMAIN used when X_RESTORE_MAIN declared. Is this application C++ and case sensitive?&lt;BR /&gt;&lt;BR /&gt;This symbol "X_RESTOREMAIN", what do you know about it? Is it suppoed to be used from RS1SUBEN? If so, where is it supposed to be declared? Is that place explicitly inluded in the link (mentioning the .OBJ file) or implicitly (in  a .OLB library to be search with /LIB).&lt;BR /&gt;&lt;BR /&gt;Is that same symbol "X_RESTOREMAIN" used in the other code base in the other account? Where is it resolved from? To find out use a LINK/MAP/CROSS on the other account, and $SEARCH x.MAP X_RESTOREMAIN &lt;BR /&gt;hth,&lt;BR /&gt;Hein.&lt;BR /&gt;</description>
      <pubDate>Thu, 31 May 2007 07:33:52 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/linker-issues-with-openvms-itanium/m-p/4010373#M37772</guid>
      <dc:creator>Hein van den Heuvel</dc:creator>
      <dc:date>2007-05-31T07:33:52Z</dc:date>
    </item>
    <item>
      <title>Re: Linker Issues with OpenVMS Itanium?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/linker-issues-with-openvms-itanium/m-p/4010374#M37773</link>
      <description>hi Manesh,&lt;BR /&gt;     I used to run across stuff like this&lt;BR /&gt;all the time, which is one reason I built&lt;BR /&gt;our large codebase regularly. Do you have &lt;BR /&gt;library control, like cms? you might be able to find more by a cms sho history/trans=replace/since=dd-mmm-yyyy&lt;BR /&gt;where the date is when it last linked ok.&lt;BR /&gt;also sear the entire for reference to &lt;BR /&gt;X_RESTOREMAIN, make sure its compiled and&lt;BR /&gt;you'll know where to link against it. if&lt;BR /&gt;its new development it may need to go into&lt;BR /&gt;a library. It often is brute force searching&lt;BR /&gt;to solve, a pain I know.</description>
      <pubDate>Thu, 31 May 2007 13:14:37 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/linker-issues-with-openvms-itanium/m-p/4010374#M37773</guid>
      <dc:creator>Dean McGorrill</dc:creator>
      <dc:date>2007-05-31T13:14:37Z</dc:date>
    </item>
    <item>
      <title>Re: Linker Issues with OpenVMS Itanium?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/linker-issues-with-openvms-itanium/m-p/4010375#M37774</link>
      <description>Hi Dean,&lt;BR /&gt;&lt;BR /&gt;i tried this:&lt;BR /&gt;&lt;BR /&gt;CMS&amp;gt; sho history/trans=replace/since=20-jan-2007&lt;BR /&gt;&lt;BR /&gt;%CMS-E-NOREF, error referencing CMS$LIB:&lt;BR /&gt;-CMS-E-USESETLIB, use SET LIBRARY&lt;BR /&gt;&amp;amp; i got this error..&lt;BR /&gt;&lt;BR /&gt;How to set a library? i tried to give the directory where the correct olb file was located and it say that that it is not a CMS LIBRARY. &lt;BR /&gt;&lt;BR /&gt;??&lt;BR /&gt;&lt;BR /&gt;Manesh</description>
      <pubDate>Thu, 31 May 2007 13:24:21 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/linker-issues-with-openvms-itanium/m-p/4010375#M37774</guid>
      <dc:creator>Manesh Sasankan</dc:creator>
      <dc:date>2007-05-31T13:24:21Z</dc:date>
    </item>
    <item>
      <title>Re: Linker Issues with OpenVMS Itanium?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/linker-issues-with-openvms-itanium/m-p/4010376#M37775</link>
      <description>ask someone whos doing the development work&lt;BR /&gt;if they use cms. if so wheres the library(s)&lt;BR /&gt;at. (Hope that they use some kind source&lt;BR /&gt;control!)</description>
      <pubDate>Thu, 31 May 2007 13:30:51 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/linker-issues-with-openvms-itanium/m-p/4010376#M37775</guid>
      <dc:creator>Dean McGorrill</dc:creator>
      <dc:date>2007-05-31T13:30:51Z</dc:date>
    </item>
    <item>
      <title>Re: Linker Issues with OpenVMS Itanium?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/linker-issues-with-openvms-itanium/m-p/4010377#M37776</link>
      <description>Dean,&lt;BR /&gt;&lt;BR /&gt;Thanks a ton for your response. No one used cms before here. This is an urgent requirement for me &amp;amp; i'm not that good in VMS :-). &lt;BR /&gt;&lt;BR /&gt;when u say library, in vms what exactly do that mean. Is it a olb file or obj file or ??. i'm pretty sure that we never used source control in vms( to make things worse).&lt;BR /&gt;&lt;BR /&gt;I found one more thing. The X_RESTOREMAIN() is defined in X.C &amp;amp; XX.c in a different directory.  It also has a "extern reference" in a XXX.H file. &lt;BR /&gt;&lt;BR /&gt;Now this function is called in 3 different C files and for all these, the linker generated the same error. &lt;BR /&gt;&lt;BR /&gt;In x.c &amp;amp; xx.c, the func is defined as &lt;BR /&gt;&lt;BR /&gt;VOID X_RESTOREMAIN()&lt;BR /&gt;{&lt;BR /&gt;--&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;In XXX.h, &lt;BR /&gt;&lt;BR /&gt;extern void X_RESTOREMAIN()&lt;BR /&gt;&lt;BR /&gt;And for the 3 different C files, it's called like:&lt;BR /&gt;&lt;BR /&gt;X_RESTOREMAIN()&lt;BR /&gt;&lt;BR /&gt;It's all over the place!!!&lt;BR /&gt;&lt;BR /&gt;manesh&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Thu, 31 May 2007 13:44:32 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/linker-issues-with-openvms-itanium/m-p/4010377#M37776</guid>
      <dc:creator>Manesh Sasankan</dc:creator>
      <dc:date>2007-05-31T13:44:32Z</dc:date>
    </item>
    <item>
      <title>Re: Linker Issues with OpenVMS Itanium?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/linker-issues-with-openvms-itanium/m-p/4010378#M37777</link>
      <description>&amp;gt;&amp;gt; The X_RESTOREMAIN() is defined in X.C &amp;amp; XX.c in a different directory&lt;BR /&gt;&lt;BR /&gt;So which one is right?&lt;BR /&gt;And how is the linker supposed to find that one?&lt;BR /&gt;&lt;BR /&gt;As per my earlier reply.&lt;BR /&gt;Assuming x.c is compiled to become x.obj&lt;BR /&gt;Either add [otherdirectory]x.obj in the link command with the other objects,&lt;BR /&gt;or, stick it in a library which will be searched.&lt;BR /&gt;&lt;BR /&gt;Specifically you may want to try&lt;BR /&gt;$LIBR/INSERT DDE$ROOT:[LIB]CALLABLE.OLB [otherdirectory]x.obj &lt;BR /&gt;If that complains about about the module already existing, then you may try LIBR/REPLA instead.&lt;BR /&gt;If you are not entirely sure, then you may want to do a $LIBR/EXTRACT... on the module before a REPLACE.&lt;BR /&gt;Or use LIBR/LIST/NAME to learn details.&lt;BR /&gt;&lt;BR /&gt;hth,&lt;BR /&gt;Hein.&lt;BR /&gt;</description>
      <pubDate>Thu, 31 May 2007 14:44:28 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/linker-issues-with-openvms-itanium/m-p/4010378#M37777</guid>
      <dc:creator>Hein van den Heuvel</dc:creator>
      <dc:date>2007-05-31T14:44:28Z</dc:date>
    </item>
    <item>
      <title>Re: Linker Issues with OpenVMS Itanium?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/linker-issues-with-openvms-itanium/m-p/4010379#M37778</link>
      <description>Manesh,&lt;BR /&gt;     a cms library usually looks something like..&lt;BR /&gt;&lt;BR /&gt;00CMS.CMS;1         01CMS.CMS;1         01CMS.HIS;1&lt;BR /&gt;&lt;BR /&gt;and found in sub directorys. Its moot because you said noone uses it!&lt;BR /&gt;&lt;BR /&gt;    Heins right, compile it and probably sticking it in the library&lt;BR /&gt;is your best bet.</description>
      <pubDate>Thu, 31 May 2007 15:11:50 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/linker-issues-with-openvms-itanium/m-p/4010379#M37778</guid>
      <dc:creator>Dean McGorrill</dc:creator>
      <dc:date>2007-05-31T15:11:50Z</dc:date>
    </item>
    <item>
      <title>Re: Linker Issues with OpenVMS Itanium?</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/linker-issues-with-openvms-itanium/m-p/4010380#M37779</link>
      <description>Manesh,&lt;BR /&gt;&lt;BR /&gt;  Without seeing your LINK command it's difficult to give a good diagnosis, however, when you say there are two different locations for the object code, perhaps this is a library order sensitivity?&lt;BR /&gt;&lt;BR /&gt;  Consider:&lt;BR /&gt;&lt;BR /&gt;$ LINK main+A/LIBRARY+B/LIBRARY&lt;BR /&gt;&lt;BR /&gt;  If there is a module in library A referenced only from module(s) in library B, the linker will report USEUNDEF because by the time the reference is discovered, library A is no longer a link candidate.&lt;BR /&gt;&lt;BR /&gt;  Bottom line is to find the unresolved symbols in your libraries and object modules, and ensure they're ordered correctly. &lt;BR /&gt;&lt;BR /&gt;  Sometimes the solution is to reorder yuor libraries, for example:&lt;BR /&gt;&lt;BR /&gt;$ LINK main+B/LIBRARY+A/LIBRARY&lt;BR /&gt;&lt;BR /&gt;  or, if there are circularities, perhaps repeat a library:&lt;BR /&gt;&lt;BR /&gt;$ LINK main+A/LIBRARY+B/LIBRARY+A/LIBRARY&lt;BR /&gt;&lt;BR /&gt;  (however, this would usually represent a structure clash, which would be better resolved by redistributing modules between libraries).</description>
      <pubDate>Thu, 31 May 2007 19:47:47 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/linker-issues-with-openvms-itanium/m-p/4010380#M37779</guid>
      <dc:creator>John Gillings</dc:creator>
      <dc:date>2007-05-31T19:47:47Z</dc:date>
    </item>
  </channel>
</rss>

