<?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 ENOSYM error in Operating System - Linux</title>
    <link>https://community.hpe.com/t5/operating-system-linux/shl-load-enosym-error/m-p/5015790#M96695</link>
    <description>Also if you change BIND_DEFERRED to BIND_IMMEDIATE (as a debugging tool) you'll see all possible undefined symbols.</description>
    <pubDate>Tue, 28 Nov 2006 13:13:16 GMT</pubDate>
    <dc:creator>Dennis Handly</dc:creator>
    <dc:date>2006-11-28T13:13:16Z</dc:date>
    <item>
      <title>shl_load ENOSYM error</title>
      <link>https://community.hpe.com/t5/operating-system-linux/shl-load-enosym-error/m-p/5015787#M96692</link>
      <description>Hi,&lt;BR /&gt;&lt;BR /&gt;We are getting an ENOSYM error when we try to execute shl_load().&lt;BR /&gt;&lt;BR /&gt;We are in the process of porting this application from 32 bit to 64 bit.&lt;BR /&gt;This piece of code works fine in our 32 bit environment.&lt;BR /&gt;&lt;BR /&gt;This is the shl_load() command we fail on:&lt;BR /&gt;&lt;BR /&gt;Lhandle = shl_load(/opt/cambar/object/libWHO700.sl, BIND_DEFERRED | DYNAMIC_PATH, 0);&lt;BR /&gt;&lt;BR /&gt;This code is in a function in a library called libcsiunx.sl.&lt;BR /&gt;Both libraries are compiled for 64 bit:&lt;BR /&gt;&lt;BR /&gt;may1cswdev /home/tdawson $ file /opt/cambar/object/libcsiunx.sl&lt;BR /&gt;/opt/cambar/object/libcsiunx.sl:        ELF-64 shared object file - PA-RISC 2.0 (LP64)&lt;BR /&gt;may1cswdev /home/tdawson $ file /opt/cambar/object/libWHO700.sl&lt;BR /&gt;/opt/cambar/object/libWHO700.sl:        ELF-64 shared object file - PA-RISC 2.0 (LP64)&lt;BR /&gt;&lt;BR /&gt;And both libraries are owned by the same user and are readable&lt;BR /&gt;and executable by everybody:&lt;BR /&gt;&lt;BR /&gt;may1cswdev /home/tdawson $ ls -l /opt/cambar/object/libcsiunx.sl&lt;BR /&gt;-rwxr-xr-x   1 cambar     csw          76112 Nov 27 10:12 /opt/cambar/object/libcsiunx.sl&lt;BR /&gt;may1cswdev /home/tdawson $ ls -l /opt/cambar/object/libWHO700.sl&lt;BR /&gt;-rwxrwxrwx   1 cambar     csw          75240 Sep 27 15:38 /opt/cambar/object/libWHO700.sl&lt;BR /&gt;&lt;BR /&gt;The shl_load() command yields errno 215.  This is the ENOSYM&lt;BR /&gt;entry from /usr/include/sys/errno.h:&lt;BR /&gt;&lt;BR /&gt;#define ENOSYM          215     /* symbol does not exist in executable  */&lt;BR /&gt;&lt;BR /&gt;This has me confused because with this command we're not&lt;BR /&gt;searching for any symbol, we're just trying to load the&lt;BR /&gt;library into memory.&lt;BR /&gt;&lt;BR /&gt;Can anyone shed some light on what the ENOSYM error really&lt;BR /&gt;means and how I can debug it further?&lt;BR /&gt;&lt;BR /&gt;Thanks,&lt;BR /&gt;Tom&lt;BR /&gt;</description>
      <pubDate>Mon, 27 Nov 2006 10:39:11 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/shl-load-enosym-error/m-p/5015787#M96692</guid>
      <dc:creator>Tom Dawson</dc:creator>
      <dc:date>2006-11-27T10:39:11Z</dc:date>
    </item>
    <item>
      <title>Re: shl_load ENOSYM error</title>
      <link>https://community.hpe.com/t5/operating-system-linux/shl-load-enosym-error/m-p/5015788#M96693</link>
      <description>&amp;gt;This has me confused because with this command we're not searching for any symbol, we're just trying to load the library into memory.&lt;BR /&gt;&lt;BR /&gt;When you load a shlib, you also will execute C++ static initializer and INIT functions.  These would be causing your unsats.  You should OR in BIND_VERBOSE to see what the problem symbol is.</description>
      <pubDate>Mon, 27 Nov 2006 19:37:14 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/shl-load-enosym-error/m-p/5015788#M96693</guid>
      <dc:creator>Dennis Handly</dc:creator>
      <dc:date>2006-11-27T19:37:14Z</dc:date>
    </item>
    <item>
      <title>Re: shl_load ENOSYM error</title>
      <link>https://community.hpe.com/t5/operating-system-linux/shl-load-enosym-error/m-p/5015789#M96694</link>
      <description>Dennis,&lt;BR /&gt;&lt;BR /&gt;Thanks, but BIND_VERBOSE didn't really help.  Only because the stdout gets lost amoung all of our library calls with this application.&lt;BR /&gt;&lt;BR /&gt;But I took that idea and started redirecting stderr from the calling C program and finally found what I think is the "real" error.&lt;BR /&gt;&lt;BR /&gt;The unsatisfied symbol appears to be '_mFldhandle'.  This is a Micro Focus symbol.  I've found an entry for this on their support site and it appears we have to re-work how we build our Shared Library(ies).&lt;BR /&gt;&lt;BR /&gt;Thanks for the help,&lt;BR /&gt;Tom&lt;BR /&gt;</description>
      <pubDate>Tue, 28 Nov 2006 10:28:08 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/shl-load-enosym-error/m-p/5015789#M96694</guid>
      <dc:creator>Tom Dawson</dc:creator>
      <dc:date>2006-11-28T10:28:08Z</dc:date>
    </item>
    <item>
      <title>Re: shl_load ENOSYM error</title>
      <link>https://community.hpe.com/t5/operating-system-linux/shl-load-enosym-error/m-p/5015790#M96695</link>
      <description>Also if you change BIND_DEFERRED to BIND_IMMEDIATE (as a debugging tool) you'll see all possible undefined symbols.</description>
      <pubDate>Tue, 28 Nov 2006 13:13:16 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/shl-load-enosym-error/m-p/5015790#M96695</guid>
      <dc:creator>Dennis Handly</dc:creator>
      <dc:date>2006-11-28T13:13:16Z</dc:date>
    </item>
  </channel>
</rss>

