(Symbol resolution failed) cannot run built executable on one machine that runs fine on another - Aix

This is a discussion on (Symbol resolution failed) cannot run built executable on one machine that runs fine on another - Aix ; Here is a strange one. I have built an executable using xlC version 8 on a build server On two test servers, I have the same oslevel and same xlC rte files installed: # oslevel -r 5300-04 # lslpp -l ...

+ Reply to Thread
Results 1 to 9 of 9

Thread: (Symbol resolution failed) cannot run built executable on one machine that runs fine on another

  1. (Symbol resolution failed) cannot run built executable on one machine that runs fine on another

    Here is a strange one.

    I have built an executable using xlC version 8 on a build server

    On two test servers, I have the same oslevel and same xlC rte files
    installed:

    # oslevel -r
    5300-04

    # lslpp -l xlC*rte
    Fileset Level State Description

    ----------------------------------------------------------------------------
    Path: /usr/lib/objrepos
    xlC.aix50.rte 8.0.0.9 COMMITTED C Set ++ Runtime for
    AIX 5.0
    xlC.msg.en_US.rte 8.0.0.9 COMMITTED C Set ++ Runtime
    Messages--U.S.
    English
    xlC.rte 8.0.0.9 COMMITTED C Set ++ Runtime

    (same on both AIX servers)

    yet when I run my executable on one server, it works, on the other I
    get a symbol resolution failure:

    exec(): 0509-036 Cannot load program myprogram because of the
    following errors:
    0509-130 Symbol resolution failed for myprogram because:
    0509-136 Symbol __pth_init (number 240) is not exported from
    dependent module /usr/lib/libpthread.a(shr_xpg5.o).
    0509-192 Examine .loader section symbols with the
    'dump -Tv' command.

    Any ideas why my program works on one machine and not the other?

    Thanks.


  2. Re: (Symbol resolution failed) cannot run built executable on onemachine that runs fine on another

    bugbiteme wrote:

    > Here is a strange one.
    >
    > I have built an executable using xlC version 8 on a build server
    >
    > On two test servers, I have the same oslevel and same xlC rte files
    > installed:
    >
    > # oslevel -r
    > 5300-04
    >
    > # lslpp -l xlC*rte
    > Fileset Level State Description
    >
    > ----------------------------------------------------------------------------
    > Path: /usr/lib/objrepos
    > xlC.aix50.rte 8.0.0.9 COMMITTED C Set ++ Runtime for
    > AIX 5.0
    > xlC.msg.en_US.rte 8.0.0.9 COMMITTED C Set ++ Runtime
    > Messages--U.S.
    > English
    > xlC.rte 8.0.0.9 COMMITTED C Set ++ Runtime
    >
    > (same on both AIX servers)
    >
    > yet when I run my executable on one server, it works, on the other I
    > get a symbol resolution failure:
    >
    > exec(): 0509-036 Cannot load program myprogram because of the
    > following errors:
    > 0509-130 Symbol resolution failed for myprogram because:
    > 0509-136 Symbol __pth_init (number 240) is not exported from
    > dependent module /usr/lib/libpthread.a(shr_xpg5.o).
    > 0509-192 Examine .loader section symbols with the
    > 'dump -Tv' command.
    >
    > Any ideas why my program works on one machine and not the other?
    >
    > Thanks.
    >


    The /usr/lib/libpthread.a is from the bos.rte.libpthreads fileset:
    # lslpp -w /usr/lib/libpthread.a
    So what is the level of the bos.rte.libpthreads fileset
    on the build and working and failing systems?
    # lslpp -h bos.rte.libpthreads

    Paul Landay

  3. Re: (Symbol resolution failed) cannot run built executable on one machine that runs fine on another

    On Aug 28, 3:53 pm, Paul Landay wrote:
    > bugbiteme wrote:
    > > Here is a strange one.

    >
    > > I have built an executable using xlC version 8 on a build server

    >
    > > On two test servers, I have the same oslevel and same xlC rte files
    > > installed:

    >
    > > # oslevel -r
    > > 5300-04

    >
    > > # lslpp -l xlC*rte
    > > Fileset Level State Description

    >
    > > ----------------------------------------------------------------------------
    > > Path: /usr/lib/objrepos
    > > xlC.aix50.rte 8.0.0.9 COMMITTED C Set ++ Runtime for
    > > AIX 5.0
    > > xlC.msg.en_US.rte 8.0.0.9 COMMITTED C Set ++ Runtime
    > > Messages--U.S.
    > > English
    > > xlC.rte 8.0.0.9 COMMITTED C Set ++ Runtime

    >
    > > (same on both AIX servers)

    >
    > > yet when I run my executable on one server, it works, on the other I
    > > get a symbol resolution failure:

    >
    > > exec(): 0509-036 Cannot load program myprogram because of the
    > > following errors:
    > > 0509-130 Symbol resolution failed for myprogram because:
    > > 0509-136 Symbol __pth_init (number 240) is not exported from
    > > dependent module /usr/lib/libpthread.a(shr_xpg5.o).
    > > 0509-192 Examine .loader section symbols with the
    > > 'dump -Tv' command.

    >
    > > Any ideas why my program works on one machine and not the other?

    >
    > > Thanks.

    >
    > The /usr/lib/libpthread.a is from the bos.rte.libpthreads fileset:
    > # lslpp -w /usr/lib/libpthread.a
    > So what is the level of the bos.rte.libpthreads fileset
    > on the build and working and failing systems?
    > # lslpp -h bos.rte.libpthreads
    >
    > Paul Landay


    There was a mismatch between the versions of bos.rte.libpthreads
    between each of my AIX systems. I had obtain the update from IBM,
    which included about 570+ plus requisite files. Once I got everything
    downloaded and installed, my executable works now.

    I guess that was simple enough. I either have a new admiration or feel
    pity for full-time AIX admins.

    Can't wait for this project to be done.

    BBM


  4. Re: (Symbol resolution failed) cannot run built executable on onemachine that runs fine on another

    bugbiteme wrote:
    >
    > On Aug 28, 3:53 pm, Paul Landay wrote:
    > > bugbiteme wrote:
    > > > Here is a strange one.

    > >
    > > > I have built an executable using xlC version 8 on a build server

    > >
    > > > On two test servers, I have the same oslevel and same xlC rte files
    > > > installed:

    > >
    > > > # oslevel -r
    > > > 5300-04

    > >
    > > > # lslpp -l xlC*rte
    > > > Fileset Level State Description

    > >
    > > > ----------------------------------------------------------------------------
    > > > Path: /usr/lib/objrepos
    > > > xlC.aix50.rte 8.0.0.9 COMMITTED C Set ++ Runtime for
    > > > AIX 5.0
    > > > xlC.msg.en_US.rte 8.0.0.9 COMMITTED C Set ++ Runtime
    > > > Messages--U.S.
    > > > English
    > > > xlC.rte 8.0.0.9 COMMITTED C Set ++ Runtime

    > >
    > > > (same on both AIX servers)

    > >
    > > > yet when I run my executable on one server, it works, on the other I
    > > > get a symbol resolution failure:

    > >
    > > > exec(): 0509-036 Cannot load program myprogram because of the
    > > > following errors:
    > > > 0509-130 Symbol resolution failed for myprogram because:
    > > > 0509-136 Symbol __pth_init (number 240) is not exported from
    > > > dependent module /usr/lib/libpthread.a(shr_xpg5.o).
    > > > 0509-192 Examine .loader section symbols with the
    > > > 'dump -Tv' command.

    > >
    > > > Any ideas why my program works on one machine and not the other?

    > >
    > > > Thanks.

    > >
    > > The /usr/lib/libpthread.a is from the bos.rte.libpthreads fileset:
    > > # lslpp -w /usr/lib/libpthread.a
    > > So what is the level of the bos.rte.libpthreads fileset
    > > on the build and working and failing systems?
    > > # lslpp -h bos.rte.libpthreads
    > >
    > > Paul Landay

    >
    > There was a mismatch between the versions of bos.rte.libpthreads
    > between each of my AIX systems. I had obtain the update from IBM,
    > which included about 570+ plus requisite files. Once I got everything
    > downloaded and installed, my executable works now.
    >
    > I guess that was simple enough. I either have a new admiration or feel
    > pity for full-time AIX admins.


    As one who will soon be a full-time AIX admin, I appreciate your concern.

    > Can't wait for this project to be done.


    Based on my past experiences with UNIX (AT&T System-III, circa. 1986), I can
    understand the sentiment.

    --
    David J Dachtera
    dba DJE Systems
    http://www.djesys.com/

    Unofficial OpenVMS Marketing Home Page
    http://www.djesys.com/vms/market/

    Unofficial Affordable OpenVMS Home Page:
    http://www.djesys.com/vms/soho/

    Unofficial OpenVMS-IA32 Home Page:
    http://www.djesys.com/vms/ia32/

    Unofficial OpenVMS Hobbyist Support Page:
    http://www.djesys.com/vms/support/

  5. Re: (Symbol resolution failed) cannot run built executable on onemachine that runs fine on another

    bugbiteme wrote:
    > There was a mismatch between the versions of bos.rte.libpthreads
    > between each of my AIX systems. I had obtain the update from IBM,
    > which included about 570+ plus requisite files. Once I got everything
    > downloaded and installed, my executable works now.
    >
    > I guess that was simple enough. I either have a new admiration or feel
    > pity for full-time AIX admins.
    >
    > Can't wait for this project to be done.
    >
    > BBM


    The rule of thumb that I have followed is that an AIX
    user-space binary built on level X will run on level X+1,
    but not the other way around. With the exception of
    AIX 4.3 64bit, that has always been true for me. I even
    have binaries built on AIX v3.2 in 1993 which run fine
    on the current AIX 5.3.

    We usually maintain AIX build systems at the
    oldest levels we want to run our applications on
    just to be able to rebuild those binaries if needed.

    Paul Landay

  6. Re: (Symbol resolution failed) cannot run built executable on one machine that runs fine on another

    In article <46DB4A48.5000605@attglobal.net>, Paul Landay
    writes:
    > I even
    > have binaries built on AIX v3.2 in 1993 which run fine
    > on the current AIX 5.3.


    I think I can beat that,
    recently I found in a long forgotten branch of our filesystems
    an executable dated Feb 1991, so it must be of 3.2 or even 3.1.5 origin,
    built for the Power1 boxes back then.
    It can be called on a Power5+ box under 5.3 without crashing, at least.
    Try that with any other platform's executable of the very early nineties.

    If my find works correctly in all aspects I don't know, admittedly,
    it's the edt+ editor emulator whose config files of course know zilch
    about "dtterm".

  7. Re: (Symbol resolution failed) cannot run built executable on one machine that runs fine on another

    In article <1188575866.148351.95220@50g2000hsm.googlegroups.co m>, bugbiteme
    writes:
    >
    > There was a mismatch between the versions of bos.rte.libpthreads
    > between each of my AIX systems. I had obtain the update from IBM,
    > which included about 570+ plus requisite files.


    with this high number your systems seem to be seriously out of date.
    The POSIX threads library comes standard with AIX for well over a decade
    now.

    > I guess that was simple enough. I either have a new admiration or feel
    > pity for full-time AIX admins.


    Why ? Certainly you did not copy your 500 requisite files manually,
    did you ?
    With smitty as my friend I'd choose AIX administration over any other
    OS any day.


  8. Re: (Symbol resolution failed) cannot run built executable on one machine that runs fine on another


    > Why ? Certainly you did not copy your 500 requisite files manually,
    > did you ?
    > With smitty as my friend I'd choose AIX administration over any other
    > OS any day.


    I manually used FTP to automatically copy all said files. I'm not a
    complete newb. As for the number of files. I requested only one from
    IBM (the version of bos.rte.libpthreads). I selected to download all
    requisite files, which added up to that large number of 500+. That
    takes a while. Maybe I didn't need that many file-sets just to get
    that one stinkin' library to work, but how am I to know what I did or
    didn't need (I guess that puts me back in the "complete newb"
    category). And yes, smitty was used to install them all.

    smitty is great...when it works. I've had it freeze up on me with no
    additional messages when trying to do simple cluster administration
    tasks, such as move a resource group to another node (I select "Move
    Resource Groups to another Host"...and can't get smitty to go any
    further...I'd prefer an error message). I'll take the command line
    interface over smitty any day.


  9. Re: (Symbol resolution failed) cannot run built executable on onemachine that runs fine on another

    Michael Kraemer wrote:
    >
    > In article <46DB4A48.5000605@attglobal.net>, Paul Landay
    > writes:
    > > I even
    > > have binaries built on AIX v3.2 in 1993 which run fine
    > > on the current AIX 5.3.

    >
    > I think I can beat that,
    > recently I found in a long forgotten branch of our filesystems
    > an executable dated Feb 1991, so it must be of 3.2 or even 3.1.5 origin,
    > built for the Power1 boxes back then.
    > It can be called on a Power5+ box under 5.3 without crashing, at least.
    > Try that with any other platform's executable of the very early nineties.


    VAX/VMS V2.x (circa 1978) executables still run on OpenVMS-VAX V7.3 (circa.
    2002).

    --
    David J Dachtera
    dba DJE Systems
    http://www.djesys.com/

    Unofficial OpenVMS Marketing Home Page
    http://www.djesys.com/vms/market/

    Unofficial Affordable OpenVMS Home Page:
    http://www.djesys.com/vms/soho/

    Unofficial OpenVMS-IA32 Home Page:
    http://www.djesys.com/vms/ia32/

    Unofficial OpenVMS Hobbyist Support Page:
    http://www.djesys.com/vms/support/

+ Reply to Thread