<?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 Shared Library Order in Linux? Executable misbehaving due to wrong Library.... in Operating System - Linux</title>
    <link>https://community.hpe.com/t5/operating-system-linux/shared-library-order-in-linux-executable-misbehaving-due-to/m-p/4536130#M38933</link>
    <description>&lt;!--!*#--&gt;I'ev a tool (an HBA utility)  that no longer works after a suite of monitoring tools were installed. LDD analysis follows below.  I reckon I've now to explicitly set LD_LIBRARY_PATH? Or is there a different config file to spec the hierarchy of the libraries?&lt;BR /&gt;&lt;BR /&gt;BEFORE:&lt;BR /&gt;# ldd scli&lt;BR /&gt;        linux-gate.so.1 =&amp;gt;  (0xffffe000)&lt;BR /&gt;        libcrypt.so.1 =&amp;gt; /lib/libcrypt.so.1 (0x00b13000)&lt;BR /&gt;        libm.so.6 =&amp;gt; /lib/libm.so.6 (0xf7f09000)&lt;BR /&gt;        libqlsdm.so =&amp;gt; /usr/lib/libqlsdm.so (0xf7e8a000)&lt;BR /&gt;        libHBAAPI.so =&amp;gt; /usr/lib/libHBAAPI.so (0xf7e7d000)&lt;BR /&gt;        libqsw.so =&amp;gt; /usr/lib/libqsw.so (0xf7deb000)&lt;BR /&gt;        libqswstubssl.so =&amp;gt; /usr/lib/libqswstubssl.so (0xf7de8000)&lt;BR /&gt;        libqswopenssl.so =&amp;gt; /usr/lib/libqswopenssl.so (0xf7d24000)&lt;BR /&gt;        libpthread.so.0 =&amp;gt; /lib/libpthread.so.0 (0xf7d0d000)&lt;BR /&gt;        libc.so.6 =&amp;gt; /lib/libc.so.6 (0x009cb000)&lt;BR /&gt;        /lib/ld-linux.so.2 (0x009ad000)&lt;BR /&gt;        libdl.so.2 =&amp;gt; /lib/libdl.so.2 (0xf7d09000)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;AFTER(tool no longer works):&lt;BR /&gt;# ldd scli&lt;BR /&gt;        linux-gate.so.1 =&amp;gt;  (0xffffe000)&lt;BR /&gt;        libcrypt.so.1 =&amp;gt; /lib/libcrypt.so.1 (0x00b13000)&lt;BR /&gt;        libm.so.6 =&amp;gt; /lib/libm.so.6 (0xf7ec3000)&lt;BR /&gt;        libqlsdm.so =&amp;gt; /opt/ibm/icc/cimom/lib/libqlsdm.so (0xf7e8b000)&lt;BR /&gt;        libHBAAPI.so =&amp;gt; /opt/ibm/icc/cimom/lib/libHBAAPI.so (0xf7e7e000)&lt;BR /&gt;        libqsw.so =&amp;gt; /opt/ibm/icc/cimom/lib/libqsw.so (0xf7e0f000)&lt;BR /&gt;        libqswstubssl.so =&amp;gt; /opt/ibm/icc/cimom/lib/libqswstubssl.so (0xf7e0c000)&lt;BR /&gt;        libqswopenssl.so =&amp;gt; /opt/ibm/icc/cimom/lib/libqswopenssl.so (0xf7d48000)&lt;BR /&gt;        libpthread.so.0 =&amp;gt; /lib/libpthread.so.0 (0xf7d31000)&lt;BR /&gt;        libc.so.6 =&amp;gt; /lib/libc.so.6 (0x009cb000)&lt;BR /&gt;        /lib/ld-linux.so.2 (0x009ad000)&lt;BR /&gt;        libdl.so.2 =&amp;gt; /lib/libdl.so.2 (0xf7d2d000)&lt;BR /&gt;&lt;BR /&gt;# # scli&lt;BR /&gt;Scanning QLogic FC HBA(s) and device(s), please wait...&lt;BR /&gt;scli: symbol lookup error: scli: undefined symbol: qla_get_os_device_name_by_handle&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;TIA!</description>
    <pubDate>Wed, 18 Nov 2009 14:40:07 GMT</pubDate>
    <dc:creator>Alzhy</dc:creator>
    <dc:date>2009-11-18T14:40:07Z</dc:date>
    <item>
      <title>Shared Library Order in Linux? Executable misbehaving due to wrong Library....</title>
      <link>https://community.hpe.com/t5/operating-system-linux/shared-library-order-in-linux-executable-misbehaving-due-to/m-p/4536130#M38933</link>
      <description>&lt;!--!*#--&gt;I'ev a tool (an HBA utility)  that no longer works after a suite of monitoring tools were installed. LDD analysis follows below.  I reckon I've now to explicitly set LD_LIBRARY_PATH? Or is there a different config file to spec the hierarchy of the libraries?&lt;BR /&gt;&lt;BR /&gt;BEFORE:&lt;BR /&gt;# ldd scli&lt;BR /&gt;        linux-gate.so.1 =&amp;gt;  (0xffffe000)&lt;BR /&gt;        libcrypt.so.1 =&amp;gt; /lib/libcrypt.so.1 (0x00b13000)&lt;BR /&gt;        libm.so.6 =&amp;gt; /lib/libm.so.6 (0xf7f09000)&lt;BR /&gt;        libqlsdm.so =&amp;gt; /usr/lib/libqlsdm.so (0xf7e8a000)&lt;BR /&gt;        libHBAAPI.so =&amp;gt; /usr/lib/libHBAAPI.so (0xf7e7d000)&lt;BR /&gt;        libqsw.so =&amp;gt; /usr/lib/libqsw.so (0xf7deb000)&lt;BR /&gt;        libqswstubssl.so =&amp;gt; /usr/lib/libqswstubssl.so (0xf7de8000)&lt;BR /&gt;        libqswopenssl.so =&amp;gt; /usr/lib/libqswopenssl.so (0xf7d24000)&lt;BR /&gt;        libpthread.so.0 =&amp;gt; /lib/libpthread.so.0 (0xf7d0d000)&lt;BR /&gt;        libc.so.6 =&amp;gt; /lib/libc.so.6 (0x009cb000)&lt;BR /&gt;        /lib/ld-linux.so.2 (0x009ad000)&lt;BR /&gt;        libdl.so.2 =&amp;gt; /lib/libdl.so.2 (0xf7d09000)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;AFTER(tool no longer works):&lt;BR /&gt;# ldd scli&lt;BR /&gt;        linux-gate.so.1 =&amp;gt;  (0xffffe000)&lt;BR /&gt;        libcrypt.so.1 =&amp;gt; /lib/libcrypt.so.1 (0x00b13000)&lt;BR /&gt;        libm.so.6 =&amp;gt; /lib/libm.so.6 (0xf7ec3000)&lt;BR /&gt;        libqlsdm.so =&amp;gt; /opt/ibm/icc/cimom/lib/libqlsdm.so (0xf7e8b000)&lt;BR /&gt;        libHBAAPI.so =&amp;gt; /opt/ibm/icc/cimom/lib/libHBAAPI.so (0xf7e7e000)&lt;BR /&gt;        libqsw.so =&amp;gt; /opt/ibm/icc/cimom/lib/libqsw.so (0xf7e0f000)&lt;BR /&gt;        libqswstubssl.so =&amp;gt; /opt/ibm/icc/cimom/lib/libqswstubssl.so (0xf7e0c000)&lt;BR /&gt;        libqswopenssl.so =&amp;gt; /opt/ibm/icc/cimom/lib/libqswopenssl.so (0xf7d48000)&lt;BR /&gt;        libpthread.so.0 =&amp;gt; /lib/libpthread.so.0 (0xf7d31000)&lt;BR /&gt;        libc.so.6 =&amp;gt; /lib/libc.so.6 (0x009cb000)&lt;BR /&gt;        /lib/ld-linux.so.2 (0x009ad000)&lt;BR /&gt;        libdl.so.2 =&amp;gt; /lib/libdl.so.2 (0xf7d2d000)&lt;BR /&gt;&lt;BR /&gt;# # scli&lt;BR /&gt;Scanning QLogic FC HBA(s) and device(s), please wait...&lt;BR /&gt;scli: symbol lookup error: scli: undefined symbol: qla_get_os_device_name_by_handle&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;TIA!</description>
      <pubDate>Wed, 18 Nov 2009 14:40:07 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/shared-library-order-in-linux-executable-misbehaving-due-to/m-p/4536130#M38933</guid>
      <dc:creator>Alzhy</dc:creator>
      <dc:date>2009-11-18T14:40:07Z</dc:date>
    </item>
    <item>
      <title>Re: Shared Library Order in Linux? Executable misbehaving due to wrong Library....</title>
      <link>https://community.hpe.com/t5/operating-system-linux/shared-library-order-in-linux-executable-misbehaving-due-to/m-p/4536131#M38934</link>
      <description>Shalom again,&lt;BR /&gt;&lt;BR /&gt;Coming up with a search path that works for everything would lead me to pull my hair out.&lt;BR /&gt;&lt;BR /&gt;Far easier, and more interesting things to do. Set the LD_LIBRARY_PATH in a shell script that invokes the utility.&lt;BR /&gt;&lt;BR /&gt;SEP</description>
      <pubDate>Wed, 18 Nov 2009 16:02:33 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/shared-library-order-in-linux-executable-misbehaving-due-to/m-p/4536131#M38934</guid>
      <dc:creator>Steven E. Protter</dc:creator>
      <dc:date>2009-11-18T16:02:33Z</dc:date>
    </item>
    <item>
      <title>Re: Shared Library Order in Linux? Executable misbehaving due to wrong Library....</title>
      <link>https://community.hpe.com/t5/operating-system-linux/shared-library-order-in-linux-executable-misbehaving-due-to/m-p/4536132#M38935</link>
      <description>The configuration file is:&lt;BR /&gt;&lt;BR /&gt;/etc/ld.so.conf&lt;BR /&gt;&lt;BR /&gt;It is basically a list of directories, one per line. In newer Linux distributions it may contain an "include" directive, e.g.:&lt;BR /&gt;&lt;BR /&gt;include /etc/ld.so.conf.d/*.conf&lt;BR /&gt;&lt;BR /&gt;In that case, you'll also have the option of putting your customizations in a configuration file you can name as you wish, e.g. /etc/ld.so.conf.d/custom.conf. &lt;BR /&gt;You should check your Linux distribution's configuration file naming policy, to avoid filename conflicts when you install new software or upgrade.&lt;BR /&gt;&lt;BR /&gt;After making any changes to /etc/ld.so.conf or /etc/ld.so.conf.d/, you should run "ldconfig" to re-create /etc/ld.so.cache.&lt;BR /&gt;&lt;BR /&gt;Use the commands "man ldconfig" and "man ld.so" for more detailed information.&lt;BR /&gt;&lt;BR /&gt;MK</description>
      <pubDate>Wed, 18 Nov 2009 16:16:26 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/shared-library-order-in-linux-executable-misbehaving-due-to/m-p/4536132#M38935</guid>
      <dc:creator>Matti_Kurkela</dc:creator>
      <dc:date>2009-11-18T16:16:26Z</dc:date>
    </item>
    <item>
      <title>Re: Shared Library Order in Linux? Executable misbehaving due to wrong Library....</title>
      <link>https://community.hpe.com/t5/operating-system-linux/shared-library-order-in-linux-executable-misbehaving-due-to/m-p/4536133#M38936</link>
      <description>Matti,&lt;BR /&gt;&lt;BR /&gt;Yeppers indeed it is /etc/ld.so.conf and it now has some includes. Man on ldd actually gave me those 2 tools ldconfig and ld.so but I am still confused whether to have the order and hierarchy of the libs globally modded or follow the standard tweak (as I've used in other UNIX dialects) and that is to have script wrappers with the correct LD_LIBRARY_PATH spec.&lt;BR /&gt;&lt;BR /&gt;# more /etc/ld.so.conf&lt;BR /&gt;include ld.so.conf.d/*.conf&lt;BR /&gt;&lt;BR /&gt;and indeed under /etc/ld.so.conf.d/&lt;BR /&gt;&lt;BR /&gt;ibmld.conf  qt-x86_64.conf&lt;BR /&gt;&lt;BR /&gt;So are these LIBs placed ahead of /lib64, /lib and /usr/lib? There is no LD_LIBRARY_PATH set after the install that broke my HBA tool btw. How is the order set my ldconfig sir? (I've yet to read ldconfig)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 18 Nov 2009 16:42:40 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/shared-library-order-in-linux-executable-misbehaving-due-to/m-p/4536133#M38936</guid>
      <dc:creator>Alzhy</dc:creator>
      <dc:date>2009-11-18T16:42:40Z</dc:date>
    </item>
    <item>
      <title>Re: Shared Library Order in Linux? Executable misbehaving due to wrong Library....</title>
      <link>https://community.hpe.com/t5/operating-system-linux/shared-library-order-in-linux-executable-misbehaving-due-to/m-p/4536134#M38937</link>
      <description>ldconfig -p</description>
      <pubDate>Wed, 18 Nov 2009 20:05:10 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/shared-library-order-in-linux-executable-misbehaving-due-to/m-p/4536134#M38937</guid>
      <dc:creator>Donny Jekels</dc:creator>
      <dc:date>2009-11-18T20:05:10Z</dc:date>
    </item>
    <item>
      <title>Re: Shared Library Order in Linux? Executable misbehaving due to wrong Library....</title>
      <link>https://community.hpe.com/t5/operating-system-linux/shared-library-order-in-linux-executable-misbehaving-due-to/m-p/4536135#M38938</link>
      <description>&amp;gt; include ld.so.conf.d/*.conf&lt;BR /&gt;&lt;BR /&gt;This include directive reads the files in standard alpha-numeric sorting order.&lt;BR /&gt;&lt;BR /&gt;Your IBM monitoring software that broke your HBA tool probably installed the ibmld.conf file into /etc/ld.so.conf.d/.&lt;BR /&gt;&lt;BR /&gt;The directories /usr/lib and /lib are called "trusted" library directories. When a program is loaded, LD_LIBRARY_PATH takes the highest priority, if it's set. After that, /etc/ld.so.cache is consulted. As the last step, if the library is still not found, or if the ld.so.cache file is not available, /usr/lib and /lib are checked.&lt;BR /&gt;&lt;BR /&gt;"ldconfig" is the command that builds /etc/ld.so.cache. It examines the directories listed in /etc/ld.so.conf file (and the files listed in include directives within it), then /usr/lib and /lib.&lt;BR /&gt;&lt;BR /&gt;My system has a bit different filename, but I'd guess that the /lib64 directory is specified in your /etc/ld.so.conf.d/qt-x86_64.conf file.&lt;BR /&gt;&lt;BR /&gt;The end result is that /usr/lib and /lib are always the _last_ places to look for libraries, unless they have been explicitly listed earlier in the configuration.&lt;BR /&gt;&lt;BR /&gt;So, your current library search path would probably be:&lt;BR /&gt;&lt;BR /&gt;1.) $LD_LIBRARY_PATH (which is usually empty)&lt;BR /&gt;2.) the directories listed in ibmld.conf (=probably at least /opt/ibm/icc/cimom/lib)&lt;BR /&gt;3.) /lib64 (from qt-x86_64.conf, I guess)&lt;BR /&gt;4.) /usr/lib (built-in default)&lt;BR /&gt;5.) /lib (built-in default)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;If my guess about the ibmld.conf file is correct, I think it's quite pretentious for IBM to assume that the special libraries of their very special product are good for everyone else too. &lt;BR /&gt;&lt;BR /&gt;I would consider removing ibmld.conf from the system-wide library search path configuration, and adding an "export LD_LIBRARY_PATH=..." setting that has the same effect as the original ibmld.conf to the startup scripts of the monitoring tool suite. That way the changed library path is effective for the IBM monitoring tool suite and its child processes only, and the rest of the system will not be affected.&lt;BR /&gt;&lt;BR /&gt;Making a bug report to IBM might be useful too.&lt;BR /&gt;&lt;BR /&gt;MK</description>
      <pubDate>Wed, 18 Nov 2009 22:37:53 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/shared-library-order-in-linux-executable-misbehaving-due-to/m-p/4536135#M38938</guid>
      <dc:creator>Matti_Kurkela</dc:creator>
      <dc:date>2009-11-18T22:37:53Z</dc:date>
    </item>
  </channel>
</rss>

