LINUX.ORG.RU

Пытаюсь переехать на multilib

 


0

1

Понадобился wine, а текущий профиль:

default/linux/amd64/17.0/no-multilib

Поменял на:

default/linux/amd64/17.0

и получаю:

/usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/libgcc.a when searching for -lgcc
/usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lgcc
/usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/libgcc_s.so.1 when searching for libgcc_s.so.1
/usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find libgcc_s.so.1
/usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/libgcc.a when searching for -lgcc
/usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lgcc
collect2: error: ld returned 1 exit status
 * Failed to compile the ABI test. Broken host glibc?

Ничего толкового нагуглить не удалось.

★★★★★

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

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

Ну, я имею ввиду и игры в том числе. Если планируешь запускать только 64-битные, то можно не заморачиваться с мультилибом.

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

Я в курсе. Но мне для старых игр. Новые то всё равно не работают.

RazrFalcon ★★★★★
() автор топика

Может вытащить toolchain из подходящего multilib stage3?

Похоже ругается именно на него...

Alice_the_AI
()

Пересобери с ABI_X86="32 64" glibc, binutils, gcc (уже не помню, в каком порядке), затем остальной мир.

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

Смена CHOST и no-multilib→multilib (не наоборот) — задача весёлая. Меня миграция x86→amd64 утомила ещё на половине пути, и я просто взял чистый stage3 и постепенно перетащил туда свои конфиги. Плясок меньше.

mord0d ★★★★★
()

Может лучше Винду поставить на дуалбот или если есть другой диск, то лучше на него, а не заниматься извращениями? Если какая то одна определённая игра нужна, то ещё имеет смысл заморачиваться, если больше одной, то лучше винда. Только не нужно вопить, что мол винда не тру. Винда только для игр и на отдельном диске, а всё остальное - линукс.

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

Щас бы я, чтобы поиграть, свои 9000 окон (личных, рабочих, IDE, доки) на двух юзерах, 6 активитях и 24-х рабочих столах закрывал и перезагружался в винду...

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

Может я туплю, но почему не развернуть stage3 поверх (с подходящим gcc!), оставив в покое лишь /etc и /var (соответственно конфиги и список установленных пакетов)

И тогда сразу пересобирать систему.

Alice_the_AI
()

Зачем? Собери 32 битный чрут, у тебя там всё равно около одной полпрограммы 32 битной запускаться будет. Ещё лучше собрать статично в 32 бита всё что тебе нужно (при условии регулярного обновления, конечно).

Я тут попытался обновить 13 профиль прошлогодний на 17, что-то пошло не так. Пришлось -C-шить с десяток пакетов, причём там достаточно минимальный чрут был. Хотя там же нашёл гплную джаву и андроид-тулс. А потом мне надоело.

Но где-то был скрипт для раскатывания свежего 32 битного чрута и синхронизации по юзам с хостом, надо поискать будет. А то юзы слишком поплыли с тех пор, там и компилятор был рабочий 4, а тут уже 8 забагованный, в общем, проще пересобрать будет с нуля.

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

Почему не начал с libtool? Обычно его сначала советуют пересобирать перед обновлением gcc, например, если меняется ABI. Или после.

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

попытался обновить 13 профиль прошлогодний на 17, что-то пошло не так.

Там первые несколько дней какой-то косяк был, потом исправили.

grem ★★★★★
()

Можешь закрывать тему:

Warning
Switching from a no-multilib to a multilib-enabled profile is currently not supported, so think over your decision twice before you use the no-multilib profile.

https://wiki.gentoo.org/wiki/AMD64/FAQ#What_is_multilib_and_how_can_I_use_it.3F

Либо ты делаешь 32bit chroot, либо заново разворачиваешь stage3.

https://wiki.gentoo.org/wiki/Project:AMD64/32-bit_Chroot_Guide

А ты подумал дважды? ;)

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

а зачем закрывать?

можно попробовать, как писал выше, накатить мультилибный тулчейн, затем пересобрать его, далее пересобрать @system, и вперёд.

Deleted
()
Ответ на: комментарий от RazrFalcon

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

mord0d ★★★★★
()

После смены профиля стоит сделать emerge -avDN @world, прежде, чем что-то ставить

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

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

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

в общем-то, времени уйдёт меньше, т.к. всякие ДЕ, офисы, бравзеры не придётся пересобирать.

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

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

Во-первых, не «U», а «u». Во-вторых, в данном случае именно «avDN», без --update, разово. Потому что глобальное изменение, но без обновлений пакетов. А для обновлений тогда уж нужно что-то вроде «-avuDNt --verbose-conflicts --keep-going @world»

XMs ★★★★★
()

В документации писали, что штатных способов нет. А смысл, если всё равно пересобирать нужно всё.
Насколько я пониманию, эти профили несовместимы, поэтому даже если соберешь тот же glibc, всё остальное с no-multilib сломается.
Лет 10 назад я как-то делал 32 -> 64, но это проще, ибо разделены lib32 и lib64.
В общем, думаю более реально распаковать stage3, сохранив конфиги и word.

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

А смысл, если всё равно пересобирать нужно всё.

Да там всего либ 50 надо пересобрать.

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

Если бы всё было так просто - я бы не создавал тему.

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

Нда. Я, почему-то, был уверен, что это штатная возможность.

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

Сказал неадекват. Прими таблетки и иди своей дорогой.

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

Тут к слову более интересный вопрос. Вроде как nvidia планирует убрать 32-х битный драйвер в ближайшее время, тогда и multilib накроется медным тазом. Или нет?

То есть есть ли смысл долбаться, если но «завтра» всё равно сломается.

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

тут два варианта:
1 - мейнтейры пойдут в ногу с нивидией
2 - оставят какую-то версию для 32-бит
Если таки сломается, всегда можно перейти на no-multilib.

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

Ага, пользователи Стим (то есть игр в нём)будут ужасно рады. Как и некоторым пользователям виндоус им для запуска разных игр им придётся ставить разные версии драйверов.

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

просто им надо купить нормальную видюху

Deleted
()
Ответ на: комментарий от XMs

не «U», а «u»

верно, my bad

но без обновлений пакетов

почему? если есть обновления, неплохо было бы их поставить заодно

-avuDNt --verbose-conflicts --keep-going @world

av - у меня уже давно в EMERGE_DEFAULT_OPTS

t - выхлоп становится слишком длинным, нечитаемым

--verbose-conflicts а это зачем? и так по моему всё достаточно подробно, ни разу не испытывал нужды в большей степени подробности

--keep-going - только если ставишь обновляться, а сам идёшь по делам (или спать). иначе если запускаешь фоном, а сам продолжаешь работать, гораздо полезнее знать, что что то произошло и мгновенно исправить положение

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

если есть обновления, неплохо было бы их поставить заодно

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


выхлоп становится слишком длинным, нечитаемым

Зато удобно при разборе конфликтов, когда надо понять, какая тварь тянет проблемный пакет.


--verbose-conflicts а это зачем?

Когда-то добавление этого ключа помогло мне избавиться от конфликта.


иначе если запускаешь фоном, а сам продолжаешь работать

А чем это отличается от «пойти по своим делам/спать»? Что так ты не видишь, что процесс остановился, что так. Пусть уж лучше оно всё, что может, соберёт, а пользователь будет разбираться, когда посмотрит. Я, например, пускаю обновления в Drop-down терминале и убираю его, бывает, на несколько часов, а то и на весь день

XMs ★★★★★
()
Последнее исправление: XMs (всего исправлений: 1)

никак ты не переедешь, ставь заново

Zlogene
()
Ответ на: комментарий от XMs

--keep-going можно вообще в EMERGE_DEFAULT_OPTS закинуть

Deleted
()
Ответ на: комментарий от XMs

А чем это отличается от «пойти по своим делам/спать»?

тем, что ты остаёшься за компом и увидишь, если процесс прервётся раньше времени

Я, например, пускаю обновления в Drop-down терминале и убираю его

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

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

Вроде как nvidia планирует убрать 32-х битный драйвер в ближайшее время, тогда и multilib накроется медным тазом. Или нет?

Они уже убрали 32-х битный драйвер после 390.х. Но юзерспейсные либы тут не при чем, они как были так и остались

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

chroot завёлся, и даже wine запускается, но ничего что в chroot я от рута сижу? С chroot никогда не сталкивался - не пойму как он устроен.

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