Bug 84885

Summary: libstdc++ rpm does not create generic symlinks to actual lib names.
Product: [Retired] Red Hat Linux Reporter: Jesse Keating <jkeating>
Component: libstdc++Assignee: Jakub Jelinek <jakub>
Status: CLOSED NOTABUG QA Contact:
Severity: high Docs Contact:
Priority: medium    
Version: 8.0CC: jkeating, mitr
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: 2003-02-25 19:10:07 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 Jesse Keating 2003-02-22 23:22:20 UTC
Description of problem:
When libraries are installed, generic symlinks are created to point to the
actual lib name.  ld looks for these generic names.  This is good, as ld doesn't
have to be reconfigured every time a library is updated or the name changes
slightly.

Unfortionatly, libstdc++ doesn't create these libs, and thus, any application
that would like to include libstdc++ when linking, will fail.

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


How reproducible:
Always

Steps to Reproduce:
1. install libstdc++
2. run ld -lstdc++
    

Actual Results:  [root@yoda root]# ld -lstdc++
ld: cannot find -lstdc++

Expected Results:  ld should find the library, and in this example, bail out due
to no other input:

[root@yoda root]# ld -lstdc++
ld: warning: cannot find entry symbol _start; not setting start address

Additional info:

To get ld working correctly, all I did was create 2 symbolic links. 
/usr/lib/libstdc++.a and /usr/lib/libstdc++.so.  These pointed to the actual
library files accordingly.

Comment 1 Jesse Keating 2003-02-22 23:26:29 UTC
I was able to duplicate this bug in 7.3 and 7.2, not sure if it exists any
farther back, or forward.

Comment 2 Jakub Jelinek 2003-02-25 19:10:07 UTC
It is on purpose. First of all, ld shouldn't be used directly to link libraries
or binaries, that's what gcc/g++ driver is for.
And there is really no THE libstdc++, but each compiler has its own.
So which libstdc++ are you linking against depends on which compiler are you
using (g++, g++296, something else).

Comment 3 Jesse Keating 2003-02-25 19:14:52 UTC
So, since the compile of php didn't complete, and I was using gcc, and the php
spec file from 7.3 with the latest 4.3.1 php source, where would the problem
lie?  The spec file?  The RPM macros?  The php source?  I'm just trying to
figure where I can file this bug, so that other people spend a long time trying
to figure out why php won't compile correctly.

Of note, when doing a straight ./configure and make of php (no special options)
I did not run into this problem.  It was only when building via the rpm spec file.