Bug 87556 - glibc-2.3.2 incompatibility with dual install of gcc 2.95.3 & gcc 3.2
glibc-2.3.2 incompatibility with dual install of gcc 2.95.3 & gcc 3.2
Status: CLOSED NOTABUG
Product: Red Hat Linux
Classification: Retired
Component: glibc (Show other bugs)
8.0
i686 Linux
medium Severity medium
: ---
: ---
Assigned To: Jakub Jelinek
Brian Brock
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2003-03-28 14:27 EST by John Ketchum
Modified: 2016-11-24 09:58 EST (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2003-03-29 03:43:18 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description John Ketchum 2003-03-28 14:27:30 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1) Gecko/20021003

Description of problem:
Hardware: Dual processor Compaq W6000 running RH 7.2
Installed gcc version 2.95.3 20010315 (release), compiled from tarball sources
obtained from Gnu web site.  Installation directory /usr/local/bin
Used this as default compiler

Upgraded to RH 8.0,from iso's and then installed all available rpm updates,
including glibc-2.3.2-4.80, and related rpms.

I now have a Redhat 8.0 system, running the stock mp kernel

which has two versions of gcc: 2.95.3 and 3.2, and with glibc 2.3.2.

when I try to build a C++ program, using the two compilers, it compiles fine
with gcc 2.95.3, but I get a bunch of unresolved symbols in the link step with
gcc 3.2. If I add 

-lstdc++

to the link step, the symbols are resolved OK.


Version-Release number of selected component (if applicable):
glibc-2.3.2-4.80

How reproducible:
Always

Steps to Reproduce:
1.See Description
2.
3.
    

Actual Results:  linker error messages:  
new_main.o: In function `__tcf_0':
/usr/include/c++/3.2/iostream:62: undefined reference to
`std::ios_base::Init::~Init [in-charge]()'
new_main.o:/usr/include/c++/3.2/iostream:62: undefined reference to
`__gxx_personality_v0'
encode_t.o: In function `__static_initialization_and_destruction_0':
/home/johnk/projects/ofdm/warp.h:14: undefined reference to `__gxx_personality_v0'


Expected Results:  No error messages from the link step

Additional info:

#uname -a
Linux xxxx.yyyyy.com 2.4.18-14smp #1 SMP Wed Sep 4 12:34:47 EDT 2002 i686 i686
i386 GNU/Linux


#usr/bin/gcc -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--disable-checking --host=i386-redhat-linux --with-system-zlib --enable-__cxa_atexit
Thread model: posix
gcc version 3.2 20020903 (Red Hat Linux 8.0 3.


#/usr/local/bin/gcc -v
Reading specs from /usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.3/specs
gcc version 2.95.3 20010315 (release)
Comment 1 Jakub Jelinek 2003-03-29 03:43:18 EST
If you link with gcc driver, then you indeed have to supply -lstdc++
(or -lsupc++ if your program isn't using STL at all).
g++ driver is what should be used to link C++ programs and shared libraries.

Note You need to log in before you can comment on or make changes to this bug.