Бинарное обновление gcc

Доброго дня,
Упорно не мог собрать gcc на старой слабенькой машине. Впервые воспользовался бинарным обновлением, перебросил через quickpkg на нее с другой, поставил. Переключил версию.
И теперь ничего не собирается типа "C compiler cannot create executables". В чем может быть причина? Может быть нельзя бинарно компилятор обновлять?

Цитата: В чем может быть

Цитата:
В чем может быть причина?

В некорректно выставленных CFLAGS в make.conf на системе, в которой собирался бинарный пакет. CFLAGS на целевой системе и системе, на которой происходит сборка пакета должны совпадать, в march и mtune не должно присутствовать native, ибо указание native указывает компилятору задействовать функцию автоопределения процессора, его расширений и прочего и собирать код с учётом особенностей процессора. В итоге, если указан native или cflags отличается, то код, сгенерированный на более новой машине (процессоре) не запустится на более старой.

В идеале на обоих ПК, на котором происходит сборка бинарных пакетов и на котором происходит их установка должна быть одна и та же система, т.е. одинаковый make.conf, в особенности одинаковый cflags, смотрите уточнения выше, как следствие одинаковый набор флагов и профиль.

Если что-то из этого не соблюдено, то бинарный пакет, собранный на одной системе, а точнее программы и библиотеки в нём, не будет работать на другой системе.

В идеале все пакеты вы должны собирать на одной системе, а на другой только ставить.

А как узнать какие CFLAGS

А как узнать какие CFLAGS определяются чтобы подставить их при сборке, собрав в CHROOT? Или может быть просто стандартно собрать "-O2 -pipe" ?

Читайте:

Читайте: http://gentoo.ru/content/u-menya-processor-imyarek-chto-podstavlyat-v-peremennuyu-cflags

Но если у вас там native, то всё равно могут быть проблемы.

Что сейчас указано в make.conf на ПК, куда будет ставиться бинарный пакет и на системе, где этот бинарный пакет будет собираться?

В обоих случаях указано

В обоих случаях указано "-march=native -mtune=native -O2 -pipe"
Сейчас пробую собрать бинарник, жестко указав флаги.

Цитата: В обоих случаях

Цитата:
В обоих случаях указано "-march=native -mtune=native -O2 -pipe"

В таком случае на обоих ПК должны быть установлены одинаковые процессоры, достаточно, что бы они были из одной линейки, одинаковая архитектура (ядро), ну либо процессора на системе, на которой, происходит сборка должен быть из младшей линейки.

Цитата:
Сейчас пробую собрать бинарник, жестко указав флаги.

Попробуйте, но только как показывает практика вам лучше в таком случае пересобрать всю систему.

Пересобирать на этом древнем

Пересобирать систему на этом древнем чуде слишком муторно. Собрать и поставил GCC удалось, выяснив нужные флаги. Все собирается. Спасибо.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".