<?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 shl_load and dependent library unresolved symbols in Operating System - Linux</title>
    <link>https://community.hpe.com/t5/operating-system-linux/shl-load-and-dependent-library-unresolved-symbols/m-p/5014661#M96601</link>
    <description>I am trying to build a shared library which gets loaded into Apache using shl_load with the BIND_IMMEDIATE flag.&lt;BR /&gt;&lt;BR /&gt;The shared library I am building depends on a third party shared library (from Oracle) which apparently has some problems with unresolved symbols.&lt;BR /&gt;&lt;BR /&gt;If I modify Apache to use the BIND_DEFERRED flag, my shared library is able to load and run without issue (even the routines that use the third party library work). I would prefer, however, to leave the Apache build unmodified unless it is absolutely necessary.&lt;BR /&gt;&lt;BR /&gt;Is there a way I can build my shared library so that when loaded using shl_load and BIND_IMMEDIATE, once the symbols in my shared library have been resolved (and the symbols I reference) the ones in the dependent library that can't be resolved are ignored?&lt;BR /&gt;&lt;BR /&gt;I've attached some example files that represent the problem and mimic the relationship between Apache, my library and the Oracle library.&lt;BR /&gt;&lt;BR /&gt;I am working with Oracle on this but they have suggested that it may have more to do with the way my shared library is built than a problem in their library. I've read through the linker and libraries user's guide but I didn't spot any build options that look like they would solve my problem.&lt;BR /&gt;&lt;BR /&gt;Thanks,&lt;BR /&gt;Chris</description>
    <pubDate>Fri, 17 Nov 2006 09:12:23 GMT</pubDate>
    <dc:creator>Chris J_1</dc:creator>
    <dc:date>2006-11-17T09:12:23Z</dc:date>
    <item>
      <title>shl_load and dependent library unresolved symbols</title>
      <link>https://community.hpe.com/t5/operating-system-linux/shl-load-and-dependent-library-unresolved-symbols/m-p/5014661#M96601</link>
      <description>I am trying to build a shared library which gets loaded into Apache using shl_load with the BIND_IMMEDIATE flag.&lt;BR /&gt;&lt;BR /&gt;The shared library I am building depends on a third party shared library (from Oracle) which apparently has some problems with unresolved symbols.&lt;BR /&gt;&lt;BR /&gt;If I modify Apache to use the BIND_DEFERRED flag, my shared library is able to load and run without issue (even the routines that use the third party library work). I would prefer, however, to leave the Apache build unmodified unless it is absolutely necessary.&lt;BR /&gt;&lt;BR /&gt;Is there a way I can build my shared library so that when loaded using shl_load and BIND_IMMEDIATE, once the symbols in my shared library have been resolved (and the symbols I reference) the ones in the dependent library that can't be resolved are ignored?&lt;BR /&gt;&lt;BR /&gt;I've attached some example files that represent the problem and mimic the relationship between Apache, my library and the Oracle library.&lt;BR /&gt;&lt;BR /&gt;I am working with Oracle on this but they have suggested that it may have more to do with the way my shared library is built than a problem in their library. I've read through the linker and libraries user's guide but I didn't spot any build options that look like they would solve my problem.&lt;BR /&gt;&lt;BR /&gt;Thanks,&lt;BR /&gt;Chris</description>
      <pubDate>Fri, 17 Nov 2006 09:12:23 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/shl-load-and-dependent-library-unresolved-symbols/m-p/5014661#M96601</guid>
      <dc:creator>Chris J_1</dc:creator>
      <dc:date>2006-11-17T09:12:23Z</dc:date>
    </item>
    <item>
      <title>Re: shl_load and dependent library unresolved symbols</title>
      <link>https://community.hpe.com/t5/operating-system-linux/shl-load-and-dependent-library-unresolved-symbols/m-p/5014662#M96602</link>
      <description>I'm wondering why Apache is using BIND_IMMEDIATE?  Are they trying to insure that it won't abort later?&lt;BR /&gt;&lt;BR /&gt;&amp;gt;Is there a way I can build my shared library ...the ones in the dependent library that can't be resolved are ignored?&lt;BR /&gt;&lt;BR /&gt;No.  All you can do is add stubs into your lib for those Oracle unsats.&lt;BR /&gt;&lt;BR /&gt;What are those unsats that occur?  If they come from Oracle, I don't see how they are a problem with your lib???  Did they explain that?</description>
      <pubDate>Fri, 17 Nov 2006 21:50:53 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/shl-load-and-dependent-library-unresolved-symbols/m-p/5014662#M96602</guid>
      <dc:creator>Dennis Handly</dc:creator>
      <dc:date>2006-11-17T21:50:53Z</dc:date>
    </item>
    <item>
      <title>Re: shl_load and dependent library unresolved symbols</title>
      <link>https://community.hpe.com/t5/operating-system-linux/shl-load-and-dependent-library-unresolved-symbols/m-p/5014663#M96603</link>
      <description>Dennis,&lt;BR /&gt;&lt;BR /&gt;I assume Apache is trying to prevent a later abort as well as prevent delays in resolving the symbol once the child process starts serving requests (although I would imagine that the symbol resolution would be a fairly small overhead compared to the other processing). &lt;BR /&gt;&lt;BR /&gt;After working with Oracle, we discovered that the shared library I was building was being linked to a shared library that wasn't needed. When using chatr on my shared library, the library with the unresolved symbols showed up in the dependency list.&lt;BR /&gt;&lt;BR /&gt;We didn't solve why the symbols weren't resolved in their library but removing it from the link line solved the issue. I did learn that the unnecessary library was for use with C++ while our library is in C. My assumption is that the missing symbols reference items in an unloaded C++ library (a quick scan of docs makes me think they might be found here: /usr/lib/libC.sl). I haven't had the pleasure of using C++ to this point I could not say for sure.&lt;BR /&gt;&lt;BR /&gt;Thanks for the input and confirming that there is nothing I can do in my library to change the binding behavior when shl_load is used.&lt;BR /&gt;&lt;BR /&gt;Chris</description>
      <pubDate>Fri, 17 Nov 2006 23:19:53 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/shl-load-and-dependent-library-unresolved-symbols/m-p/5014663#M96603</guid>
      <dc:creator>Chris J_1</dc:creator>
      <dc:date>2006-11-17T23:19:53Z</dc:date>
    </item>
    <item>
      <title>Re: shl_load and dependent library unresolved symbols</title>
      <link>https://community.hpe.com/t5/operating-system-linux/shl-load-and-dependent-library-unresolved-symbols/m-p/5014664#M96604</link>
      <description>See previous message for resolution information.</description>
      <pubDate>Fri, 17 Nov 2006 23:22:42 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/shl-load-and-dependent-library-unresolved-symbols/m-p/5014664#M96604</guid>
      <dc:creator>Chris J_1</dc:creator>
      <dc:date>2006-11-17T23:22:42Z</dc:date>
    </item>
    <item>
      <title>Re: shl_load and dependent library unresolved symbols</title>
      <link>https://community.hpe.com/t5/operating-system-linux/shl-load-and-dependent-library-unresolved-symbols/m-p/5014665#M96605</link>
      <description>&amp;gt;(a quick scan of docs makes me think they might be found here: /usr/lib/libC.sl). I haven't had the pleasure of using C++ to this point I could not say for sure.&lt;BR /&gt;&lt;BR /&gt;(libC.sl is only for obsolete cfront, don't you dare use it.)&lt;BR /&gt;&lt;BR /&gt;If you want the info for aC++, see:&lt;BR /&gt;&lt;A href="http://www.docs.hp.com/en/7762/5991-4874/distributing.htm#linking" target="_blank"&gt;http://www.docs.hp.com/en/7762/5991-4874/distributing.htm#linking&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;This will list the aC++ libs that you could add to resolve those symbols.  (If you listed the unsat symbols it would have been obvious to me.)  But your solution of removing unneeded libs is better.</description>
      <pubDate>Fri, 17 Nov 2006 23:48:54 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/shl-load-and-dependent-library-unresolved-symbols/m-p/5014665#M96605</guid>
      <dc:creator>Dennis Handly</dc:creator>
      <dc:date>2006-11-17T23:48:54Z</dc:date>
    </item>
  </channel>
</rss>

