This is the mail archive of the gcc-prs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

c++/2242: C++ programs built with gcc won't find libstdc++.so



>Number:         2242
>Category:       c++
>Synopsis:       C++ programs built with gcc won't find libstdc++.so
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Fri Mar 09 03:56:01 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     Johan Fredriksson
>Release:        gcc version 2.95.2
>Organization:
>Environment:
Digital Unix 4.0 on Alphas
>Description:
A C++ program compiled and linked with g++ won't find
libstdc++.so if gcc is installed in a location other than
/usr or /usr/local
The problem can be solved using the flag -Wl,-rpath,/usr/foo/lib
but I think gcc should do this itself.
I have made a quick-and-dirty patch wich is included below
>How-To-Repeat:
Not necessery
>Fix:
Apply the patch
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="patch-rpath"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="patch-rpath"

LS0tIGdjYy9nY2MuYy5vbGQJVGh1IE1hciAgOCAxMToxNDozMiAyMDAxCisrKyBnY2MvZ2NjLmMJ
VGh1IE1hciAgOCAxMzo0NTozMiAyMDAxCkBAIC0yNTc0LDEwICsyNTc0LDEyIEBACiAgIGNvbnN0
IGNoYXIgKnRlbXA7CiAgIGNoYXIgKnRlbXAxOwogICBjaGFyICpzcGVjX2xhbmcgPSAwOworICBj
aGFyICpycGF0aCA9IE5VTEw7CiAgIGludCBsYXN0X2xhbmd1YWdlX25faW5maWxlczsKICAgaW50
IGhhdmVfYyA9IDA7CiAgIGludCBoYXZlX28gPSAwOwogICBpbnQgbGFuZ19uX2luZmlsZXMgPSAw
OworICBpbnQgbmV4dF9pc19ycGF0aCA9IDA7CiAKICAgR0VUX0VOVl9QQVRIX0xJU1QgKGdjY19l
eGVjX3ByZWZpeCwgIkdDQ19FWEVDX1BSRUZJWCIpOwogCkBAIC0yODE4LDYgKzI4MjAsOCBAQAog
ICAgICAgZWxzZSBpZiAoc3RybmNtcCAoYXJndltpXSwgIi1XbCwiLCA0KSA9PSAwKQogCXsKIAkg
IGludCBqOworCSAgaWYoc3Ryc3RyKGFyZ3ZbaV0sICIsLXJwYXRoLCIpKQorCSAgICBuZXh0X2lz
X3JwYXRoID0gMTsKIAkgIC8qIFNwbGl0IHRoZSBhcmd1bWVudCBhdCBjb21tYXMuICAqLwogCSAg
Zm9yIChqID0gMzsgYXJndltpXVtqXTsgaisrKQogCSAgICBuX2luZmlsZXMgKz0gKGFyZ3ZbaV1b
al0gPT0gJywnKTsKQEAgLTMwNDcsNiArMzA1MSwxMSBAQAogCX0KICAgICB9CiAKKyAgLyogTWFr
ZSBzcGFjZSBmb3IgLXJwYXRoIGFyZ3VtZW50ICovCisgIGlmKCFuZXh0X2lzX3JwYXRoICYmICFo
YXZlX2MpCisgICAgbl9pbmZpbGVzICs9IDI7CisgIG5leHRfaXNfcnBhdGggPSAwOworCiAgIGlm
IChoYXZlX2MgJiYgaGF2ZV9vICYmIGxhbmdfbl9pbmZpbGVzID4gMSkKICAgICBmYXRhbCAoImNh
bm5vdCBzcGVjaWZ5IC1vIHdpdGggLWMgb3IgLVMgYW5kIG11bHRpcGxlIGNvbXBpbGF0aW9ucyIp
OwogCkBAIC0zMTgyLDE2ICszMTkxLDUwIEBACiAJICAvKiBTcGxpdCB0aGUgYXJndW1lbnQgYXQg
Y29tbWFzLiAgKi8KIAkgIHByZXYgPSA0OwogCSAgZm9yIChqID0gNDsgYXJndltpXVtqXTsgaisr
KQotCSAgICBpZiAoYXJndltpXVtqXSA9PSAnLCcpCi0JICAgICAgewotCQlpbmZpbGVzW25faW5m
aWxlc10ubGFuZ3VhZ2UgPSAiKiI7Ci0JCWluZmlsZXNbbl9pbmZpbGVzKytdLm5hbWUKLQkJICA9
IHNhdmVfc3RyaW5nIChhcmd2W2ldICsgcHJldiwgaiAtIHByZXYpOwotCQlwcmV2ID0gaiArIDE7
CisJICAgIGlmIChhcmd2W2ldW2pdID09ICcsJykgeworCQlpZihuZXh0X2lzX3JwYXRoKSB7CisJ
CSAgICAvKiBBcHBlbmQgb3VyIG93biBycGF0aCAqLworCQkgICAgcnBhdGggPSBtYWxsb2Moc3Ry
bGVuKGFyZ3ZbaV0pICsKKwkJCQkgICBzdHJsZW4oU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWCkp
OworCQkgICAgcnBhdGggPSBzYXZlX3N0cmluZyAoYXJndltpXSArIHByZXYsIGogLSBwcmV2KTsK
KwkJICAgIHJwYXRoW2ogLSBwcmV2XSA9ICc6JzsKKwkJICAgIHN0cmNweShycGF0aCArIGogLSBw
cmV2ICsgMSwgU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWCk7CisJCSAgICBpZihycGF0aFtzdHJs
ZW4ocnBhdGgpIC0gMV0gPT0gJy8nKQorCQkJLyogUmVtb3ZlIHRyYWlsaW5nIHNsYXNoICovCisJ
CQlycGF0aFtzdHJsZW4ocnBhdGgpIC0gMV0gPSAnXDAnOworCQkgICAgaW5maWxlc1tuX2luZmls
ZXNdLmxhbmd1YWdlID0gImMrKyI7CisJCSAgICBpbmZpbGVzW25faW5maWxlcysrXS5uYW1lID0g
cnBhdGg7CisJCSAgICBuZXh0X2lzX3JwYXRoID0gMDsKKwkJfSBlbHNlIHsKKwkJICAgIGluZmls
ZXNbbl9pbmZpbGVzXS5sYW5ndWFnZSA9ICIqIjsKKwkJICAgIGluZmlsZXNbbl9pbmZpbGVzXS5u
YW1lCisJCQk9IHNhdmVfc3RyaW5nIChhcmd2W2ldICsgcHJldiwgaiAtIHByZXYpOworCQkgICAg
aWYoIXN0cmNtcChpbmZpbGVzW25faW5maWxlc10ubmFtZSwgIi1ycGF0aCIpKQorCQkJbmV4dF9p
c19ycGF0aCA9IDE7CisJCSAgICBlbHNlCisJCQluZXh0X2lzX3JwYXRoID0gMDsKKwkJICAgIG5f
aW5maWxlcysrOworCQkgICAgcHJldiA9IGogKyAxOworCQl9CiAJICAgICAgfQogCSAgLyogUmVj
b3JkIHRoZSBwYXJ0IGFmdGVyIHRoZSBsYXN0IGNvbW1hLiAgKi8KLQkgIGluZmlsZXNbbl9pbmZp
bGVzXS5sYW5ndWFnZSA9ICIqIjsKLQkgIGluZmlsZXNbbl9pbmZpbGVzKytdLm5hbWUgPSBhcmd2
W2ldICsgcHJldjsKKwkgIGlmKG5leHRfaXNfcnBhdGgpIHsKKwkgICAgICBycGF0aCA9IG1hbGxv
YyhzdHJsZW4oYXJndltpXSkgKworCQkJICAgICBzdHJsZW4oU1RBTkRBUkRfU1RBUlRGSUxFX1BS
RUZJWCkpOworCSAgICAgIHN0cmNweShycGF0aCwgYXJndltpXSArIHByZXYpOworCSAgICAgIHJw
YXRoW3N0cmxlbihhcmd2W2ldKSAtIHByZXZdID0gJzonOworCSAgICAgIHN0cmNweShycGF0aCAr
IHN0cmxlbihhcmd2W2ldKSAtIHByZXYgKyAxLAorCQkgICAgIFNUQU5EQVJEX1NUQVJURklMRV9Q
UkVGSVgpOworCSAgICAgIGlmKHJwYXRoW3N0cmxlbihycGF0aCkgLSAxXSA9PSAnLycpCisJCSAg
LyogUmVtb3ZlIHRyYWlsaW5nIHNsYXNoICovCisJCSAgcnBhdGhbc3RybGVuKHJwYXRoKSAtIDFd
ID0gJ1wwJzsKKwkgICAgICBpbmZpbGVzW25faW5maWxlc10ubGFuZ3VhZ2UgPSAiKiI7CisJICAg
ICAgaW5maWxlc1tuX2luZmlsZXMrK10ubmFtZSA9IHJwYXRoOworCSAgICAgIG5leHRfaXNfcnBh
dGggPSAwOworCSAgfSBlbHNlIHsKKwkgICAgICBpbmZpbGVzW25faW5maWxlc10ubGFuZ3VhZ2Ug
PSAiKiI7CisJICAgICAgaW5maWxlc1tuX2luZmlsZXMrK10ubmFtZSA9IGFyZ3ZbaV0gKyBwcmV2
OworCSAgfQogCX0KICAgICAgIGVsc2UgaWYgKHN0cmNtcCAoYXJndltpXSwgIi1YbGlua2VyIikg
PT0gMCkKIAl7CkBAIC0zMzAyLDYgKzMzNDUsMTkgQEAKIAkgICAgfQogCX0KICAgICB9CisKKyAg
aWYocnBhdGggPT0gTlVMTCAmJiAhaGF2ZV9jKSB7CisgICAgLyogTm8gcnBhdGggd2FzIGdpdmVu
IHRvIHRoZSBsaW5rZXIsIGdpdmUgb3VyIG93biAqLworICAgIGluZmlsZXNbbl9pbmZpbGVzXS5s
YW5ndWFnZSA9ICIqIjsKKyAgICBpbmZpbGVzW25faW5maWxlcysrXS5uYW1lID0gIi1ycGF0aCI7
CisgICAgaW5maWxlc1tuX2luZmlsZXNdLmxhbmd1YWdlID0gIioiOworICAgIHJwYXRoID0gbWFs
bG9jKHN0cmxlbihTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYKSArIDEpOworICAgIHN0cmNweShy
cGF0aCwgU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWCk7CisgICAgaWYocnBhdGhbc3RybGVuKHJw
YXRoKSAtIDFdID09ICcvJykKKwkvKiBSZW1vdmUgdHJhaWxpbmcgc2xhc2ggKi8KKwlycGF0aFtz
dHJsZW4ocnBhdGgpIC0gMV0gPSAnXDAnOworICAgIGluZmlsZXNbbl9pbmZpbGVzKytdLm5hbWUg
PSBycGF0aDsKKyAgfQogCiAgIGlmIChuX2luZmlsZXMgPT0gbGFzdF9sYW5ndWFnZV9uX2luZmls
ZXMgJiYgc3BlY19sYW5nICE9IDApCiAgICAgZXJyb3IgKCJXYXJuaW5nOiBgLXggJXMnIGFmdGVy
IGxhc3QgaW5wdXQgZmlsZSBoYXMgbm8gZWZmZWN0Iiwgc3BlY19sYW5nKTsK


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]