• Undefined symbols when migrating ACE application code from ACE 6.1.2 to

    From Shashi Guruprasad@21:1/5 to All on Mon Apr 16 16:52:15 2018
    Hi,

    Currently, our product includes ACE 6.1.2 running on CentOS 6.9 (same as RHEL6). I need to enable IPV6 with ACE_HAS_IPV6, and instead of doing this in ACE 6.1.2, I'm trying to embark on upgrading to a newer version of the ACE library to get all bug fixes
    for the last 5+ years.

    After compiling both ACE 6.4.7 (micro version) and 6.4.0 (stable version), I ran into a few linker errors when linking with our application code:

    undefined reference to `ACE_Condition_Thread_Mutex::ACE_Condition_Thread_Mutex(ACE_Thread_Mutex&, char const*, void*)'
    undefined reference to `ACE_Condition_Thread_Mutex::wait(ACE_Time_Value const*)'
    undefined reference to `ACE_Condition_Recursive_Thread_Mutex::ACE_Condition_Recursive_Thread_Mutex(ACE_Recursive_Thread_Mutex&)'
    undefined reference to `ACE_Condition_Thread_Mutex::broadcast()'
    undefined reference to `ACE_Condition_Thread_Mutex::~ACE_Condition_Thread_Mutex()'
    undefined reference to `ACE_Condition_Thread_Mutex::signal()'

    What is the latest version that I could use where ACE SDK API is backwards compatible with 6.1.2? I could try it one version at a time which is time consuming, which I will eventually do, but wanted to find out if someone on the list already knew.

    Any other guidance is appreciated.

    Thanks,
    Shashi

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Johnny Willemsen@21:1/5 to Shashi Guruprasad on Wed Apr 18 23:37:53 2018
    Hi,

    Have you also recompiled your application with the newest ACE library?

    Best regards,

    Johnny Willemsen
    Remedy IT
    http://www.remedy.nl

    On Tuesday, April 17, 2018 at 1:52:18 AM UTC+2, Shashi Guruprasad wrote:
    Hi,

    Currently, our product includes ACE 6.1.2 running on CentOS 6.9 (same as RHEL6). I need to enable IPV6 with ACE_HAS_IPV6, and instead of doing this in ACE 6.1.2, I'm trying to embark on upgrading to a newer version of the ACE library to get all bug
    fixes for the last 5+ years.

    After compiling both ACE 6.4.7 (micro version) and 6.4.0 (stable version), I ran into a few linker errors when linking with our application code:

    undefined reference to `ACE_Condition_Thread_Mutex::ACE_Condition_Thread_Mutex(ACE_Thread_Mutex&, char const*, void*)'
    undefined reference to `ACE_Condition_Thread_Mutex::wait(ACE_Time_Value const*)'
    undefined reference to `ACE_Condition_Recursive_Thread_Mutex::ACE_Condition_Recursive_Thread_Mutex(ACE_Recursive_Thread_Mutex&)'
    undefined reference to `ACE_Condition_Thread_Mutex::broadcast()'
    undefined reference to `ACE_Condition_Thread_Mutex::~ACE_Condition_Thread_Mutex()'
    undefined reference to `ACE_Condition_Thread_Mutex::signal()'

    What is the latest version that I could use where ACE SDK API is backwards compatible with 6.1.2? I could try it one version at a time which is time consuming, which I will eventually do, but wanted to find out if someone on the list already knew.

    Any other guidance is appreciated.

    Thanks,
    Shashi

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Shashi Guruprasad@21:1/5 to Johnny Willemsen on Fri Apr 20 17:35:59 2018
    Hi Johnny,

    Yes, the errors I posted above were link errors but this was after recompile of the code. I also made sure that the new version include files are present.

    After some trial and error with different versions, I was able to link ACE 6.3.0 version linked against my application. So, somewhere between ACE 6.3.X and 6.4.0, there were some incompatible method signature changes.

    -Shashi


    On Wednesday, April 18, 2018 at 11:37:57 PM UTC-7, Johnny Willemsen wrote:
    Hi,

    Have you also recompiled your application with the newest ACE library?

    Best regards,

    Johnny Willemsen
    Remedy IT
    http://www.remedy.nl

    On Tuesday, April 17, 2018 at 1:52:18 AM UTC+2, Shashi Guruprasad wrote:
    Hi,

    Currently, our product includes ACE 6.1.2 running on CentOS 6.9 (same as RHEL6). I need to enable IPV6 with ACE_HAS_IPV6, and instead of doing this in ACE 6.1.2, I'm trying to embark on upgrading to a newer version of the ACE library to get all bug
    fixes for the last 5+ years.

    After compiling both ACE 6.4.7 (micro version) and 6.4.0 (stable version), I ran into a few linker errors when linking with our application code:

    undefined reference to `ACE_Condition_Thread_Mutex::ACE_Condition_Thread_Mutex(ACE_Thread_Mutex&, char const*, void*)'
    undefined reference to `ACE_Condition_Thread_Mutex::wait(ACE_Time_Value const*)'
    undefined reference to `ACE_Condition_Recursive_Thread_Mutex::ACE_Condition_Recursive_Thread_Mutex(ACE_Recursive_Thread_Mutex&)'
    undefined reference to `ACE_Condition_Thread_Mutex::broadcast()'
    undefined reference to `ACE_Condition_Thread_Mutex::~ACE_Condition_Thread_Mutex()'
    undefined reference to `ACE_Condition_Thread_Mutex::signal()'

    What is the latest version that I could use where ACE SDK API is backwards compatible with 6.1.2? I could try it one version at a time which is time consuming, which I will eventually do, but wanted to find out if someone on the list already knew.

    Any other guidance is appreciated.

    Thanks,
    Shashi

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Johnny Willemsen@21:1/5 to Shashi Guruprasad on Sun Apr 22 10:27:01 2018
    Hi,

    When the code compiles but not links there is something else happening, wouldn't a signature change, else it wouldn't compile.

    Johnny

    On Saturday, April 21, 2018 at 2:36:02 AM UTC+2, Shashi Guruprasad wrote:
    Hi Johnny,

    Yes, the errors I posted above were link errors but this was after recompile of the code. I also made sure that the new version include files are present.

    After some trial and error with different versions, I was able to link ACE 6.3.0 version linked against my application. So, somewhere between ACE 6.3.X and 6.4.0, there were some incompatible method signature changes.

    -Shashi


    On Wednesday, April 18, 2018 at 11:37:57 PM UTC-7, Johnny Willemsen wrote:
    Hi,

    Have you also recompiled your application with the newest ACE library?

    Best regards,

    Johnny Willemsen
    Remedy IT
    http://www.remedy.nl

    On Tuesday, April 17, 2018 at 1:52:18 AM UTC+2, Shashi Guruprasad wrote:
    Hi,

    Currently, our product includes ACE 6.1.2 running on CentOS 6.9 (same as RHEL6). I need to enable IPV6 with ACE_HAS_IPV6, and instead of doing this in ACE 6.1.2, I'm trying to embark on upgrading to a newer version of the ACE library to get all bug
    fixes for the last 5+ years.

    After compiling both ACE 6.4.7 (micro version) and 6.4.0 (stable version), I ran into a few linker errors when linking with our application code:

    undefined reference to `ACE_Condition_Thread_Mutex::ACE_Condition_Thread_Mutex(ACE_Thread_Mutex&, char const*, void*)'
    undefined reference to `ACE_Condition_Thread_Mutex::wait(ACE_Time_Value const*)'
    undefined reference to `ACE_Condition_Recursive_Thread_Mutex::ACE_Condition_Recursive_Thread_Mutex(ACE_Recursive_Thread_Mutex&)'
    undefined reference to `ACE_Condition_Thread_Mutex::broadcast()' undefined reference to `ACE_Condition_Thread_Mutex::~ACE_Condition_Thread_Mutex()'
    undefined reference to `ACE_Condition_Thread_Mutex::signal()'

    What is the latest version that I could use where ACE SDK API is backwards compatible with 6.1.2? I could try it one version at a time which is time consuming, which I will eventually do, but wanted to find out if someone on the list already knew.

    Any other guidance is appreciated.

    Thanks,
    Shashi

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)