vs220 |
|
Темы:
25
Сообщения:
8524
Участник с: 16 августа 2009
|
NebulosaКакой третий? pygtk чисто под второй питон. Под третий используется python3-gobject |
vs220 |
|
Темы:
25
Сообщения:
8524
Участник с: 16 августа 2009
|
NebulosaВсе там собирается лишь один пакет обьявлен устаревшим да и то из за неправильной зависимости которая при этом не мешает сборке, возможно просто не смог поставить python2-yapps2 вместо python-yapps2 потому что он нужен linuxcnc 2.9 а pikaur такие ситуации не обрабатывает
|
Nebulosa |
|
Темы:
9
Сообщения:
913
Участник с: 05 марта 2009
|
vs220 Это все прекрасно, однако при сборке PKGBUILD работает логика именно Bash и строка
работает так: 1. Если в системе уже задана переменная TCLLIBPATH то пишем её в файл linuxcnc.sh, получается : 2. Если переменная TCLLIBPATH не задана (не существует или пустая) то тогда пишется в файл linuxcnc.sh:
Все пакеты, которые я выкладываю, проверяю, устанавливаю, и смотрю, что и куда ставится. Этот linuxcnc тоже запускал. В терминале при работе программы "выхлоп" был кристально чистый Косвенно, что моя логика правильная можно увидеть вот в этом файле, его сделали видимо для того, чтобы обойти ошибку, но в PKGBUILD его даже не используют. Вообще там очень странно код упаковки написан, такое ощущение, что мейнтейнер не совсем понимает, что там происходит, от этого все ошибки. |
Nebulosa |
|
Темы:
9
Сообщения:
913
Участник с: 05 марта 2009
|
vs220 Если бы была проблема с этим пакетом, я бы так и написал, но всё свелось к тому, что не был собран именно pygtk, о чём мне и сообщил pikaur. Мне с этой версией linuxcnc возиться лень, причины я написал раньше. Сегодня одно, завтра другое устареет. P.S. Перед тем как собрать linuxcnc я удалил все пакеты которые были установлены для версии 2.9, пишу на всякий случай. Эту коллизию пакетов как у вас я и не увидел, т.к. данного пакета у меня и не было перед сборкой |
vs220 |
|
Темы:
25
Сообщения:
8524
Участник с: 16 августа 2009
|
Nebulosaа надо добавить путь к уже сушествующему если он есть пути (например TCLLIBPATH= /test /usr/lib/tcltk/linuxcnc ) Nebulosaпроверте
|
Nebulosa |
|
Темы:
9
Сообщения:
913
Участник с: 05 марта 2009
|
vs220
Эм.. всё сработало как и должно быть. Еще раз - переменная TCLLIBPATH задаётся один раз - она либо /test, либо /usr/lib/tcltk/linuxcnc. Когда вы, видимо, стараетесь записать /test:/usr/lib/tcltk/linuxcnc то она и будет восприниматься как целиком единый путь, которого в системе не существует. Для того, чтобы разбирать пути вида /test:/usr/lib/tcltk/linuxcnc на составные - нужно писать ещё один обработчик, который будет разбивать строку на части, по символу ":". Например, есть переменная PATH где записаны пути похожим образом, обработчик запусков, считывает строку целиком, потом разбивает её на массив путей и потом уже ищет нужный файл по порядку. Здесь же мы один раз указываем где конкретно лежит нужная библиотека, без переборок и лишних путей. Как ещё это понятней объяснить, я не знаю :) |
vs220 |
|
Темы:
25
Сообщения:
8524
Участник с: 16 августа 2009
|
NebulosaДолжны добавляться пути через пробел а не оставляться старый как в вашем случаеhttps://wiki.tcl-lang.org/page/TCLLIBPATH
|
Nebulosa |
|
Темы:
9
Сообщения:
913
Участник с: 05 марта 2009
|
vs220 Прочитал вашу ссылку, там внизу есть занятный пример, который показывает, что в эту переменную они засовывают несколько путей (делают bash-массив путей), при этом, разделителем у них является пробел (что логично, так массивы в bash и работают). Причём, надо ещё и пробелы до и после элементов массива ставить, т.е. правильной строкой будет " /test /usr/lib/tcltk/linuxcnc " - именно с пробелами. А теперь возвращаясь к началу - зачем городить массив из путей, если достаточно одного рабочего пути? Это нужно для каких-то очень специфичных случаев (ниже пишут про MingW), а для linuxcnc достаточно одного пути, с которым, повторюсь, всё и работает cразу правильно. Данный файл кладётся в папку /etc/profile.d/ и запускается программа со сразу нужной переменной окружения. |
vs220 |
|
Темы:
25
Сообщения:
8524
Участник с: 16 августа 2009
|
NebulosaЕсли в системе установлена другая программа на tcl со своим TCLLIBPATH то она не будет работать, корректно добавлять новый путь к уже существующему а не затирать старый новым |
Nebulosa |
|
Темы:
9
Сообщения:
913
Участник с: 05 марта 2009
|
vs220 Нет же. Переменная существует только для конкретной сессии. Например, открываем консоль:
Открываем вторую консоль рядом, там старое значение:
Ну или попробуйте задать TCLLIBPATH в одной консоли, а во второй консоли этой переменной не будет существовать.
|