IBM Support

LI74396: Symbol vector<...>::_Eq() missing with -g

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Shared objects that happened to export std::vector<...>::_Eq()
    no longer export this symbol with newer versions of the <vector>
    header file.
    This can cause programs built against the old shared object to
    fail to start when they are run against the shared object built
    against the new <vector> header file.
    Programs that do not use shared objects, and those that control
    the interface of their shared objects using export lists, are
    not affected by this problem.
    

Local fix

  • n/a
    

Problem summary

  • Users using implementation-internal members _Eq and/or _Lt
    of class template vector specializations.  They were removed to
    avoid the dependancy on the definitions of operator=() and
    operator<().
    _Eq and _Lt may however be referenced by older object files, and
    the removal may cause linking (static or runtime) to fail with
    unresolved references.
    

Problem conclusion

  • The members _Eq and _Lt were placed back, under the macro guard:
    __IBMCPP_COMPAT_VECTOR_COMPARISON_MEMBERS
    
    Thus, in order to get these members, users will have to add:
    #define __IBMCPP_COMPAT_VECTOR_COMPARISON_MEMBERS
    to their source file (before any #include directive to bring in
    <vector> either directly, or indirectly), or add:
    -D__IBMCPP_COMPAT_VECTOR_COMPARISON_MEMBERS
    to their compile line.
    

Temporary fix

Comments

APAR Information

  • APAR number

    LI74396

  • Reported component name

    XL C/C++ RHEL52

  • Reported component ID

    5724U8310

  • Reported release

    A10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2009-03-31

  • Closed date

    2009-03-31

  • Last modified date

    2009-03-31

  • APAR is sysrouted FROM one or more of the following:

    LI74333

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    XL C/C++ RHEL52

  • Fixed component ID

    5724U8310

Applicable component levels

[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSJT9L","label":"XL C\/C++"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"A.1","Line of Business":{"code":"LOB08","label":"Cognitive Systems"}}]

Document Information

Modified date:
16 October 2021