Обновился gcc на 4.4.3 и не компилит ничего. Что делать?
[Решено] GCC 4.4.3 не компилит ничего
delta,
А что пишет-то?
Например компилю пакет и пишет:* Messages for package sys-apps/kbd-1.15:
* ERROR: sys-apps/kbd-1.15 failed:
* econf failed
*
* Call stack:
* ebuild.sh, line 54: Called src_compile
* environment, line 2336: Called econf '--enable-nls'
* ebuild.sh, line 544: Called die
* The specific snippet of code:
* die "econf failed"
*
* If you need support, post the output of 'emerge --info =sys-apps/kbd-1.15',
* the complete build log and the output of 'emerge -pqv =sys-apps/kbd-1.15'.
* The complete build log is located at '/var/tmp/portage/sys-apps/kbd-1.15/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/sys-apps/kbd-1.15/temp/environment'.
* S: '/var/tmp/portage/sys-apps/kbd-1.15/work/kbd-1.15'
Причем это с любым пакетом так.
А вот build.log
[32;01m*[0m CPV: sys-apps/kbd-1.15
[32;01m*[0m REPO: gentoo
[32;01m*[0m USE: amd64 elibc_glibc kernel_linux multilib nls userland_GNU
>>> Unpacking source...
>>> Unpacking kbd-1.15.tar.gz to /var/tmp/portage/sys-apps/kbd-1.15/work
[32;01m*[0m Applying kbd-1.12-kbio.patch ...
[A[103C [34;01m[ [32;01mok[34;01m ][0m
>>> Source unpacked in /var/tmp/portage/sys-apps/kbd-1.15/work
>>> Compiling source in /var/tmp/portage/sys-apps/kbd-1.15/work/kbd-1.15 ...
* econf: updating kbd-1.15/config.guess with /usr/share/gnuconfig/config.guess
* econf: updating kbd-1.15/config.sub with /usr/share/gnuconfig/config.sub
./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=/usr/lib64 --enable-nls
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for bison... bison -y
checking for x86_64-pc-linux-gnu-gcc... x86_64-pc-linux-gnu-gcc
checking for C compiler default output file name...
configure: error: in `/var/tmp/portage/sys-apps/kbd-1.15/work/kbd-1.15':
configure: error: C compiler cannot create executables
See `config.log' for more details.
А что будет, если ручками создать что-то вроде
#include <stdio.h>
int main(void)
{
printf("Hello!\n");
return 0;
}
и скомпилячить его:
g++ -o hello hello.cpp
?
Куда поместить и как назвать файл?
include <stdio.h>
int main(void)
{
printf("Hello!\n");
return 0;
}
ebuilды я еще не создавал поэтому не знаю что к чему.
куда угодно, в любой каталог. назвать hello.cpp и запустить компилятор приведенной выше строкой. Должен создаться исполняемый файл hello
Создал файл hello.cpp поместил его в /home
запустил команду g++ -o hello hello.cpp
выдал:gcc-config: error: could not run/locate 'g++'
delta,
тогда вместо g++ поставьте gcc
error: could not run/locate 'gcc'
delta,
Ну, тогда не знаю... Как еще может в Генте компилятор называьться??
gcc он в генте называется. Под рутом пробовали запускать?
Как еще может в Генте компилятор называьться??
звучит то как.. почти абсурдная ситуация "шо ни линукс, то разное название для gcc"..
system-root@asus:~$ whereis gcc
gcc: /usr/bin/gcc /usr/lib/gcc
system-root@asus:~$ whereis cpp
cpp: /usr/bin/cpp /lib/cpp
system-root@asus:~$ whereis g++
g++: /usr/bin/g++
system-root@asus:~$ вот если у вас такого нет, значит криво скомпилили.
Обновился gcc на 4.4.3
Как обновляли? Повторно пересобирали его самого?
Повторно пересобирали его самого?
как можно скомпилить компилятор без компилятора?
system-root, ключевое слово "повторно".
Не вижу
[console]
gcc-config -l
[/console]
+ Могу присоветовать почитать "гэцэцэ упграде гуиде", помогает временами - http://www.gentoo.org/doc/en/gcc-upgrading.xml
Не вижу
[console]
gcc-config -l
[/console]
+ Могу присоветовать почитать "гэцэцэ упграде гуиде", помогает временами - http://www.gentoo.org/doc/en/gcc-upgrading.xml
gcc-config: Active gcc profile is invalid!
[1] x86_64-pc-linux-gnu-4.4.3
Я специально не обновлял gcc, я обновился emerge --update --newuse --deep --ask world gcc там не заметил,так бы не обновлялся, а спросил. Я и раньше слышал о проблемах с gcc4.4.3 некоторые люди писали что приходилось уставливать заного систему. Мне не хотелось бы.
gcc-config config-x86_64-pc-linux-gnu выдает:* Your gcc has a bug with GCC_SPECS.
* Please re-emerge gcc.
* http://bugs.gentoo.org/68395
* Please re-emerge gcc.
Ну так и сделайте это wink
Путем команд # gcc-config 1
# source /etc/profile
# env-update
Hvzh, Перешел на старую версию gcc и g++ -o hello hello.cpp создает исполняемый файл все правильно.
Сделал emerge -e system все пересобрал но gcc неполучилось.
* Messages for package sys-devel/gcc-4.4.3-r2:
* ERROR: sys-devel/gcc-4.4.3-r2 failed:
* emake failed with bootstrap-lean
gcc-config -l gjказывает
[1] x86_64-pc-linux-gnu-4.4.3
*
* Call stack:
* ebuild.sh, line 54: Called src_compile
* environment, line 5134: Called toolchain_src_compile
* environment, line 5729: Called gcc_src_compile
* environment, line 3289: Called gcc_do_make
* environment, line 3079: Called die
* The specific snippet of code:
* emake LDFLAGS="${LDFLAGS}" STAGE1_CFLAGS="${STAGE1_CFLAGS}" LIBPATH="${LIBPATH}" BOOT_CFLAGS="${BOOT_CFLAGS}" ${GCC_MAKE_TARGET} || die "emake failed with ${GCC_MAKE_TARGET}";
*
* If you need support, post the output of 'emerge --info =sys-devel/gcc-4.4.3-r2',
* the complete build log and the output of 'emerge -pqv =sys-devel/gcc-4.4.3-r2'.
* The complete build log is located at '/var/tmp/portage/sys-devel/gcc-4.4.3-r2/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/sys-devel/gcc-4.4.3-r2/temp/environment'.
* S: '/var/tmp/portage/sys-devel/gcc-4.4.3-r2/work/build'
Второй раз сделал emerge -e system и теперь gcc 4.4.3 собрался.
Всем спасибо за ответы!
Здесь http://linuxforum.ru/viewtopic.php?id=148 советуют gcc собирать 2 раза. У меня так и получилось, что дважды сделал emerge -e system.
Здесь gcc 4.4.3 vs 4.3.4 советуют gcc собирать 2 раза.
Так перед обновлением желательно 2 раза пересобрать не только gcc но и весь тулчейн. Тогда вы будете в полностью новой системе после обновления.