Bug 34796

Summary: hcp in lam introduces conflicts between libstdc++-devel and glibc-devel
Product: [Retired] Red Hat Linux Reporter: John Deisz <john.deisz>
Component: lamAssignee: Trond Eivind Glomsrxd <teg>
Status: CLOSED RAWHIDE QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.1   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2001-04-06 16:06:34 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description John Deisz 2001-04-05 02:15:09 UTC
From Bugzilla Helper:
User-Agent: Mozilla/4.76 [en] (X11; U; Linux 2.4.2-0.1.28 i586; Nav)


A simple c++ code compiles with g++.  However,  when
hcp is used (the lam wrapper for g++) the code does not
compile.  The code appears below.

#include <complex>
using namespace std;

int main()
{
  return 0;
}


Reproducible: Always
Steps to Reproduce:
1.  Compile the code using g++
2. Compile the code with hcp
3.
	

Actual Results:  [deisz@dhcp-29-26-149-24 deisz]$ g++ main.cc
[deisz@dhcp-29-26-149-24 deisz]$ hcp main.cc
In file included from /usr/include/g++-3/complex:7,
                 from main.cc:1:
/usr/include/g++-3/std/complext.h:314: declaration of `double hypot 
(double, double)' throws different exceptions
/usr/include/bits/mathcalls.h:150: than previous declaration `double 
hypot (double, double) throw ()'


Expected Results:  Comiling with hcp should not produce errors.  hcp should
include the lam include files and link to the lam librariers,
but this should not affect this simple code.

* The same problem occurs when using the lam package on rawhide
   as well as the lam package obtained from the lam web site.

* These should all be wolverine packages.

[deisz@dhcp-29-26-149-24 deisz]$ rpm -q lam
lam-6.3.3b58-1

[deisz@dhcp-29-26-149-24 deisz]$ rpm -q libstdc++-devel
libstdc++-devel-2.96-75

[deisz@dhcp-29-26-149-24 deisz]$ rpm -q glibc-devel
glibc-devel-2.2.2-3

*  Using hcp -v gives the following

[deisz@dhcp-29-26-149-24 deisz]$ hcp -v main.cc
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/2.96/specs
gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-75)
 /usr/lib/gcc-lib/i386-redhat-linux/2.96/cpp0 -lang-c++ -D__GNUG__=2 -v
-I/usr/include -D__GNUC__=2 -D__GNUC_MINOR__=96 -D__GNUC_PATCHLEVEL__=0
-D__ELF__ -Dunix -Dlinux -D__ELF__ -D__unix__ -D__linux__ -D__unix
-D__linux -Asystem(posix) -Acpu(i386) -Amachine(i386) -Di386 -D__i386
-D__i386__ -D__tune_i386__ main.cc /tmp/ccGyegVI.ii
GNU CPP version 2.96 20000731 (Red Hat Linux 7.1 2.96-75) (cpplib) (i386
Linux/ELF)
ignoring nonexistent directory "/usr/local/include"
ignoring nonexistent directory "/usr/i386-redhat-linux/include"
ignoring duplicate directory "/usr/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/include
 /usr/include/g++-3
 /usr/lib/gcc-lib/i386-redhat-linux/2.96/include
End of search list.
 /usr/lib/gcc-lib/i386-redhat-linux/2.96/cc1plus /tmp/ccGyegVI.ii -quiet
-dumpbase main.cc -version -o /tmp/cc04bFPv.s
GNU C++ version 2.96 20000731 (Red Hat Linux 7.1 2.96-75)
(i386-redhat-linux) compiled by GNU C version 2.96 20000731 (Red Hat Linux
7.1 2.96-75).
In file included from /usr/include/g++-3/complex:7,
                 from main.cc:1:
/usr/include/g++-3/std/complext.h:314: declaration of `double hypot 
(double, double)' throws different exceptions
/usr/include/bits/mathcalls.h:150: than previous declaration `double 
hypot (double, double) throw ()'
[deisz@dhcp-29-26-149-24 deisz]$rpm -q lam
lam-6.3.3b58-1
[deisz@dhcp-29-26-149-24 deisz]$ rpm -q libstc++-devel
package libstc++-devel is not installed
[deisz@dhcp-29-26-149-24 deisz]$ rpm -q libstdc++-devel
libstdc++-devel-2.96-75
[deisz@dhcp-29-26-149-24 deisz]$ rpm -q glibc-devel
glibc-devel-2.2.2-3
[deisz@dhcp-29-26-149-24 deisz]$ hcp -v main.cc 
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/2.96/specs
gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-75)
 /usr/lib/gcc-lib/i386-redhat-linux/2.96/cpp0 -lang-c++ -D__GNUG__=2 -v
-I/usr/include -D__GNUC__=2 -D__GNUC_MINOR__=96 -D__GNUC_PATCHLEVEL__=0
-D__ELF__ -Dunix -Dlinux -D__ELF__ -D__unix__ -D__linux__ -D__unix
-D__linux -Asystem(posix) -Acpu(i386) -Amachine(i386) -Di386 -D__i386
-D__i386__ -D__tune_i386__ main.cc /tmp/ccK5QSiG.ii
GNU CPP version 2.96 20000731 (Red Hat Linux 7.1 2.96-75) (cpplib) (i386
Linux/ELF)
ignoring nonexistent directory "/usr/local/include"
ignoring nonexistent directory "/usr/i386-redhat-linux/include"
ignoring duplicate directory "/usr/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/include
 /usr/include/g++-3
 /usr/lib/gcc-lib/i386-redhat-linux/2.96/include
End of search list.
 /usr/lib/gcc-lib/i386-redhat-linux/2.96/cc1plus /tmp/ccK5QSiG.ii -quiet
-dumpbase main.cc -version -o /tmp/ccENXusv.s
GNU C++ version 2.96 20000731 (Red Hat Linux 7.1 2.96-75)
(i386-redhat-linux) compiled by GNU C version 2.96 20000731 (Red Hat Linux
7.1 2.96-75).
In file included from /usr/include/g++-3/complex:7,
                 from main.cc:1:
/usr/include/g++-3/std/complext.h:314: declaration of `double hypot 
(double, double)' throws different exceptions
/usr/include/bits/mathcalls.h:150: than previous declaration `double 
hypot (double, double) throw ()'
[deisz@dhcp-29-26-149-24 deisz]$

Comment 1 Trond Eivind Glomsrxd 2001-04-06 16:03:30 UTC
If you use hpc -showme, you'll see that it specifies -I/usr/include directly
when compiling. Remove that, and it works. It'll be removed from lam soonish.

Comment 2 Trond Eivind Glomsrxd 2001-04-06 16:06:28 UTC
(hcp, not hpc)

Comment 3 Trond Eivind Glomsrxd 2001-04-07 19:46:38 UTC
OK, after some communication with the author, the problem has been solved in lam
CVS and I've put it into 6.5.1-1, coming to Rawhide someday.