LINUX.ORG.RU

gentoo prefix - unknown gcc

 , , ,


0

2

Установка ломается на следующем:

* ready to bootstrap stage3
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
!!! unknown GCC compiler

Hmmmm, I was already afraid of this to happen.  Running
  /Users/olegchiruhin/gentoo/bin/bash /Users/olegchiruhin/bin/bootstrap-prefix "/Users/olegchiruhin/gentoo" stage3
somewhere failed :(  Details might be found in the build log:
  (no build logs found?!?)

Что делать?

★★★★☆

Ответ на: комментарий от dvrts

Есть субпроект gentoo по портированию на другие архитектуры. В частности, можно «натянуть» gentoo поверх макоси.

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

Да. Просто gcc --version в последней редакции конпелятора больше не выдает gcc, а выдает Apple LLVM. Такого варианта в бутстрап-скрипте не предусмотрено.

Сейчас хакаю бутстрап, натягиваю на него юз и цпп-опции для lto, и всякие другие, чтобы LLVM подхватился автоматом. Если получится - дам патч) Честно говоря, ничего не понимаю в генту, так что вероятность низкая

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

К тем, что меня задолбали глючные макпортсы, и brew в котором ничего нет

Я вчера полночи писал скрипты для сборки dev-версий apache, php, итп из транка репозиториев проектов, и понял, что всего через год напишу генту. Зачем писать то, что уже есть?

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

Это у всех так. Похоже, прилетело последним апдейтом на XCode.

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

Более точно,

Last login: Tue Oct  8 19:17:20 on ttys002
➜  ~  gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 5.0 (clang-500.2.76) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin12.5.0
Thread model: posix
➜  ~
stevejobs ★★★★☆ ()
Ответ на: комментарий от stevejobs

freenode.net: gentoo-prefix, там и подскажут и в патчах заинтересованы.

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

В общем, у тебя XCode5, как я понимаю?
GCC там больше нет, только шланг.

/usr/bin/gcc - обертка для скриптов, которые вызывают gcc напрямую.

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

замечательно - делать-то что?

втупую не получилось - как не работало, так и не работает. Теперь валится где-то, собрать не может.

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

лог сборки? конкретные ошибки?

ну и да, со сборкой ленты шлангом, я думаю, будет куча проблем

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

Тогда разворачивайте stage3 в отдельную директорию, делайте в неё chroot и собирайте ваши нужные программы, запускать их будете так же в chroot окружении.

Если это не подходит, т.е. запуск в chroot, то разбирайтесь как их собрать посредством компилятора MacOS (CLANG) .

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

ты сообщения читаешь, прежде чем писать? Чукча не читатель? Это Gentoo Prefix. После разворачивания stage3 он не может собрать gcc, потому что где-то в бутстрап-скрипте накосячили с переменными окружения и он не подхватыват apple-gcc42 (5666) из портов, а юзает системную обертку над llvm.

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

Для получения Gentoo stage3 не нужен bootstrap.

Просто скачиваешь архив stage3 нужной тебе архитектуры отсюда http://distfiles.gentoo.org/releases/, распаковываешь его:

mkdir gentoo 
tar -xpf stage3-i686-20130827.tar.bz2 -C gentoo/
И делаешь в него chroot:
mount -o bind /dev gentoo/dev
mount -t proc none gentoo/proc
chroot gentoo /bin/sh
Всё, собирай всё, что хочешь, ни какого bootstrap не нужно.
emerge-webrsync
emerge -av apache
Естественно не забудь в начале указать DNS сервер:
echo namerserver 8.8.8.8 > gentoo/etc/resolv.conf

А то, что ты делаешь совсем не понятно.

Просто видимо, это ты так и не удосужился открыть Gentoo Handbook.

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

Что же ты упертый-то такой? Посоветовал бы еще дуалбут, виртуалбокс, вообще второй компьютер купить. У меня уже есть линукс - куча арчлинуксов, рядом в 30 сантиметрах стоит комп с убунтой, на которой запущено куча виртуалок с арчем, итп. Нафиг твой генту не уперся. Я очень рад, что ты знаешь, как ставить генту, но моя проблема этого никак не касается. Проблема конкретно с Gentoo Prefix, которому как раз нужен бутстрап-скрипт, в нем и весь смысл.

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

Тебя ни кто не заставляет ставить Gentoo. Можно просто распаковать stage3 и установить в нём нужные тебе программы посредством chroot и потом так же и запускать:

chroot gentoo/нужная_программа

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

Смотря что тебе нужно.

А так либо правь debootstrap скрипт либо разбирайся как в MacOSx собрать нужное тебе средствами системы.

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

1) Я и так собираю нужное мне средствами системы. Мне это не нравится, т.к. требует усилий. В конце концов, есть macports итп. Портеж удобней и, самое главное, там уже есть нужные ебилды.

Чтобы все было легко и хорошо есть такая штука - Gentoo Prefix. О ней здесь речь.

2) Мне нужно собирать это окружение не только на локальной машине но и на виртуальных/шаредхостингах. Я и так собираю это руками. Например, вот это - мой скрипт «наивной» установки PHP 5.5.5-dev (ночная сборка) на шаред-хостинг, где свой собственный PHP - протухший 5.3: https://github.com/olegchir/php-for-shared-hosting/blob/master/install-php-la...

Но, например, мне сейчас понадобились слоты. Да, я напишу слоты. И юзы напишу. И все остальное тоже. Но зачем мне их писать, если оно уже написано в портеже?

Ну и да, чрут здесь совсем не годится, т.к. на каждый чих придется писать как минимум ядреные CGI-wrapers, которые будут внутри поднимать чрут, и от этого просядет перфоманс. Который и так невеликий из-за использования CGI.

3) Если так хорошо разбираешься в генту, сам бы уже пошел давно да поправил тот скрипт префикса. Вангую, изобразить ситуацию можно легко - временно переместить системный gcc куда-нибудь в другое место. Будет то же самое, что было бы с «неправильным» gcc, только ошибки чуть-чуть другие

4)

А так либо правь debootstrap скрипт

Кэп в треде. А слабо как-нибудь хакнуть, чтобы оно заработало без правки ванильных скриптов? Пользователи не должны править системные скрипты.

И да, это не debootstrap, а gentoo-bootstrap.

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

Я и так собираю нужное мне средствами системы. Мне это не нравится, т.к. требует усилий. В конце концов, есть macports итп. Портеж удобней и, самое главное, там уже есть нужные ебилды.
...
Но, например, мне сейчас понадобились слоты. Да, я напишу слоты. И юзы напишу. И все остальное тоже. Но зачем мне их писать, если оно уже написано в портеже?

Всё очень просто, используйте Gentoo. Раз уж там есть всё то, что вам нужно, плюс возможность установки последних версий программ из VCS.

Если так хорошо разбираешься в генту, сам бы уже пошел давно да поправил тот скрипт префикса. Вангую, изобразить ситуацию можно легко - временно переместить системный gcc куда-нибудь в другое место. Будет то же самое, что было бы с «неправильным» gcc, только ошибки чуть-чуть другие

Всё е тестировать всё это надо в аналогичном окружении (системе), т.е. Mac OS, которой нет у меня под рукой.

А слабо как-нибудь хакнуть, чтобы оно заработало без правки ванильных скриптов? Пользователи не должны править системные скрипты.

В таком случае пользователи могут написать баг репорт автору скрипта с просбой его поправить.

И да, это не debootstrap, а gentoo-bootstrap.

Мда, опечатался.

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

Всё очень просто, используйте Gentoo.

предлагать мантейнеру арча использовать генту - это так толсто, что даже тонко :3

Раз уж там есть всё то, что вам нужно,

из того что мне нужно там есть только сервера и консольные утилиты. Я делаю сайты, а это подразумевает, например, Фотошоп в обязательном порядке. Фотошопом удобно пользоваться на маке из-за отличной поддержки мультитача (через Apple Magic Trackpad и Wacom Intuos). А вот для того, чтобы украсть модельку из 3dsMax нужна винда, т.к. Макс запускается только на ней. Итп. Однако это не исключает, что написанно нужно запускать на опенсорцных серверах. Вот поэтому MacOSX - самая отличная система в качестве основной, на ней запускается все (кроме Макса. Ну и последний ProTools еще не покрякали, но это имеет мало отношения к сайтам :). Не нужно включать три компьютера, три монитора, три клавиатуры, три мышки, и бегать между ними как белка в колесе. В принципе, мне и gentoo prefix был бы не нужен, если бы не а) криворукие мантейнеры макпортов, из-за которых инитскрипты приходится копировать и адаптировать из Старого Арча б) стремление к ненужной «штабильности», в результате которой нету пакетов с ночными сборками PHP и прочими полезными вещами. в) неудобство самой системы, которая не позволяет быстро на лету писать свои пакеты г) невозможность в точности повторить конфигурацию в префиксе на другой ОС

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

предлагать мантейнеру арча использовать генту - это так толсто, что даже тонко :3

Ну, во-первых, у тебя на лбу не написано, что ты мантейнер арча. Во-вторых не вижу ничего зазорного в том, что предлагаю перейти на использование более вменяемой системы.

Ну а по поводу всего остального, ну жуй кактус, правда, если у тебя с ним такие проблемы, в виду необходимых возможностей, зачем его использовать. Если у тебя легальная копия MacOSx то обратись в тех. поддержку с просьбой объяснения как легко и быстро собирать последний версии нужных тебе программ.

kostik87 ★★★★★ ()

что мешает поставить нормальный GCC а не украденную и запроприетаренную яблоподелку ?

anonymous ()

Собери gcc отдельно куда-нибудь в /usr/local, добавь соответсвующий PATH при запуске bootstrap-prefix.sh так, чтобы при вызове gcc выбирался именно он а не родной llvm.

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

Сделано (из портов). Но скрипт, который устанавливает префикс, сбрасывает gcc назад на системный. Я даже прямо в скрипт этот новый PATH вкостылил (т.к. он рекурсивно сам себя вызывает, мало ли что...). Но нет, нифига

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

Ну тогда 2 варианта:

а) допилить скрипт самому, патч - на багзиллу. Ссылку на баг сюда - я переназначу на кого надо
б) #gentoo-prefix на irc.freenode.net и ловить там heroxbd, ottxor, redlizard. Это те, кто или разрабатывают префикс или просто неплохо в нем шарят.

Pinkbyte ★★★★★ ()

Вот она сила OS X 10.9. В итоге получили кучу глючного софта, который еще в 10.8 работал вполне сносно.

andreyu ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.