Титла: Проблем с libstdc++ на гентоо
Публикувано от: senser в Sep 17, 2005, 21:31
Здравейте, Пускам темата в секцията за напреднали, защото повече от седмица търся решение (включително и форумите на gentoo) и не мога да открия такова. Ако модераторите преценят нека да я преместят. Проблема: при последния ъпдейт на системата emerge крашна с грешка (не помня кой пакет точно) от сорта: Примерен код | undefined reference to `libintl_bindtextdomain
|
След кратка справка в google и по форумите проблема се оказа в USE флага "nls" (NativeLanguageSupport). Прекомпилирах gcc, glibc, binutils, gettext с USE="-nls" и проблема се реши но се появи нов. Някои от пакетите вкл. libstdc++-v3, (mozilla, ......) не могат да се ъпдейтнат - грешката по време на инсталация е:
Примерен код | checking whether the C compiler ( /var/tmp/portage/libstdc++-v3-3.3.6/work/build/gcc/xgcc -B/var/tmp/portage/libstdc++-v3-3.3.6/work/build/gcc/ -B/usr/x86_64-pc-linux-gnu/bin/ -B/usr/x86_64-pc-linux-gnu/lib/ -isystem /usr/x86_64-pc-linux-gnu/include -O2 -march=x86-64 -O2 -pipe ) works... no configure: error: installation or configuration problem: C compiler cannot create executables. make: *** [configure-target-libiberty] Error 1
!!! ERROR: sys-libs/libstdc++-v3-3.3.6 failed. !!! Function src_compile, Line 232, Exitcode 2 !!! (no error message) !!! If you need support, post the topmost build error, NOT this status message.
|
Прекомпилирах абсолютно всичко (цялата система) от началото но без резултат.
Двата лог-а от инсталацията на libstdc++-v3 са пълни с грешки от рода на:
Примерен код | configure:610: checking whether to enable maintainer-specific portions of Makefiles configure:635: checking for makeinfo configure:681: checking for perl configure:721: checking host system type configure:744: checking build system type configure:770: checking for ar configure:802: checking for ranlib configure:871: checking for gcc configure:950: checking whether we are using GNU C configure:959: /var/tmp/portage/libstdc++-v3-3.3.6/work/build/gcc/xgcc -B/var/tmp/portage/libstdc++-v3-3.3.6/work/build/g$ configure:975: checking whether /var/tmp/portage/libstdc++-v3-3.3.6/work/build/gcc/xgcc -B/var/tmp/portage/libstdc++-v3-3$ configure:1007: checking whether /var/tmp/portage/libstdc++-v3-3.3.6/work/build/gcc/xgcc -B/var/tmp/portage/libstdc++-v3-$ configure:1022: /var/tmp/portage/libstdc++-v3-3.3.6/work/build/gcc/xgcc -B/var/tmp/portage/libstdc++-v3-3.3.6/work/build/$ configure:1023: /var/tmp/portage/libstdc++-v3-3.3.6/work/build/gcc/xgcc -B/var/tmp/portage/libstdc++-v3-3.3.6/work/build/$ configure:1028: cc -c conftest.c 1>&5 configure:1030: cc -c conftest.c -o conftest.o 1>&5 configure:1031: cc -c conftest.c -o conftest.o 1>&5 configure:1067: checking for POSIXized ISC configure:1088: checking for working const configure:1142: /var/tmp/portage/libstdc++-v3-3.3.6/work/build/gcc/xgcc -B/var/tmp/portage/libstdc++-v3-3.3.6/work/build/$ cc1: error: invalid option `tune=athlon64' cc1: error: unrecognized option `-fweb' cc1: error: bad value (athlon64) for -march= switch cc1: error: bad value (athlon64) for -mcpu= switch configure: failed program was: #line 1093 "configure" #include "confdefs.h"
|
Примерен код | configure:1374: gcc -E -march=athlon64 -mtune=athlon64 -O2 -pipe -ftracer -frename-registers -fweb -fomit-frame-pointer co$ configure:1370:23: sys/pstat.h: No such file or directory configure: failed program was: #line 1369 "configure" #include "confdefs.h" #include <sys/pstat.h> configure:1364: checking for sys/sysmp.h configure:1374: gcc -E -march=athlon64 -mtune=athlon64 -O2 -pipe -ftracer -frename-registers -fweb -fomit-frame-pointer co$ configure:1370:23: sys/sysmp.h: No such file or directory configure: failed program was: #line 1369 "configure" #include "confdefs.h" #include <sys/sysmp.h> configure:1364: checking for sys/sysinfo.h configure:1374: gcc -E -march=athlon64 -mtune=athlon64 -O2 -pipe -ftracer -frename-registers -fweb -fomit-frame-pointer co$ configure:1364: checking for machine/hal_sysinfo.h configure:1374: gcc -E -march=athlon64 -mtune=athlon64 -O2 -pipe -ftracer -frename-registers -fweb -fomit-frame-pointer co$ configure:1370:33: machine/hal_sysinfo.h: No such file or directory configure: failed program was: #line 1369 "configure" #include "confdefs.h" #include <machine/hal_sysinfo.h> configure:1364: checking for sys/table.h configure:1374: gcc -E -march=athlon64 -mtune=athlon64 -O2 -pipe -ftracer -frename-registers -fweb -fomit-frame-pointer co$ configure:1370:23: sys/table.h: No such file or directory configure: failed program was: #line 1369 "configure" #include "confdefs.h" #include <sys/table.h> configure:1364: checking for sys/sysctl.h configure:1374: gcc -E -march=athlon64 -mtune=athlon64 -O2 -pipe -ftracer -frename-registers -fweb -fomit-frame-pointer co$ configure:1364: checking for sys/systemcfg.h configure:1374: gcc -E -march=athlon64 -mtune=athlon64 -O2 -pipe -ftracer -frename-registers -fweb -fomit-frame-pointer co$ configure:1370:27: sys/systemcfg.h: No such file or directory configure: failed program was: #line 1369 "configure"
|
Прилича ми на проблем с хедърните файлове .... но не знам вече
Ето и малко инфо за системата:
Portage 2.0.52-r1 (default-linux/amd64/2005.0, gcc-3.4.4, glibc-2.3.5-r1, 2.6.12-gentoo-r6 x86_64) ================================================================= System uname: 2.6.12-gentoo-r6 x86_64 AMD Athlon 64 Processor 2800+ Gentoo Base System version 1.12.0_pre8
Титла: Проблем с libstdc++ на гентоо
Публикувано от: senser в Sep 18, 2005, 08:08
Проблема с libstdc++-v3 го реших след доста ровене и в крайна сметка успях да го компилирам като премахнах "-fweb" флага в CFLAGS в make.conf. Но проблема с mozilla, firefox, ..... си остава - не мога да ги компилирам. Всички опити за инсталация гърмят с грешка: Примерен код | /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.4/libstdc++.so: undefined reference to `libintl_bindtextdomain' /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.4/libstdc++.so: undefined reference to `libintl_textdomain'
|
Дори не мога да прекомпилирам кернела. make menuconfig свършва със със същата грешка. Библиотеката libstdc++.so е част от gcc, но както казах вече неколкократно съм преинсталирал gcc-3.4.4-r1 без успех. Може би проблема е пак в някой от флаговете ..... 
Титла: Проблем с libstdc++ на гентоо
Публикувано от: ray в Sep 18, 2005, 10:23
Здравей, Най-вероятно проблема ти е в скорошен 'update' на GCC. Пусни "#gcc-config -l" да се види какви компилатори имаш инсталирани. Пусни тук изхода ако не стане нищо. После в зависимост от горното пусни "fix_libtool_files.sh" и виж опциите (обикновенно се задава версията на стария/предишния gcc). Пусни и "revdep-rebuild" да видиш дали някои пакети не се нуждаят от прекомпилация. Вероятно е libstdc++, но недей просто така да прекомпилираш това онова, едва ли ще се получи нещо добро. Сега проверих и се оказа, че "libstdc++-v3" е най-високо по йерархията (зависи от - binutils,gcc-config, gcc,glibc ...). Успех. Румен
Титла: Проблем с libstdc++ на гентоо
Публикувано от: senser в Sep 18, 2005, 11:50
Цитат (ray @ Сеп. 18 2005,11:23) | Здравей, Най-вероятно проблема ти е в скорошен 'update' на GCC. Пусни "#gcc-config -l" да се види какви компилатори имаш инсталирани. Пусни тук изхода ако не стане нищо. После в зависимост от горното пусни "fix_libtool_files.sh" и виж опциите (обикновенно се задава версията на стария/предишния gcc). Пусни и "revdep-rebuild" да видиш дали някои пакети не се нуждаят от прекомпилация. Вероятно е libstdc++, но недей просто така да прекомпилираш това онова, едва ли ще се получи нещо добро. Сега проверих и се оказа, че "libstdc++-v3" е най-високо по йерархията (зависи от - binutils,gcc-config, gcc,glibc ...). Успех. Румен |
Мерси за отговора, но забравих да спомена, че всички тези неща вече съм ги пробвал без резултат. Просто gcc, glibc,binutils, gettext (това са основно пакетите коитоимат кастелство към проблема) си се инсталират и конфигурират без проблем ;
Преди малко намерих решение, но Румен вече беше ме изпреварил. Проблема идва от реда на инсталиране на въпросните пакети. По неясни (дори и за разработчиците) причини инсталацията на gettext презаписва наново някои от библиотеките, които са част от glibc, и ако в последствие gcc се компилира с тези библиотеки се получава въпросния проблем. Решението е след инсталация на тези пакети просто наново да се прекомпилират glibc & gcc, при което не се нарушава работата на gettext (който е критичен за gentoo) и в същото време gcc работи без проблем.
Надявам се да съм бил полезен ако някой има подобен проблем.
Поздрави!
|