[РЕШЕНО] tcl + tclx + linuxcnc-sim + bwidget

Браузеры, почтовые клиенты, офисные пакеты, файловые менеджеры, редакторы и т.п.
lnx
Сообщения: 276
Зарегистрирован: 24.08.2022

#

Опять. Прилетело обновление tcl, что потянуло за собой пересборку tclx and linuxcnc-sim. Но затык - при борке linuxcnc проверяет факт установки bwidget, который установлен, но не обнаруживает его и все падает.
pacman -Qs bwidget
local/bwidget 1.9.16-1
    A suite of megawidgets for Tk

checking for __sincos... no
checking for tcl... /usr/lib/tclConfig.sh found
checking for tk... /usr/lib/tkConfig.sh found
checking whether to check for runtime dependencies... yes
checking for BWidget using /usr/bin/tclsh8.6... no
configure: error: BWidget not found!
install with "sudo apt-get install bwidget"
==> ОШИБКА: Произошел сбой в build().
    Прерывание...

Не удалось выполнить команду 'makepkg --force'.

Как преодолеть?
Последний раз редактировалось lnx 10.02.2023 17:36, всего редактировалось 3 раза.
vasek
Сообщения: 550
Зарегистрирован: 31.08.2022

#

lnx:Как преодолеть?
Если ставишь пакеты из AUR, то будь готов к решению проблем ... и в 1-ую очередь нужно зайти на AUR и посмотреть Latest Comments ... если проблему еще не описали другие, опиши сам .... и жди, что ответит разработчика.
Пользователи Arch, которые не используют данный левый софт, вряд ли смогут помочь тебе в этом.

PS - а проблема похоже уже описана - https://aur.archlinux.org/packages/linuxcnc-sim

Ошибки не исчезают с опытом - они просто умнеют

lnx
Сообщения: 276
Зарегистрирован: 24.08.2022

#

Припомнил, что сталкивался с аналогичной ситуацией с camotics https://aur.archlinux.org/packages/camotics-git и тогда сперва решил вопрос костылем https://forum.freecadweb.org/viewtopic. ... 25#p607025
ln -s /home/user/.cache/pikaur/build/camotics-git/src/camotics/build/camotics.so /usr/lib/python3.10/site-packages/

и затем разработчик пакета это сам поправил. Попробовал пойти по аналогии, но find никаких so не находит, есть лишь -
/usr/lib/tcl8.6/bwidget-1.9.16/demo/bwidget.xbm

Но в топике bwidget в Ауре, https://aur.archlinux.org/packages/bwidget, есть анализ проблемы (пакет разворачивается без прав юзеров даже открыать директорий) и, соответственно, есть решение -
chmod -R o+rX /usr/lib/tcl8.6/bwidget-1.9.16

Этот этап прошли, но уткнулся в следующий -
checking python version... OK
checking version of python libraries... python2.7
checking match between tk and Tkinter versions... 8.6
checking location of Python header files... /usr/include/python2.7
checking for Python headers... -I/usr/include/python2.7
checking for Python libraries... -ldl
checking whether the Boost::Python headers are available... yes
checking for boost::python shared library... 
configure: error: boost::python is required to build LinuxCNC
==> ОШИБКА: Произошел сбой в build().
    Прерывание...
по памяти из https://archlinux.org.ru/forum/topic/20584/?page=2 покамест пошел пересобирать boost-python2 - не помогло.
vasek
Сообщения: 550
Зарегистрирован: 31.08.2022

#

Насколько я понимаю, большинство прог из AUR тебе нужны в основном для своей основной работы.
Если это так, то не проще ли будет поступить следующим образом:
- создать на диске дополнительный раздел
- создать на этом разделе клон работающей системы (конечно же с работающими програми)
- обновлять эту систему-клон 1-2 раза в год и только в случае работоспособности основной системы (под обновлением имею ввиду клонирование, точнее, простое копирование).
А если основаная система заимела проблемы с нужными програми, то можно спокойно выполнять нужные работы из системы-клон.
После решения проблем в основной системе можно выполнить и клонирование.
Проблем будет на много меньше. Клонирование системы займет максимум минут 30, а если без документов, не входящих в систему, то и того меньше.

Ошибки не исчезают с опытом - они просто умнеют

lnx
Сообщения: 276
Зарегистрирован: 24.08.2022

#

lnx: по памяти из https://archlinux.org.ru/forum/topic/20584/?page=2 покамест пошел пересобирать boost-python2 - не помогло.
а вот не надо было мне скупиться, надо было персобрать boost-python2 + boost-python2-libs и все починилось. Ох уж этот коварный tcl, не в первый раз его обновление вредит.
lnx
Сообщения: 276
Зарегистрирован: 24.08.2022

#

Блин. Снова. Что-то из прилетевшего поломало.
Пересобрал boost-python2 bwidget tclx boost-python2-libs --rebuild
Linuncnc при пересборке стал требовать python-gtk2, как у нас такой пакет называется?
lnx
Сообщения: 276
Зарегистрирован: 24.08.2022

#

checking for python pango and cairo modules... Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/lib/python2.7/site-packages/cairo/__init__.py", line 1, in <module>
from ._cairo import * # noqa: F401,F403
ImportError: /usr/lib/python2.7/site-packages/cairo/_cairo.so: undefined symbol: cairo_tee_surface_index
no
configure: error: Python pango and cairo modules not found!
install with "sudo apt-get install python-gtk2"
==> ОШИБКА: Произошел сбой в build().
Прерывание...

Не удалось выполнить команду 'makepkg --force'.
:: Попробовать восстановить?
[R] повторить сборку


В зависимостях пкбилда такого пакета нет (был бы - сборка бы и не запускалась)
lnx
Сообщения: 276
Зарегистрирован: 24.08.2022

#

а может это опять что-то с месой в последние дни было?
lnx
Сообщения: 276
Зарегистрирован: 24.08.2022

#

Вчера были приняты обновления -
 фев  9 00:44 qt5-base-5.15.8+kde+r181-1-x86_64.pkg.tar.zst
 фев  9 01:26 zsh-5.9-3-x86_64.pkg.tar.zst.sig
 фев  9 01:26 zsh-5.9-3-x86_64.pkg.tar.zst
 фев  9 02:16 lib32-cairo-1.17.8-2-x86_64.pkg.tar.zst.sig
 фев  9 02:16 lib32-cairo-1.17.8-2-x86_64.pkg.tar.zst
 фев  9 02:16 cairo-1.17.8-2-x86_64.pkg.tar.zst.sig
 фев  9 02:16 cairo-1.17.8-2-x86_64.pkg.tar.zst
 фев  9 02:28 aom-3.6.0-1-x86_64.pkg.tar.zst.sig
 фев  9 02:28 aom-3.6.0-1-x86_64.pkg.tar.zst
 фев  9 02:29 texinfo-7.0.2-2-x86_64.pkg.tar.zst.sig
 фев  9 02:29 texinfo-7.0.2-2-x86_64.pkg.tar.zst
 фев  9 15:23 libgusb-0.4.5-1-x86_64.pkg.tar.zst.sig
 фев  9 15:23 libgusb-0.4.5-1-x86_64.pkg.tar.zst
 фев  9 16:20 zvbi-0.2.40-1-x86_64.pkg.tar.zst.sig
 фев  9 16:20 zvbi-0.2.40-1-x86_64.pkg.tar.zst
 фев  9 16:38 lib32-sdl2-2.26.3-1-x86_64.pkg.tar.zst.sig
 фев  9 16:38 lib32-sdl2-2.26.3-1-x86_64.pkg.tar.zst
 фев  9 22:23 libxfce4ui-4.18.2-1-x86_64.pkg.tar.zst
 фев  9 22:23 libxfce4ui-4.18.2-1-x86_64.pkg.tar.zst.sig
 фев  9 22:53 python-zipp-3.13.0-1-any.pkg.tar.zst
 фев  9 23:08 python-zipp-3.13.0-1-any.pkg.tar.zst.sig
 фев  9 23:23 python-tenacity-8.2.1-1-any.pkg.tar.zst
 фев  9 23:23 python-tenacity-8.2.1-1-any.pkg.tar.zst.sig


как раз словой cairo было в ругани, вопрос решился даунгрейдом -

downgrade lib32-cairo cairo
lnx
Сообщения: 276
Зарегистрирован: 24.08.2022

#

Коллеги, свою личную сборку linuxcnc-sim я берегу, но вот возникла необходимость собрать новую и передать ее за много км.

В Ауре уже нет linuxcnc-sim, есть только linuxcnc2.9 + linuxcnc-git 2.9. Для непосвященных переход от 2.7 к 2.8 ознаменовал переход на systemd + штатная возможность "два мотора на одну ось". От 2.8 к 2.9 частично изменил математику и для него нет возможности адаптировать вручную сделанный модуль ядра для принудительного перекоса портала и компенсации его кривизны (повышает жесткость + выборка зазоров). И если для рабочей, станочной машины, я наловчился размножать свою вылизанную рабочую систему 2.8 (клонированием дисков), то с sim, которая нужна на конструкторской машине для быстрого понимания "как оно выходит в реальности", подойдет любая.

Так вот летом 2025г. при попытке установки из Ауры я получаю аборты сборки -
linuxcnc:


checking for BWidget using /usr/bin/tclsh8.6... found
checking for BLT using /usr/bin/tclsh8.6... not found
checking for tclX using /usr/bin/tclsh8.6... found
checking for python pango module... Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named gi
no
configure: error: Python pango module not found!
install with "sudo apt-get install python3-gi"
==> ОШИБКА: Произошел сбой в prepare().
    Прерывание...

Не удалось выполнить команду 'sudo --user=#1000 --preserve-env=VISUAL,EDITOR -- makepkg --force'.


linuxcnc-git:

    | ^~~~~~~~~
termcap.c:636:17: ошибка: too many arguments to function «gobble_line»; expected 0, have 3
  636 |           end = gobble_line (fd, bufp, end);
      |                 ^~~~~~~~~~~  ~~
termcap.c:393:14: замечание: объявлено здесь
  393 | static char *gobble_line ();
      |              ^~~~~~~~~~~
termcap.c:641:14: ошибка: too many arguments to function «name_match»; expected 0, have 2
  641 |           && name_match (bufp->ptr, str))
      |              ^~~~~~~~~~  ~~~~~~~~~
termcap.c:395:12: замечание: объявлено здесь
  395 | static int name_match ();
      |            ^~~~~~~~~~
termcap.c: В функции «name_match»:
termcap.c:654:1: предупреждение: определение функции в старом стиле [-Wold-style-definition]
  654 | name_match (line, name)
      | ^~~~~~~~~~
termcap.c:659:8: ошибка: too many arguments to function «compare_contin»; expected 0, have 2
  659 |   if (!compare_contin (line, name))
      |        ^~~~~~~~~~~~~~  ~~~~
termcap.c:394:12: замечание: объявлено здесь
  394 | static int compare_contin ();
      |            ^~~~~~~~~~~~~~
termcap.c:663:25: ошибка: too many arguments to function «compare_contin»; expected 0, have 2
  663 |     if (*tem == '|' && !compare_contin (tem + 1, name))
      |                         ^~~~~~~~~~~~~~  ~~~~~~~
termcap.c:394:12: замечание: объявлено здесь
  394 | static int compare_contin ();
      |            ^~~~~~~~~~~~~~
termcap.c: В функции «compare_contin»:
termcap.c:670:1: предупреждение: определение функции в старом стиле [-Wold-style-definition]
  670 | compare_contin (str1, str2)
      | ^~~~~~~~~~~~~~
termcap.c: В функции «gobble_line»:
termcap.c:711:1: предупреждение: определение функции в старом стиле [-Wold-style-definition]
  711 | gobble_line (fd, bufp, append_end)
      | ^~~~~~~~~~~
==> ОШИБКА: Произошел сбой в build().
    Прерывание...

Не удалось выполнить команду 'sudo --user=#1000 --preserve-env=VISUAL,EDITOR -- makepkg --force'.


Какие будут мнения? как продвинуться до реальной сборки хоть какого-то из пакетов? Ни pacman, и AUR пакета python3-gi не знают.

Мнений такое: либо вариант сборки из исходников https://www.linuxcnc.org/docs/devel/htm ... uxcnc.html, либо воспользоваться одним из Aur-repo, опубликованных здесь https://github.com/taotieren/aur-repo и, например, из репозитория
[aur-repo]
## China Telecom Network (200Mbps) (ipv4, http, https)
Server = https://rom.ie8.pub:2443/aur-repo/$arch
командой pacman -S linuxcnc-git программа устанавливается, подтягивая некоторые зависимости и по дороге ругаясь на ключи.
Последний раз редактировалось lnx 25.07.2025 14:18, всего редактировалось 1 раз.
ALiEN
Аватара пользователя
Сообщения: 240
Зарегистрирован: 23.08.2022

#

pacman -S python-gobject

🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

lnx
Сообщения: 276
Зарегистрирован: 24.08.2022

#

ALiEN:pacman -S python-gobject
Спасибо за подсказку, но если речь была об установке pikaur -S linuxcnc, то и после установки этого пакета ничего не изменилось -
checking for tclX using /usr/bin/tclsh8.6... found
checking for python pango module... Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named gi
no
configure: error: Python pango module not found!
install with "sudo apt-get install python3-gi"
==> ОШИБКА: Произошел сбой в prepare().
    Прерывание...

Не удалось выполнить команду 'sudo --user=#1000 --preserve-env=VISUAL,EDITOR -- makepkg --force'.
🛴 Попробовать восстановить?
[R] повторить сборку
Arhei
Сообщения: 36
Зарегистрирован: 04.07.2025

#

lnx:
ALiEN:pacman -S python-gobject
Спасибо за подсказку, но если речь была об установке pikaur -S linuxcnc, то и после установки этого пакета ничего не изменилось -
хм, ради интереса попробовал у себя собрать
yay -Syu linuxcnc
на удивление всё прошло без сучка и задоринки
$ pacman -Qi linuxcnc
Название             : linuxcnc
Версия               : 2.9.4-1
Описание             : Controls CNC machines. It can drive milling machines, lathes, 3d printers, laser cutters, plasma cutters, robot arms, hexapods, and more (formerly EMC2)
Архитектура          : x86_64
URL                  : https://linuxcnc.org/
Лицензии             : GPL2  custom: unredestributable
Группы               : Нет
Предоставляет        : Нет
Зависит от           : glibc  python  gtk3  libusb  libxss  python-cairo  gobject-introspection-runtime  dbus-python  python-pillow  libxmu  python-gobject  tk  python-matplotlib  boost-libs  python-numpy  gstreamer  at-spi2-core  libepoxy  libtirpc  libxft  harfbuzz  gcc-libs  fontconfig  gdk-pixbuf2  libxext  librsvg  glib2  zlib  cairo  readline  systemd-libs  freetype2  libx11  libxinerama  python-configobj  libgpiod  python-yapps2  tcl  pango  bwidget
Доп. зависимости     : Нет
Требуется            : Нет
Опционально для      : Нет
Конфликтует с        : Нет
Заменяет             : Нет
Установленный размер : 124,80 MiB
Сборщик              : Unknown Packager
Дата сборки          : Пн 28 июл 2025 08:20:52
Дата установки       : Пн 28 июл 2025 08:29:33
Причина установки    : Явно установлен
Установочный скрипт  : No
Проверен             : Нет
lnx
Сообщения: 276
Зарегистрирован: 24.08.2022

#

После Вашего сообщения проверил у себя зависимости, прямо по списку из Вашего сообщения "зависит от", обновил из Ауры bwidget, у меня была версия 1.9 и было подумал "ну вот причина", однако и после этого -

checking for tclX using /usr/bin/tclsh8.6... found
checking for python pango module... Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named gi
no
configure: error: Python pango module not found!
install with "sudo apt-get install python3-gi"
==> ОШИБКА: Произошел сбой в prepare().
    Прерывание...

Не удалось выполнить команду 'sudo --user=#1000 --preserve-env=VISUAL,EDITOR -- makepkg --force'.
🛴 Попробовать восстановить?
[R] повторить сборку
[p] пропустить проверку PGP-подписи

Пошел исать дальше, нашел эту тему - https://bbs.archlinux.org/viewtopic.php?id=204849
python -c "import gi; print(gi.__spec__)"
ModuleSpec(name='gi', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7f57653f7d50>, origin='/usr/lib/python3.13/site-packages/gi/__init__.py', submodule_search_locations=['/usr/lib/python3.13/site-packages/gi'])

Помню буквально недавно, в борьбе за него же, видимо linuxcnc-git, кто-то потребовал замены python2-gobject на python2-gobject2. Попытка вернуть python2-gobject из ауры тоже обломалась
../pygobject/tests/regressextra.h:78:7: ошибка: expected «=», «,», «;», «asm» or «__attribute__» before «regress_test_action_get_type»
   78 | GType regress_test_action_get_type (void);
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
[22/56] Compiling C object tests/libgimarshalling...ct-introspection-1.0_tests_gimarshallingtests.c.o
ninja: build stopped: subcommand failed.
==> ОШИБКА: Произошел сбой в build().
    Прерывание...


Arhei
Сообщения: 36
Зарегистрирован: 04.07.2025

#

lnx:и было подумал "ну вот причина", однако и после этого -
так это вы какую собираете ? git-версию (linuxcnc-git ) ?
так она у меня тоже не собирается, там проблема с пакетом termcap который нужен для сборки linuxcnc-git, но вот со сборкой linuxcnc проблем не возникает
lnx:
configure: error: Python pango module not found!
install with "sudo apt-get install python3-gi"
==> ОШИБКА: Произошел сбой в prepare().
    Прерывание...
я конечно всё понимаю но apt-get ...
lnx
Сообщения: 276
Зарегистрирован: 24.08.2022

#

Нет, выбираю linuxcnc. Когда не собирается, пробую и linuxcnc-git. Со всей очевидностью linuxcnc является попыткой перепаковки убунтовского пакета, в Ауре такое встречается сплошь и рядом, потому в консоли и пишет такое.
Arhei
Сообщения: 36
Зарегистрирован: 04.07.2025

#

lnx:Со всей очевидностью linuxcnc является попыткой перепаковки убунтовского пакета
да не, похоже на сборку из исходников если судить по его PKGBUILD
а данное сообщение исходит отсюда
хотя сам автор похоже больше ориентируется на debian отсюда и такие отсылки по установке доп пакетов в сообщениях.
а судя по этой теме то косяк может вылезти и в самом дебиане даже с уже установленным пакетом python3-gi
lnx
Сообщения: 276
Зарегистрирован: 24.08.2022

#

Arhei: да не, похоже на сборку из исходников если судить по его PKGBUILD
Бог с ним, коли есть решение в виде репозитория арч-пакетов, откуда ставится. Теперь жду развития событий (на удаленной машине). ибо себе ставить не хочу, у меня 2.8.4. А как создать пакет из установленной системы, не смотря на давнишние поиски и попытки, я до сих пор не знаю.
Arhei
Сообщения: 36
Зарегистрирован: 04.07.2025

#

lnx:А как создать пакет из установленной системы
не совсем понятно, если имеете в виду перенести установленный ПАКЕТ на другую машину чтобы его там не собирать то можно его просто достать со своего кэша пакетов который находиться здесь:
pacman-conf CacheDir
ну а далее уже на целевой машине
pacman -U ПАКЕТ
lnx
Сообщения: 276
Зарегистрирован: 24.08.2022

#

Arhei: ПАКЕТ на другую машину чтобы его там не собирать то можно его просто достать со своего кэша пакетов который находиться здесь:
pacman-conf CacheDir
Так я умею и именно так передам туда 2.9. Но в моей стоит 2.8.4, которую собирать больше не из чего и потому если бы я мог из установленнйо системы сформировать пакет 2.8.4, то мог бы накатить 2.9, посмотреть и либо остаться, либо накатить обратно 2.8.4. Сечас же такая возможность есть только через резерв всей системы, снапшотами и т.п.
Ответить