LINUX.ORG.RU

[gentoo] всё поломал при переезде ~x86 -> ~amd64

 


0

1

Перенес систему на другой ноут, решил сменить профиль на amd64: обновил CHOST=«x86_64-pc-linux-gnu» CFLAGS="-march=core2 -mtune=generic -O2 -pipe" ACCEPT_KEYWORDS=«~amd64» в make.conf
Сначала пытался собрать gcc, но он не собрался, потом решил обновить system и что-то сломал, больше ничего не компилится:

# emerge ncurses
sh: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
sh: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
sh: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
Calculating dependencies... done!
sh: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

>>> Verifying ebuild manifests
sh: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

>>> Emerging (1 of 1) sys-libs/ncurses-5.7-r6
sh: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
sh: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
[sys-libs/ncurses-5.7-r6] bash: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
 * The ebuild phase 'die_hooks' has been aborted since PORTAGE_BUILDIR does
 * not exist: '/var/tmp/portage/sys-libs/ncurses-5.7-r6'

>>> Failed to emerge sys-libs/ncurses-5.7-r6
sh: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
sh: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
 * 
 * The following package has failed to build or install:
 * 
 *  (sys-libs/ncurses-5.7-r6, ebuild scheduled for merge)
 * 
sh: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

Вопросы: ЧЯДНТ почему сломался ncurses? Как его починить и как правильно обновить всю систему на amd64?

★★★★★

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

>Да. Только с нуля.
Неужели нельзя пересобрать тулчейн из 32-битной системы?

P.S. Может мне кто-нибудь дать бинарный пакет ncurses из ~x86

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

а на 64 бита переезжать таким образом - угрохаете еще больше

надо было сохранить world
make.conf
/etc/portage/*

подправить make.conf

и собирать все заново

/home/ естественно можно оставить


ps: http://ompldr.org/vNmNtNw/ncurses-5.7-r6.tbz2

Sylvia ★★★★★
()

Я делал так: собрал кросскомпилятором amd64-ядро, развернул стейж, в него ядро, ребут, в новой системе подмонтировал /usr/portage, подсунул старый world, а дальше emerge -e world и спать.

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

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

staseg ★★★★★
()

Ладно, пошел stage3 разворачивать, пока систему окончательно недобил. Всем спасибо

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

Ладно, спасибо, я думал всё гораздо проще будет >__<

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

P.S. Спасибо за ncurses, теперь хотя бы можно на 32-битной работать

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

>А что, с нуля ставить систему? Я ж полдня угрохаю =)

Не обязательно с нуля. Конфиги можешь старые (выборочно) оставить. Вообще, об этом в хэндбуке раньше большими буквами говорилось - не меняйте CHOST без надобности. И меняйте если только прекрасно знаете, что делаете.

...

32-х битная система на 64-х битную так просто не меняется.

KRoN73 ★★★★★
()

В документации специально для дебилов написано, что такая миграция с x86 на x86_64 невозможна.

anonymous
()
Ответ на: комментарий от xorik

берете компилятор , который поддерживает сборку 64 бит

* sys-devel/kgcc64
Available versions:
(x86_64-pc-linux-gnu-3.4) (~)3.4.6!s
(x86_64-pc-linux-gnu-4.1) (~)4.1.2!s
(x86_64-pc-linux-gnu-4.2) (~)4.2.4!s
(x86_64-pc-linux-gnu-4.3) **4.3.1!s **4.3.2!s *4.3.3!s
(x86_64-pc-linux-gnu-4.4) *4.4.4!s
{multislot nptl test vanilla}
Homepage: http://gcc.gnu.org/
Description: 64bit kernel compiler


возможно этот сойдет, хотя я им не пользовалась


распаковываете исходники ядра

ARCH=x86_64 make menuconfig
ARCH=x86_64 make -j4 tar-pkg

вообщем все собирается почти как обычно, за исключением форсирования ARCH=x86_64


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

>Только осторожно, он убъёт /etc и /var/lib/portage всякие.
Я отдельный раздел выделил, после переезда грохну старые (хорошо, что есть lvm)

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