LinuxForum.Fans
Тема

[Решено] GCC 4.4.3 не компилит ничего

Автор: delta 21 сообщений 11832 просмотров
#45837

Обновился gcc на 4.4.3 и не компилит ничего. Что делать?

#45840

delta,
А что пишет-то?

#45850

Например компилю пакет и пишет:* Messages for package sys-apps/kbd-1.15:

text
* 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.

#45866

А что будет, если ручками создать что-то вроде

text

#include <stdio.h>

int main(void) { printf("Hello!\n"); return 0; }

и скомпилячить его:

text

g++ -o hello hello.cpp

?

#45869

Куда поместить и как назвать файл?

include <stdio.h>

int main(void)
{
printf("Hello!\n");
return 0;
}

ebuilды я еще не создавал поэтому не знаю что к чему.

#45873

куда угодно, в любой каталог. назвать hello.cpp и запустить компилятор приведенной выше строкой. Должен создаться исполняемый файл hello

#45876

Создал файл hello.cpp поместил его в /home
запустил команду g++ -o hello hello.cpp

выдал:gcc-config: error: could not run/locate 'g++'

#45879

delta,
тогда вместо g++ поставьте gcc

#45880

error: could not run/locate 'gcc'

#45889

delta,
Ну, тогда не знаю... Как еще может в Генте компилятор называьться??

#45892

gcc он в генте называется. Под рутом пробовали запускать?

#45894
Hvzh написал:
Как еще может в Генте компилятор называьться??

звучит то как.. почти абсурдная ситуация "шо ни линукс, то разное название для gcc"..

text
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:~$ 

вот если у вас такого нет, значит криво скомпилили.

#45935
delta написал:
Обновился gcc на 4.4.3

Как обновляли? Повторно пересобирали его самого?

#45952
HTaeD написал:
Повторно пересобирали его самого?

как можно скомпилить компилятор без компилятора?

#45953

system-root, ключевое слово "повторно".

#46085
Nightwolf_ng написал:
Не вижу
[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

#46098

* Please re-emerge gcc.

Ну так и сделайте это wink

#46100

Путем команд # gcc-config 1
# source /etc/profile
# env-update
Hvzh, Перешел на старую версию gcc и g++ -o hello hello.cpp создает исполняемый файл все правильно.

Сделал emerge -e system все пересобрал но gcc неполучилось.

text
* 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.

#46311
delta написал:
Здесь gcc 4.4.3 vs 4.3.4 советуют gcc собирать 2 раза.

Так перед обновлением желательно 2 раза пересобрать не только gcc но и весь тулчейн. Тогда вы будете в полностью новой системе после обновления.

Войдите или зарегистрируйтесь, чтобы ответить.