vs220 |
|
Темы:
25
Сообщения:
8524
Участник с: 16 августа 2009
|
Nebulosaнет, скрипт с заданием переменной находится в /etc/profile.d ( /etc/profile.d/linuxcnc.sh) и переменная устанавливается для всех при входе в оболочку пример неработающего приложения из за неверной переменной в этой же теме https://archlinux.org.ru/forum/post/260560/ |
Nebulosa |
|
Темы:
9
Сообщения:
913
Участник с: 05 марта 2009
|
Давайте уже финалить эти хождения по мукам :) В файле /etc/profile.d/locale.sh есть как раз этот случай:
Соответсвенно делаем:
И получаем то, что и хотели.
Тащить логику формирования путей (массивом) характерную для MingW в полноценную Linux систему (мы же пакет именно для Арча делаем со своим окружением) считаю неправильной. Если бы это было так, то как минимум в старых пакетах было бы что-то похожее, а не один символ пропущен, там надо кардинально переписывать vs220 Я не уверен, что там именно проблема в пути, о чём сам автор и написал. Также вижу попытки прописать нужную переменную, но без результата. Как минимум надо смотреть, что содержится в /etc/profile.d/linuxcnc.sh и перелогинивался ли он после правок этого файла. |
vs220 |
|
Темы:
25
Сообщения:
8524
Участник с: 16 августа 2009
|
NebulosaЛогика должна соответствовать логике используемой библиотеки , для TCL пути в TCLLIBPATH разделяются пробелом. Вот и вся логика, не надо ничего усложнять а просто исправить неправильно прописанную (из за привычки к bash PATH) строчку в пакбилде.
ваше же export TCLLIBPATH=${TCLLIBPATH:=/usr/lib/tcltk/linuxcnc}приведет к неработоспособности linuxcnc при наличии другого TCLLIBPATH отличного от /usr/lib/tcltk/linuxcnc |
Nebulosa |
|
Темы:
9
Сообщения:
913
Участник с: 05 марта 2009
|
vs220Я опять извиняюсь, но нужны пробелы))
vs220 Описываем ситуацию установки MingW в Арч, какой-то такой исчезающий случай?) Ваше упорство надо поддержать, сейчас попробую собрать и запустить пакет с вашими правками, посмотрим, что linuxcnc скажет на массив путей. |
vs220 |
|
Темы:
25
Сообщения:
8524
Участник с: 16 августа 2009
|
NebulosaМы скатываемся куда то не туда, Ещё раз , TCL не баш и TCLLIBPATH свои правила имеет простые: пути начинаются с / и разделяются пробелами. Лепить туда двоеточие и лишние пробелы так же не надо как и сложные баш конструкции для простого добавления пути через пробел Затиратирать общесистемные переменные PATH так же плохая практика и общепринято добавлять новые к уже сушествующим в соответствии с синтаксисом библиотек/приложений которые эти переменные используют |
Nebulosa |
|
Темы:
9
Сообщения:
913
Участник с: 05 марта 2009
|
vs220Это точно :) Провёл натурные эксперименты, результаты получились неожиданные. Создал файл /etc/profile.d/test.sh: и создал файл /etc/profile.d/linuxcnc.sh: В котором раскомментировал по одной строке, чтобы протестировать запуск. Между каждым изменением перелогинивался, чтобы точно менялась переменная окружения.Сделал файл запускалку, чтобы фиксировать лог запусков:
Ну и проделал все тесты, лог выложен здесь Итог: linuxcnc не запускается ни в каком случае, кроме чёткого указания TCLLIBPATH=/usr/lib/tcltk/linuxcnc Картинка которую я получил по итогу (на всякий случай): На этом, пожалуй, завершу полемику. Данный случай позволил более полно осознать, как работают переменные окружения, есть пара мыслей внедрить новые знания на своих проектах :) |
wau |
|
Темы:
168
Сообщения:
1245
Участник с: 11 октября 2013
|
Nebulosa Это как раз то, о чем я глаголил пару дней тому назад. Это больше, чем факт - "так оно и есть на самом деле". |
vs220 |
|
Темы:
25
Сообщения:
8524
Участник с: 16 августа 2009
|
Nebulosa NebulosaТеперь вы на собственном примере убедились что vs220 Скрипты в /etc/profile.d выполняются поочередно и все а не выборочно, а ваш test.sh стирает то что задал /etc/profile.d/linuxcnc.sh так как выполняется последним и что бы проверить это достаточно просто выполнить команды в них в терминале поочередно и посмотреть результат
потому еще раз vs220 можете проверить работу корректно прописанных скриптов для задания TCLLIBPATH
ребут и
|
wau |
|
Темы:
168
Сообщения:
1245
Участник с: 11 октября 2013
|
И "новая волна накрыла с головой" - Выпуск языка программирования Tcl 8.6.14, http://pda.opennet.ru/opennews/art.shtml?num=60692 |
Nebulosa |
|
Темы:
9
Сообщения:
913
Участник с: 05 марта 2009
|
vs220 Пропустим информацию не несущую нового смысла... vs220Да, вы правы, совершенно забыл проверить случаи "/tmp /usr/lib/tcltk/linuxcnc" или "/usr/lib/tcltk/linuxcnc /tmp" в зависимости от имени другого файла. Вновь установил пакет linuxcnc, который сделал вчера, для чистоты эксперимента и проверил - сработали оба варианта. Спасибо, что указали на это. Поправил свой PKGBUILD и удалил лишнее в комментах к пакету. |