Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 300811

Summary: Ensure that AC does not depend on deprecated libs in Linux.
Product: z_Archived Reporter: Paul Slauenwhite <paulslau>
Component: TPTPAssignee: Sean Lamers <slamers>
Status: CLOSED FIXED QA Contact: Kathy Chan <kathy>
Severity: major    
Priority: P1 CC: jcayne, jgwest
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard: adopter
Bug Depends on: 240677    
Bug Blocks:    
Attachments:
Description Flags
Patch - configuration changes
none
libverifier.a for Linux EM64T
none
libverifier.a for Linux IPF none

Description Paul Slauenwhite CLA 2010-01-26 09:16:45 EST
Ensure that AC does not depend on deprecated libs in Linux.

Over the past few years, the RHEL and SuSE Linux distros have moved to newer versions of the libstdc++ libraries, while providing the deprecated APIs and bits in optional "compatibility" libraries. The TPTP 4.5.2.1 Agent Controller and earlier is compiled against the older libs.

To ensure that the AC works on Linux, the consuming product's installation checks for the presence of the older libs and blocks until they are installed. On RHEL4 and RHEL5 systems, they remain available and supported yet, but I don't know about RHEL6. On SLE10 systems, they are available, but on SLE11 systems they are not available on some platforms and available but not supported on others.

This has forced a recompilation of the AC to use the newer libs, at least for SuSE. The following was created to address this case:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=240677

We'll need to ensure that this set of bits runs on RHEL also, or compile for those also.
Comment 1 Jonathan West CLA 2010-01-26 11:44:54 EST
Hi Sean, can you take a look? Especially WRT 64-bit distributions where we had seen a problem with Ubuntu x64 earlier in 2009 (and therefore may have a problems with new distros like SLES 11).
Comment 2 Sean Lamers CLA 2010-01-26 16:17:06 EST
It looks like only the Linux IA32 GCC was upgraded as part of bug 240677. On EM64T and IPF, the AC is currently compiled with GCC 3.2.3 and thus requires libstdc++.so.5. Newer Linux distros ship with libstdc++.so.6 and as Paul mentioned may not support the older version of the library. To fix this, the compilers for Linux EM64T and IPF will need to be upgraded to newer versions, preferably matching the Linux IA32 GCC version of 3.4.6.
Comment 3 Paul Slauenwhite CLA 2010-02-15 10:20:06 EST
What is the outlook on this for TPTP 4.7.0?
Comment 4 Paul Slauenwhite CLA 2010-03-01 08:45:25 EST
Sean, what is the time estimate for this defect?
Comment 5 Joel Cayne CLA 2010-03-01 08:54:15 EST
This defect is planned for 4.7.0.
Comment 6 Paul Slauenwhite CLA 2010-03-01 09:01:52 EST
(In reply to comment #5)
> This defect is planned for 4.7.0.

Thanks.  What is the sizing (required by a consuming product)?
Comment 7 Sean Lamers CLA 2010-03-01 09:26:16 EST
Updated time estimate for consuming product.
Comment 8 Paul Slauenwhite CLA 2010-03-09 12:16:07 EST
Kathy, can we increase the priority to P1 since this is required by a consuming product?
Comment 9 Kathy Chan CLA 2010-03-09 12:53:22 EST
Let's try to do this in the beginning of I2 development.

Paul, not sure if you are aware that this had been fixed for 32-bit system already in TPTP 4.6.2.  So the remaining part to fix in TPTP 4.7 is for 64-bit only.
Comment 10 Paul Slauenwhite CLA 2010-03-09 13:16:51 EST
(In reply to comment #9)
> Let's try to do this in the beginning of I2 development.
> 
> Paul, not sure if you are aware that this had been fixed for 32-bit system
> already in TPTP 4.6.2.  So the remaining part to fix in TPTP 4.7 is for 64-bit
> only.

Yes.  Although the consuming product only requires a fix for Windows/Linux 32-bit, I figured we would track the issue under one defect.  If we cannot complete the rest of the work in I2, lets split the defect for 32/64-bit platforms.
Comment 11 Sean Lamers CLA 2010-03-23 17:34:39 EDT
Created attachment 162828 [details]
Patch - configuration changes

This patch modifies the Linux EM64T configuration files to account for the new build environment. It also modifies the Linux IA32 files for formatting consistency.
Comment 12 Sean Lamers CLA 2010-03-23 17:39:31 EDT
Created attachment 162829 [details]
libverifier.a for Linux EM64T

Located in platform/org.apache.harmony_vmcore_verifier/lib/linux/release/EM64T. Built with gcc 3.4.6.
Comment 13 Sean Lamers CLA 2010-03-23 17:41:47 EDT
Created attachment 162830 [details]
libverifier.a for Linux IPF

Located in platform/org.apache.harmony_vmcore_verifier/lib/linux/release/IPF. Built with gcc 3.4.6.
Comment 14 Jonathan West CLA 2010-03-23 20:08:58 EDT
Patch and .a files checked into HEAD.
Comment 15 Sean Lamers CLA 2010-03-23 20:19:50 EDT
Thanks Jonathan!
Comment 16 Sean Lamers CLA 2010-03-25 11:33:07 EDT
Updated sizing. Resolving.
Comment 17 Paul Slauenwhite CLA 2010-06-24 13:34:45 EDT
Verified in TPTP 4.7.0 RC4.

Closing.