LINUX.ORG.RU
ФорумAdmin

Сделал pacman -Syu -> разучился собирать софт

 , , ,


0

1

Позавчера попытался подключить ноутбук по Rustdesk к компу. На компе всё грузится, а вот на ноутбуке выкидывает предупреждение о неверном формате пикселя. Думаю, дело в том, что я обновил какой-то пакет для cpupower-gui, а он за собой потянул что-то, что хочет Rustdesk. Обновил Rustdesk. Тоже самое. Перезагрузка не помогает.

Ну и думаю, замучу sudo pacman -Syyu. Замутил. Пока оно всё скачивалось, я сидел за компом и ждал. Экран ноутбука погас. Я подождал так минут 20, решаю проверить ноут и ввести пароль, чтоб пакеты установить. А там курсор мыши то появляется, то пропадает. Экран чёрный, реагирует ли на клаиватуру - не знаю!

Сбегаю в ctrl+alt+F2 и думаю вписать ребут, но консолька не загружается! И тогда я прибегаю к отчаянной технике по нажатию power button. Вроде что-то идёт, по канону система три раза поругалась на вотчдог, но потом выдала 5 ошибок с размонтированием разделов. Поняв, что дело не двигается, я прибег к ещё более отчаянной технике и просто зажал этот power button, вызвав эмёрженси шатдаун… Я потом быстро запускаю его обратно, а он меня кидает на синий экран с паникой, мол кто-то убил ему init! Не помню, как, но я знал, что дело в linux-firmware. На следующий день я его кинул на большую флешку, отдельно воткнул загрузочную флешку, запустил точно живой образ Арча в Live-режиме, смонтировал корень и большую флешку, с неё скинул новый linux-firmware и зашёл в корень через arch-chroot. Попробовал сделать pacman -U linux-firmware-большиецифры.pkg.tar.zst. Получил ненайденную либу из набора gcc. Стал думать, чё делать, а потом как понял, что я ж могу её вытянуть с Live-образа и засунуть в /mnt/archroot/usr/libs. Так и сделал. pacman заработал и пакет поставился!

Потом повторно сделал pacman -Syu, чтоб, ну точно всё было хорошо. И всё стало хорошо, частично.

Потом мне захотелось вернуть мою любимую рисовалку, которая без libfmt жить не может. Из AUR забрал пакет aseprite и попробовал собрать. Получил в ответ:

Building Aseprite...
-- The C compiler identification is Clang 22.1.5
-- The CXX compiler identification is Clang 22.1.5
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - failed
-- Check for working C compiler: /usr/lib/ccache/bin/clang
-- Check for working C compiler: /usr/lib/ccache/bin/clang - broken
CMake Error at /usr/share/cmake/Modules/CMakeTestCCompiler.cmake:67 (message):
  The C compiler

    "/usr/lib/ccache/bin/clang"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: '/tmp/aseprite/src/build/CMakeFiles/CMakeScratch/TryCompile-NWXfsv'
    
    Run Build Command(s): /usr/bin/ninja -v cmTC_e3466
    [1/2] /usr/lib/ccache/bin/clang   -march=native -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection         -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/tmp/aseprite/src=/usr/src/debug/aseprite -flto=auto -MD -MT CMakeFiles/cmTC_e3466.dir/testCCompiler.c.o -MF CMakeFiles/cmTC_e3466.dir/testCCompiler.c.o.d -o CMakeFiles/cmTC_e3466.dir/testCCompiler.c.o -c /tmp/aseprite/src/build/CMakeFiles/CMakeScratch/TryCompile-NWXfsv/testCCompiler.c
    [2/2] : && /usr/lib/ccache/bin/clang -march=native -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection         -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/tmp/aseprite/src=/usr/src/debug/aseprite -flto=auto -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now          -Wl,-z,pack-relative-relocs -flto=auto CMakeFiles/cmTC_e3466.dir/testCCompiler.c.o -o cmTC_e3466   && :
    FAILED: [code=1] cmTC_e3466 
    : && /usr/lib/ccache/bin/clang -march=native -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection         -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/tmp/aseprite/src=/usr/src/debug/aseprite -flto=auto -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now          -Wl,-z,pack-relative-relocs -flto=auto CMakeFiles/cmTC_e3466.dir/testCCompiler.c.o -o cmTC_e3466   && :
    /usr/bin/ld: невозможно найти -lgcc_s: Нет такого файла или каталога
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    ninja: build stopped: subcommand failed.
    
    



  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:23 (project)


-- Configuring incomplete, errors occurred!
==> ОШИБКА: Произошел сбой в build().
    Прерывание...

Попробовал нагуглить и понял, что ld - это кусочек от gcc, либо gcc-libs. Попробовал откатить, а потом обновить из репозитория. Не помогло. Как чинить?

Перемещено hobbit из general


что ld - это кусочек от gcc

Это кусочек binutils:

$ pacman -Qo /usr/bin/ld                           
/usr/bin/ld is owned by binutils 2.46+r70+g155188ea10a7-1

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

Не помогло. Попробовал поставить clang21 и снести просто clang(который 22.1.2), но рисовашка его не принимает(

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

Установлен, но…

[lenya505@LenovoG505 aseprite]$ sudo pacman -U /home/lenya505/Загрузки/libgcc-16.1.1+r12+g301eb08fa2c5-1-x86_64.pkg.tar.zst 
[sudo] пароль для lenya505: 
загрузка пакетов...
предупреждение: libgcc-16.1.1+r12+g301eb08fa2c5-1 не устарел -- переустанавливается
разрешение зависимостей...
проверка конфликтов...

Пакеты (1) libgcc-16.1.1+r12+g301eb08fa2c5-1

Будет установлено:  0,18 MiB
Изменение размера:  0,00 MiB

:: Приступить к установке? [Y/n] y
(1/1) проверка ключей                              [######################] 100%
(1/1) проверка целостности пакета                  [######################] 100%
(1/1) загрузка файлов пакетов                      [######################] 100%
(1/1) проверка конфликтов файлов                   [######################] 100%
(1/1) проверка доступного места                    [######################] 100%
предупреждение: не удалось получить информацию о файле для usr/lib/libgcc_s.so
:: Обработка изменений пакета...
(1/1) переустановка libgcc                         [######################] 100%
:: Запуск post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
Tyse_EX
() автор топика

Как вы так умудряетесь ломать очень надëжную систему – для меня загадка. Если уж ставишь роллинг дистрибутив, обновляйся хотя бы раз в неделю. Грузись с лайва, и:

$ mount ${ROOT} /mnt
$ for i in $ANOTHER $SEPARATED $DIRS ; do mount $i /mnt/$i ; done
$ for i in dev proc sys ; do mount --bind /$i /mnt/$i ; done
$ cp /mnt/etc/pacman.d/mirrorlist /mnt/etc/pacman.d/mirrorlist.old
$ reflector > /mnt/etc/pacman.d/mirrorlist
$pacman --root=/mnt -Syu
yars068 ★★★★★
()
Ответ на: комментарий от yars068

как вы так умудряетесь ломать очень надëжную систему – для меня загадка.

Наверное потому, что она не надежна вовсе. Это ролинг, и этим всё сказано. Надежность это дебиан.

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

Но зачем в дебиане вырубать питание при апдейте?

Незачем, но ведь всякое бывает. У меня вот прямо на днях именно такой случай произошел (контроллер батареи чудит гад).

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

ТС пишет, что он сам вырубил питание т.к апдейт намертво подвис. В дебиане апдейт, он, ну он не подвисает, он просто накатыается и всё.

Понятное дело, что питание тебе могут вырубить на подстанции но это не кейс из ОП.

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

И тогда я прибегаю к отчаянной технике по нажатию power button.

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

goingUp ★★★★★
()

Сделал pacman -Syu -> разучился собирать софт

Считай, и не умел! Ну льсти себе 🤭

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

Скорее всего гуи заглючило

Я думаю, что скорее всего система не смогла уйти по тайм-ауту в сон, ждала полного окончания апдейта, а он был недоступен с конкретного зеркала. Я обычно, когда вижу, что новые бвзы данных не загружаются (это могут быть блокировки, недоступность сервера и т.д.), то я просто прерываю обновление, редактирую /etc/pacman.d/mirrorlist и повторяю. Просто надо следить за процессом и не выставлять автоматический сон.

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

Я понятия не имею что будет. Возможно потому, чтотнет нужды рубить дебиан в процессе апдейта.

ya-betmen ★★★★★
()

Экран чёрный, реагирует ли на клаиватуру - не знаю!

Компьютер может:

  • реагировать на клавиатуру;
  • не реагировать на клавиатуру.

А вот «не знаю, реагирует ли на клаиватуру», а потом «отчаянная технике по нажатию power button»…

Может у ТС это ожидаемо — время от времени отваливается клавиатура, просто он об этом решил не говорить.

greenman ★★★★★
()
Последнее исправление: greenman (всего исправлений: 4)
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария