Вы здесь

[решено] В процессе установки вылетает "C compiller cannot create executables"

Добрый день

Ставлю генту на AthlonX2 64

Ставлю все по хэндбуку, после перехода в chroot, обновляю portage, пытаюсь ставить пакеты (любые)
emerge genkernel (отваливается установка cpio-2.11)
emerge portage (отваливается на установке m4-1.4.16)

вот такой фразой:
C compiller cannot create executables

make.conf

CFLAGS="-O2 -pipe -march=k8-sse3, -mtune=k8"
CXXFLAGS="${CFLAGS}"
CHOST="x86_64-pc-linux-gnu"
LDFLAGS="-Wl,-O1 -Wl, --as-needed"
USE="3dfx X acpi alsa qt kde"
MAKEOPTS="-j3"
...

Перечитал все факи и форумы. Причину понять никак не могу!!

Ай НИИД ХЕЕЛЛПП!!

ADD:
надо было добавить -fomit-frame-pointer, чтобы получилось

CFLAGS="-O2 -pipe -march=k8-sse3 -mtune=k8 -fomit-frame-pointer"

все стало работать и компилиться

ADD:

Поторопился..

Некоторые пакеты стали компилиться но не все =(

ADD:

Действительно, в инструкциях

LDFLAGS="-Wl,-O1 -Wl,--as-needed"

Пробелов быть не должно!
Откомпилил все необходимые пакеты..

Спасибо Spoiler!

Пару дней назад столкнулся с похожей проблемой: http://gentoo.ru/node/26533

Советую для начала попробовать запустить gcc руками, что-то вроде создать файл helloworld.c с текстом

#include <stdio.h>

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

и попробовать его скомпилировать:

gcc -o helloworld heloworld.c

У меня он при этом ругался на отсутствие libgmp.so.3 и libmpfr.so.1 Возможно, здесь дело в том-же самом. Решение - создать символьыне ссылки на libgmp.so.10.0.2 и libmpfr.so.4.1.1 и пересобрать эти библиотеки:

emerge -av1 dev-libs/gmp dev-libs/mpfr dev-libs/mpc

Хотя, возможно, дело и не в этом.

helloworld

Скомпилился на ура.. Но я этому не рад ) т.к. пока вопрос вышеозначенный не решён..

Но все равно спасибо!!

надо было добавить -fomit-frame-pointer, чтобы получилось

CFLAGS="-O2 -pipe -march=k8-sse3 -mtune=k8 -fomit-frame-pointer"

Эта инструкция помогла, но при этом не все пакеты компилятся, по прежнему вылетает ошибка
c compiler cannot create executables

PoLiNoMm написал:
LDFLAGS="-Wl,-O1 -Wl, --as-needed"

В этом месте пробел после запятой является недопустимым символом, поправьте. А ещё можно и так написать:
LDFLAGS=-Wl,-O1,--as-needed

—

Мы тоже не всего читали Шнитке!.. © В. Вишневский

Спасибо Spoiler!

Действительно, в инструкциях

LDFLAGS="-Wl,-O1 -Wl,--as-needed"

Пробелов быть не должно!
Откомпилил все необходимые пакеты..

Зачем вообще трогать LDFLAGS без понимания того, что они делают? Тем более без изменения умолчательного значения?

—

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.