<?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: shl_load returns error 22 in Operating System - HP-UX</title>
    <link>https://community.hpe.com/t5/operating-system-hp-ux/shl-load-returns-error-22/m-p/2734354#M721872</link>
    <description>Hi&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;I can guess that you need the latest linker patch and then use the LD_PRELOAD functionality to avoide this&lt;BR /&gt;&lt;BR /&gt;You can use the LD_PRELOAD environment variable to load a shared library that contains thread-local storage to avoid the following error when loading the library dynamically: &lt;BR /&gt;&lt;BR /&gt; /usr/lib/dld.sl: Can't shl_load() a library containing Thread Local Storage: /usr/lib/libpthread.1&lt;BR /&gt;&lt;BR /&gt;Also error 22&lt;BR /&gt;&lt;BR /&gt;The load order and symbol resolution order may be different in a PA32 program than in the same PA64 program because the dynamic loader uses depth-first search order in PA32 mode and breadth-first search order in PA64 mode. &lt;BR /&gt;The dynamic loader uses the LD_PRELOAD environment variable even if you use the +noenvvar in the link line. This insures that LD_PRELOAD is enabled even in a +compat link. The LD_PRELOAD variable is always enabled except for setuid and setgid programs. &lt;BR /&gt;&lt;BR /&gt;Note: Using LD_PRELOAD can cause a core dump when used with applications which mix shared and archived libraries, especially when both the shared library and the application are built with aC++ or use libc. &lt;BR /&gt;&lt;BR /&gt;You can specify multiple libraries as part of the LD_PRELOAD environment variable. Separate the libraries by spaces or colons as in LD_LIBRARY_PATH. (Multi-byte support is not provided as part of parsing the LD_PRELOAD library list). You can specify LD_PRELOAD libraries with absolute paths or relative paths. The LD_PRELOAD libraries can also consist of just the library names, in which case the dynamic loader uses the directory path list in the environment variables LD_LIBRARY_PATH and/or SHLIB_PATH or the embedded path list (if enabled) to search for the libraries. &lt;BR /&gt;&lt;BR /&gt;The dynamic loader does not issue an error or warning message if it cannot find a library specified by LD_PRELOAD. However, if it does not find a dependent of the LD_PRELOAD libraries, the dynamic loader issues the same error message as if the LD_PRELOAD library is specified in the link line. &lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;See man dld.sl when patch is loaded&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;                  Steve steel&lt;BR /&gt;</description>
    <pubDate>Thu, 30 May 2002 10:34:57 GMT</pubDate>
    <dc:creator>Steve Steel</dc:creator>
    <dc:date>2002-05-30T10:34:57Z</dc:date>
    <item>
      <title>shl_load returns error 22</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/shl-load-returns-error-22/m-p/2734353#M721871</link>
      <description />
      <pubDate>Thu, 30 May 2002 10:26:26 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/shl-load-returns-error-22/m-p/2734353#M721871</guid>
      <dc:creator>ArieMo</dc:creator>
      <dc:date>2002-05-30T10:26:26Z</dc:date>
    </item>
    <item>
      <title>Re: shl_load returns error 22</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/shl-load-returns-error-22/m-p/2734354#M721872</link>
      <description>Hi&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;I can guess that you need the latest linker patch and then use the LD_PRELOAD functionality to avoide this&lt;BR /&gt;&lt;BR /&gt;You can use the LD_PRELOAD environment variable to load a shared library that contains thread-local storage to avoid the following error when loading the library dynamically: &lt;BR /&gt;&lt;BR /&gt; /usr/lib/dld.sl: Can't shl_load() a library containing Thread Local Storage: /usr/lib/libpthread.1&lt;BR /&gt;&lt;BR /&gt;Also error 22&lt;BR /&gt;&lt;BR /&gt;The load order and symbol resolution order may be different in a PA32 program than in the same PA64 program because the dynamic loader uses depth-first search order in PA32 mode and breadth-first search order in PA64 mode. &lt;BR /&gt;The dynamic loader uses the LD_PRELOAD environment variable even if you use the +noenvvar in the link line. This insures that LD_PRELOAD is enabled even in a +compat link. The LD_PRELOAD variable is always enabled except for setuid and setgid programs. &lt;BR /&gt;&lt;BR /&gt;Note: Using LD_PRELOAD can cause a core dump when used with applications which mix shared and archived libraries, especially when both the shared library and the application are built with aC++ or use libc. &lt;BR /&gt;&lt;BR /&gt;You can specify multiple libraries as part of the LD_PRELOAD environment variable. Separate the libraries by spaces or colons as in LD_LIBRARY_PATH. (Multi-byte support is not provided as part of parsing the LD_PRELOAD library list). You can specify LD_PRELOAD libraries with absolute paths or relative paths. The LD_PRELOAD libraries can also consist of just the library names, in which case the dynamic loader uses the directory path list in the environment variables LD_LIBRARY_PATH and/or SHLIB_PATH or the embedded path list (if enabled) to search for the libraries. &lt;BR /&gt;&lt;BR /&gt;The dynamic loader does not issue an error or warning message if it cannot find a library specified by LD_PRELOAD. However, if it does not find a dependent of the LD_PRELOAD libraries, the dynamic loader issues the same error message as if the LD_PRELOAD library is specified in the link line. &lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;See man dld.sl when patch is loaded&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;                  Steve steel&lt;BR /&gt;</description>
      <pubDate>Thu, 30 May 2002 10:34:57 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/shl-load-returns-error-22/m-p/2734354#M721872</guid>
      <dc:creator>Steve Steel</dc:creator>
      <dc:date>2002-05-30T10:34:57Z</dc:date>
    </item>
  </channel>
</rss>

