Переменная chost в make.conf поменял, на свою голову.
lain 17 января, 2008 - 12:38
Жила-бала джента, нормально установленная, но мне приперлось зачем-то поменять переменную (chost в make.conf) ибо она не соответствовала моей архитектуре (стояло 486... а должно было быть 686...). Менял по мануалу по Gentoo.org, на этапе emerge -e world начались сообщения об ошибках связанные с компилятором С++ (якобы нету такого компилера). Пробовал пересобрать GCC со ВСЕМИ флагами, но это не помогло..
ПАМАГИИИТЕ ПЛИЗЗ, не хочется переустонавливать все.
»
- Для комментирования войдите или зарегистрируйтесь
хы
та ладно ..... все по доке.....
у тебя все завалилось бы еще на этом этапе:
Finishing The Change
Now it is necessary to re-emerge libtool and run fix_libtool_files.sh. Make sure to use the correct gcc version: (your current one, 4.1.1 here, and the old architecture, i386 here).
/etc/env.d/ - привел в порядок?
Ещё раз по доке
Ещё раз по доке пройдись. Внимательно. Лучше по английской
Подробнее по доке
Спасибо, за то что откликнулись. Решил все сделать еще раз внимательнее и заодно написать сюда подробности. Судите сами:
#gcc-config -l
[1] i686-pc-linux-gnu-4.1.2 *
#gcc-config -c
i686-pc-linux-gnu-4.1.2
#binutils-config -l
[1] i686-pc-linux-gnu-2.18 *
#binutils-config -c
i686-pc-linux-gnu-2.18
#cd /etc/env.d/
#grep 486 *
не находит ничего
#grep 686 *
05binutils:MANPATH=/usr/share/binutils-data/i686-pc-linux-gnu/2.18/man
05binutils:INFOPATH=/usr/share/binutils-data/i686-pc-linux-gnu/2.18/info
05binutils:LDPATH=/usr/i686-pc-linux-gnu/lib
05gcc-i686-linux-gnu:MANPATH="/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2/man"
05gcc-i686-linux-gnu:INFOPATH="/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2/info"
05gcc-i686-linux-gnu:LDPATH="/usr/lib/gcc/i686-pc-linux-gnu/4.1.2"
05gcc-i686-linux-gnu:PATH="/usr/i686-pc-linux-gnu/gcc-bin/4.1.2"
05gcc-i686-linux-gnu:ROOTPATH="/usr/i686-pc-linux-gnu/gcc-bin/4.1.2"
разница "05gcc" и "05gcc-i686-linux-gnu" - это важно?
#cd /etc/env.d/binutils/
#ls -la
-rw-r--r-- 1 root root 13 Янв 17 03:28 config-i686-pc-linux-gnu
-rw-r--r-- 1 root root 122 Янв 17 03:28 i686-pc-linux-gnu-2.18
#cat config-i686-pc-linux-gnu
CURRENT=2.18
#cat i686-pc-linux-gnu-2.18
TARGET="i686-pc-linux-gnu"
VER="2.18"
LIBPATH="/usr/lib/binutils/i686-pc-linux-gnu/2.18"
FAKE_TARGETS="i686-pc-linux-gnu"
#cd /etc/env.d/gcc
#ls -la
-rw-r--r-- 1 root root 32 Янв 17 13:23 config
-rw-r--r-- 1 root root 235 Янв 17 06:10 i686-pc-linux-gnu-4.1.2
config'а не было - вписал туда по аналогии с мануалом
#cat config
CURRENT=i686-pc-linux-gnu-4.1.2
#cat i686-pc-linux-gnu-4.1.2
LDPATH="/usr/lib/gcc/i686-pc-linux-gnu/4.1.2"
INFOPATH="/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2/info"
MANPATH="/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2/man"
STDCXX_INCDIR="g++-v4"
GCC_PATH="/usr/i686-pc-linux-gnu/gcc-bin/4.1.2"
следующих 3-х строчек не было - добавил сам по аналогии с мануалом
PATH="/usr/i686-pc-linux-gnu/gcc-bin/4.1.2"
ROOTPATH="/usr/i686-pc-linux-gnu/gcc-bin/4.1.2"
GCCBITS="32"
#grep -r 486 /etc/env.d/ - ничего не нашло
#fix_libtool_files.sh 4.1.2 --oldarch i486-pc-linux-gnu
#emerge -e world
собственно ничего не поменялось - при configure пишет на все checking for g++ c++ и т.п. "no" аналогично checking for i686-pc-linux-gnu-g++(c++, gpp и т.д.)
Не смотря на это первые 11 пакетов собирает, вылетает на 12-м (dev-libs/gmp-4.2.2)с ошибкой configure: error: C++ compiler not available
Может, зря
Может, зря дописывал всё это? Я тоже в своё время переходил с 386 на 686, так ничего сам вроде не писал.
Дело в том что
Дело в том что некоторые пакеты не видят гцц по симлинкам, а удут напрямую в /usr/i486-pc-linux-gnu - как вариан попробовать создать такую папку и в ней симлинки создать на файлы и симлинки в папке /usr/i686-pc-linux-gnu - все должно откомпилится.
Первый раз
Первый раз когда делал я ничего не дописывал нигде, это уже с утра решил четко по мануалу строчка в строчку чтоб все было. А вот на счет /usr/i686-pc-linux-gnu - там оказывается и половины нет того, что есть в /usr/i486-pc-linux-gnu, может я все же как то криво gcc собрал?
/usr/i486-pc-linux-gnu
итого 828
lrwxrwxrwx 1 21 Янв 15 07:13 c++ -> i486-pc-linux-gnu-c++*
lrwxrwxrwx 1 21 Янв 15 07:13 cpp -> i486-pc-linux-gnu-cpp*
lrwxrwxrwx 1 21 Янв 15 07:13 g++ -> i486-pc-linux-gnu-g++*
lrwxrwxrwx 1 21 Янв 15 07:13 gcc -> i486-pc-linux-gnu-gcc*
-rwxr-xr-x 1 16641 Апр 20 2007 gccbug*
-rwxr-xr-x 1 26784 Апр 20 2007 gcov*
lrwxrwxrwx 1 26 Янв 15 07:13 gfortran -> i486-pc-linux-gnu-gfortran*
-rwxr-xr-x 2 135404 Апр 20 2007 i486-pc-linux-gnu-c++*
-rwxr-xr-x 1 135404 Апр 20 2007 i486-pc-linux-gnu-cpp*
-rwxr-xr-x 2 135404 Апр 20 2007 i486-pc-linux-gnu-g++*
-rwxr-xr-x 1 131372 Апр 20 2007 i486-pc-linux-gnu-gcc*
lrwxrwxrwx 1 21 Янв 15 07:13 i486-pc-linux-gnu-gcc-4.1.1 -> i486-pc-linux-gnu-gcc*
-rwxr-xr-x 1 135404 Апр 20 2007 i486-pc-linux-gnu-gfortran*
-rwxr-xr-x 1 43856 Апр 20 2007 protoize*
-rw-r--r-- 1 0 Янв 17 23:15 txt.txt
-rwxr-xr-x 1 39760 Апр 20 2007 unprotoize*
/usr/i686-pc-linux-gnu
итого 636
-rwxr-xr-x 1 125840 Янв 17 06:10 cpp*
-rwxr-xr-x 3 125840 Янв 17 06:10 gcc*
-rwxr-xr-x 1 16616 Янв 17 06:10 gccbug*
-rwxr-xr-x 1 24240 Янв 17 06:10 gcov*
-rwxr-xr-x 3 125840 Янв 17 06:10 i686-pc-linux-gnu-gcc*
-rwxr-xr-x 3 125840 Янв 17 06:10 i686-pc-linux-gnu-gcc-4.1.2*
-rwxr-xr-x 1 40348 Янв 17 06:10 protoize*
-rw-r--r-- 1 969 Янв 17 23:15 txt.txt
-rwxr-xr-x 1 35676 Янв 17 06:10 unprotoize*
сделал симлинки из 486 на все чего нехватает в 686 (и назвал их 686 соответственно)
Сообщение об ошибке теперь такое:
C++ compiler i686-pc-linux-gnu-g++ -03 -mtune=i686 -pipe... no, program does not run
configure: error: C++ compiler not available,see config.log for details.
пробовал делать симлинки с i686-pc-linux-gnu-gcc на все что нехватает - то же самое
Что делать?
Вобщем поискал
Вобщем поискал мануалы, перкомпилил еще раз gcc и решил, что переставить все будет проще(и быстрее) чем разобраться что и как.
Так что всем спасибо.
http://www.gentoo.org/doc/en/
http://www.gentoo.org/doc/en/change-chost.xml
В том то и дело!
http://www.gentoo.org/doc/en/change-chost.xml
если бы я 3 дня назад не нашел этот мануал может быть и не появилось бы желания чтото менять, а так вот сижу сейчас компилю все снова.