Find the answer to your Linux question:
Results 1 to 4 of 4
On a project I am working on, we have recently migrated some applications to red hat ES 4 boxes. We were able to rebuild our own libraries for ES 4, ...
  1. #1
    Just Joined!
    Join Date
    Mar 2009
    Posts
    3

    Need help with libstdc++.so.6 compatibility issue

    On a project I am working on, we have recently migrated some applications to red hat ES 4 boxes. We were able to rebuild our own libraries for ES 4, but in one case we had to migrate an older version of a third party, front end tool by copying the binary. This tool is essentially a scripting engine and invokes some of our c++ libraries through a c API facility it supports. Unfortunately, we cannot get the engine to load the libraries. We get the error:

    dlopen'. Failed to load library 'libespa.so'.
    Additional info: 'libstdc++.so.6: cannot handle TLS data

    libespas.so is one of our libraries that was rebuilt for ES 4. We know the library works as we can run it through testers and other applications. The issue is with the third party tool and it's scripting engine which was built on an older version of red hat without TLS support.

    Here's where it gets really complex. By accident, we ran a test with the wrong path which caused the test to use a libstdc++.so.6 that was included with another product. In this case, the scripting engine wa able to load and use our library. I checked the dependencies of this alternate libstdc++.so.6 and noticed that it was missing the dependency on GCC_4.2.0. This was the only dependency difference I could see between the libstdc++.so.6 on the standard path and the alternate libstdc++.so.6 we stumbled onto.

    We would just go ahead and use the alternate libstdc++.so.6, but we are not yet sure we are authorized to since it came with another product and may be a custom variation produced by this product's company. This project is for a large company and they are sticklers (as they should be) about licensing issues so they don't want to just point to it.

    I am hoping someone here can help clear up exactly what is going on, however, so we can understand exactly what the problem is and how we can permanently solve it.

    Any explanations or help would be appreciated. Sorry if this explanation is a little convoluted.

  2. #2
    Just Joined!
    Join Date
    Mar 2009
    Posts
    35
    libstdc++-4.1.2-42.el4.i386.rpm
    ftp://ftp.pbone.net/mirror/ftp.cento...2.el5.i386.rpm


    downlaod this file and install it

  3. #3
    Just Joined!
    Join Date
    Mar 2009
    Posts
    3
    Quote Originally Posted by Fantaman View Post
    libstdc++-4.1.2-42.el4.i386.rpm
    ftp://ftp.pbone.net/mirror/ftp.cento...2.el5.i386.rpm

    downlaod this file and install it
    Thanks, Fantaman. I had to get the 32 bit version, but I was able to navigate my way to it just fine. Unfortunately, it didn't solve the problem. I'm sstill getting the same error message of:

    'libstdc++.so.6: cannot handle TLS data

    This is really odd because I am sure libstdc++.so.6 CAN handle TLS data. It's the scripting engine front end that was built without TLS support. I think I need to find an older version of libstdc++.so.6 without the GCC_4.2.0 dependency to make this work.

  4. #4
    Just Joined!
    Join Date
    Mar 2009
    Posts
    3

    Can anyone help

    After doing a lot of research on this, I am convinced that our only hopes are:

    1) Obtain an updated front end product (i.e., the scripting engine) build for TLS and ES 4. Unfortunately, this isn't going to happen for several reasons.
    or

    2) Build a custom libstdc++.so

    I am probably going to have to experiment with several configurations, but I have never built a custom libstdc+++. I know it can be done, but can anyone provide information or point me to a link that might help with this? TIA

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
...