libstdc++ в gcc_small с sunfreeware (Sparc 8)
- From
- Victor Wagner (2:5020/400)
- To
- All
- Date
- 2005-06-30T13:44:32Z
- Area
- RU.UNIX.SOLARIS
From: vitus@45.free.net (Victor Wagner)
Наткнулся на такую забавную проблему - собираю
динамическую библиотеку на С++ с -m64, а она не грузится - утверждает
что libgcc.so.1 имеет неправильный ELFCLASS - 32.
Смотрю ldd и вижу, что она пытается вместо
/usr/local/lib/sparcv9/libgcc.so.1 подгрузить
/usr/local/lib/libgcc.so.1
(в другом месте наткнулся на то что при подгрузке динамической libstdc++
не резолвится символ __eprintf).
Если установить LD_LIBRARY_PATH в /usr/local/lib/sparcv9, то первая
проблема пропадает.
Игра с опцией -R линкера при сборке приложения или моей библиотеки - не
помогает.
При этом ldd, напущенный непосредственно на
/usr/local/lib/sparcv9/libstdc++.so.6 (или so.5) показывает ту же фигню.
Страдают этим эффектом обе версии gcc_small для 8-го соляриса, лежащие
на sunfreeware - и 3.3.2 и 3.4.2.
Насколько я понимаю, в "полных" версиях gcc этой пробелмы нет - с gcc
3.3 оттуда я жил долго и счастливо, но потребовалось сапгрейтиться по
другим причинам. А машинка старая, диск маленький и полная сборка gcc
3.4.2 или даже 3.3.2 не влезает.
Как посоветуете с проблемой бороться - задача - собирать и 32-битные и
64-битные приложения и динамические библиотеки на C++, чтобы они
запускались без игр с LD_LIBRARY_PATH.
--
--- ifmail v.2.15dev5.3
* Origin: Free Net of Leninsky,45 (2:5020/400)
SEEN-BY: 46/50 50/203 520 450/159 186 247 1024 451/30 461/640 469/999 4625/8
SEEN-BY: 4627/10 5000/76 5000 5001/5001 5006/1 5007/1 5010/70 5011/13 5015/10
SEEN-BY: 5020/52 118 175 194 400 545 715 758 902 937 1042 1523 1604 1922 2020
SEEN-BY: 5020/2238 4441 5021/29 5022/128 5025/3 750 5026/45 5027/16 5030/49
SEEN-BY: 5030/115 556 966 1900 1957 5031/72 5035/3 38 5036/1 5051/15 5054/1 4
SEEN-BY: 5054/8 9 28 35 37 5057/1 5060/88 5061/15 120 5062/1 10 5066/18 5067/2
SEEN-BY: 5069/7 5070/1222 5074/9 5075/5 35 5080/80 1003 5081/2 5082/6 5083/21
SEEN-BY: 5085/13 5090/113 5093/57 5095/20 5096/18 6000/254 6001/3
PATH: 5020/400 4441 545 5054/1 37