LINUX.ORG.RU

Distcc и кросс-компиляция между Gentoo i686 (основная) и Gentoo Hardened amd64

 , , ,


0

1

Есть мощный сервер на Gentoo Hardened amd64. Я хочу его использовать для помощи более слабому компу на Gentoo i686 через distcc.

Непосредственно с distcc и crossdev проблем нет. Но пакеты cross-i686-pc-linux-gnu собираются с флагом hardened.

Как быть? Пересобрать cross-i686-pc-linux-gnu/glibc и cross-i686-pc-linux-gnu/gcc вручную?

Можно на компе с amd64 пускать distcc в chroot

Black_Shadow ★★★★★
()

Но пакеты cross-i686-pc-linux-gnu собираются с флагом hardened.

А что, если указать флаг для пакета -hardened, это не помогает?

no-such-file ★★★★★
()

Смешивать hardened и не hardened компиляторы при компиляции через distcc КАТЕГОРИЧЕСКИ НЕЛЬЗЯ.

Моё предложение: чрут/lxc с non-hardened компилятором, distcc запущенный оттуда.

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

а если в профиле выбрать vanilla?

 [1] i686-pc-linux-gnu-4.8.2 *
 [2] i686-pc-linux-gnu-4.8.2-hardenednopie
 [3] i686-pc-linux-gnu-4.8.2-hardenednopiessp
 [4] i686-pc-linux-gnu-4.8.2-hardenednossp
 [5] i686-pc-linux-gnu-4.8.2-vanilla

anonymous8 ★★
() автор топика
Ответ на: комментарий от anonymous8

И ты уверен что не будешь забывать переключать профиль всегда, когда будешь использовать distcc?

Можно пропатчить distcc, чтобы использовал ванильные версии компиляторов. Или пошаманить с симлинками в /usr/lib64/distcc/bin. Хотя последнее - это больше для distcc как клиента.

Можно еще использовать нестандартный CHOST... Но это нужно делать на всех клиентах, поэтому это не очень хороший вариант.

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

И ты уверен что не будешь забывать переключать профиль всегда, когда будешь использовать distcc?

Не должно быть никакого профиля, в его случае компилятор берется из crossdev.
Я так понимаю, тулчэйн собран с hardend

madcore ★★★★★
()
Ответ на: комментарий от Pinkbyte

Полный gcc-config выглядит так:

 [1] i686-pc-linux-gnu-4.8.2 *
 [2] i686-pc-linux-gnu-4.8.2-hardenednopie
 [3] i686-pc-linux-gnu-4.8.2-hardenednopiessp
 [4] i686-pc-linux-gnu-4.8.2-hardenednossp
 [5] i686-pc-linux-gnu-4.8.2-vanilla

 [6] x86_64-pc-linux-gnu-4.7.3
 [7] x86_64-pc-linux-gnu-4.7.3-hardenednopie
 [8] x86_64-pc-linux-gnu-4.7.3-hardenednopiessp
 [9] x86_64-pc-linux-gnu-4.7.3-hardenednossp
 [10] x86_64-pc-linux-gnu-4.7.3-vanilla
 [11] x86_64-pc-linux-gnu-4.8.2 *
 [12] x86_64-pc-linux-gnu-4.8.2-hardenednopie
 [13] x86_64-pc-linux-gnu-4.8.2-hardenednopiessp
 [14] x86_64-pc-linux-gnu-4.8.2-hardenednossp
 [15] x86_64-pc-linux-gnu-4.8.2-vanilla

Достаточно же один раз переключить gcc для i686?

anonymous8 ★★
() автор топика
Ответ на: комментарий от madcore

Я оговорился, я хотел сказать про gcc-config, а не про профиль. Ведь можно же в gcc-config выбирать vanilla? Это влияет на distcc?

anonymous8 ★★
() автор топика
Ответ на: комментарий от madcore

Не должно быть никакого профиля, в его случае компилятор берется из crossdev.

Что?

buildserv1 ~ # gcc-config -l
 [1] i686-pc-linux-gnu-4.7.3 *

 [2] x86_64-pc-linux-gnu-4.7.3 *

i686-pc-linux-gnu - это target crossdev-а и он выбран через gcc-config.

Была бы hardened система, были бы еще таргеты

Pinkbyte ★★★★★
()
Ответ на: комментарий от anonymous8

я затупил немного, т.к. у тебя кросскомпиляция и если тебе нужен только ванильный кросскомпилятор - переключи его в gcc-config и будет тебе щастье

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.