Bug 84885 - libstdc++ rpm does not create generic symlinks to actual lib names.
libstdc++ rpm does not create generic symlinks to actual lib names.
Status: CLOSED NOTABUG
Product: Red Hat Linux
Classification: Retired
Component: libstdc++ (Show other bugs)
8.0
i386 Linux
medium Severity high
: ---
: ---
Assigned To: Jakub Jelinek
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2003-02-22 18:22 EST by Jesse Keating
Modified: 2008-05-01 11:38 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2003-02-25 14:10:07 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 Jesse Keating 2003-02-22 18:22:20 EST
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 18:26:29 EST
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 14:10:07 EST
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 14:14:52 EST
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.

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