Установка EMC2 на Ubuntu 11.04

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Установка EMC2 на Ubuntu 11.04

Сообщение Nick »

:attention: Внимание! Использование данного метода может привести к неработоспособности системы и выходу из строя станков подключенных к EMC2! Используйте на свой страх и риск! :attention:

Как вы наверное помните, с установкой EMC2 из репозиториев linuxcnc на Ubuntu 11.04 возникли проблемы. А именно, EMC2 жестко требует чтобы установденный в системе python был python (<=2.6) и pyhton (<< 2.7). Вообще, python это мета-пакет, который ссылается на основную версию python установленную в системе. Т.е. обычно в системе присутствуют и python2.6, и python2.7, и даже python3.0 и другие, но именно python ссылается только на одну версию. Так вот в Ubuntu 11.04 (Natty Narwhal) этот пакет ссылается на python2.7, что в корне не устраивает EMC2. Все бы ничего, но на этот пакет в 11.04 завязана уйма других пакетов, и при попытке downgrade этого пакета, apt хочет удалить около 180 пакетов.

Зачем EMC2 нужен именно такой python и почему он не может использовать python2.6 установленный в системе, я так и не понял. Но т.к. мне мой станок не жалко, я решил по экспериментировать :freak:.

:attention: Внимание! Использование данного метода может привести к неработоспособности системы и выходу из строя станков подключенных к EMC2! Используйте на свой страх и риск! :attention:

После долгих мытарств, я наткнулся на простую инструкцию в которой описывалось как изменить зависимости deb пакета.
Итак приступим. Скачиваем последнюю версию EMC2, можно взять здесь:
http://buildbot.linuxcnc.org/dists/luci ... nary-i386/
Я взял emc2_2.5.0~pre1-531-g3fbcd6c_i386.deb, при помощи подключенного репозитория и apt-get download.
Потом распаковываем пакет:
dpkg-deb -x emc2_2.5.0~*.deb unpack
Распаковываем информационные файлы из пакета (обязательно в каталог DEBIAN)
dpkg-deb --control emc2_2.5.0~*.deb unpack/DEBIAN
Потом убираем мешающие нам зависимости из файла control (т.е. просто стираем python (<=2.6) и pyhton (<< 2.7) )
nano unpack/DEBIAN/control
Потом собираем пакет назад:
dpkg -b unpack emc2_2.5.0-vs-python-2.7.deb
Получаем хороший нетребовательный пакет :D!

Просто так этот пакет установить не удастся,он требует еще rtai-modules-2.6.32-122-rtai_3.8.1-linuxcnc1_i386.deb и hostmot2-firmware-all_0.8_all.deb, эти пакеты в стандартных репозиториях недоступны поэтому лучше установить из вручную. Взять их можно здесь: http://www.linuxcnc.org/emc2/dists/luci ... nary-i386/

После этого устанавливаем наш модернизированный emc2:
sudp dpkg -i emc2_2.5.0-vs-python-2.7.deb
dpkg наверняка ругнется, что есть еще не решенные зависимости, для их исправления я воспользовался aptitude. (После запуска он ругается на неисправные пакеты и обычно предлагает решения. Решения можно выбирать при помощи клавиш больше/меньше "<" и ">". Нам нужно то, которое установить n пакетов, и ничего не удалять.)
После этого применяем изменения и можно пробовать.
Мне понадобилось до установить вот эти пакеты:
sudo apt-get install libgnomecups1.0-1 libgnomeprint2.2-data libgnomeprint2.2-0 libgnomeprintui2.2-common libgnomeprintui2.2-0 bwidget libtk-img freeglut3 python-opengl python-gtkglext1

Итак все установилось :cheesy: :cheesy: :cheesy: !!!

Теперь буду тестировать :cheesy:! По результатам отпишусь!
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Установка EMC2 на Ubuntu 11.04

Сообщение PKM »

Nick, сравни jitter, вдруг улучшится =)
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Установка EMC2 на Ubuntu 11.04

Сообщение Nick »

Вчера не успел, в 1:00 отрубился... Буду пробовать сегодня. Мне нужно до четверга вырезать логотип одного мероприятия из пенопласта, поэтому вариантов нет - должен его побороть :).
Но на крайний случай у меня конечно припасена LiveUSB EMC2 флешка ;).
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Установка EMC2 на Ubuntu 11.04

Сообщение Nick »

Так, сходу не запускается:
Первая ошибка при запуске latency-test и emc2:
module_helper is not setuid root
Нужно было все махинации с пакетом делать от рута, иначе все файлы имеют владельцем меня.

Вторая ошибка:
Traceback (most recent call last):
File "/usr/bin/pyvcp", line 41, in <module>
import vcpparse
ImportError: No module named vcpparse
lat.hal:6: pyvcp exited without becoming ready
Похоже все необходимые модули для python поставились в /usr/lib/pyhton2.6/, а запускается то python2.7. Надо сделать wraper перед загрузкой, который будет правильный питон загружать.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Установка EMC2 на Ubuntu 11.04

Сообщение Nick »

Решение второй проблемы есть, но оно не хорошее:
меняем ссылку /usr/bin/python -> python2.7 на /usr/bin/python -> python2.6.
Но это не хорошо, т.к. в системе есть куча других программ, которые хотят 2.7 вместо 2.6.

Теперь вопрос, как поменять этот симлинк только для данной программы / терминала???



ЗЫ EMC заработал :cheesy: :cheesy: :cheesy: !
_taras_
Мастер
Сообщения: 546
Зарегистрирован: 16 мар 2011, 15:19
Репутация: 69
Контактная информация:

Re: Установка EMC2 на Ubuntu 11.04

Сообщение _taras_ »

В порядке бреда.
Может сделать папку с python2.6. и туда ссылки на файлы python-а?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Установка EMC2 на Ubuntu 11.04

Сообщение Nick »

Можно, но тоже не хорошо, идеальным будет запускать python2.6 для приложения и всех его потомков.
_taras_
Мастер
Сообщения: 546
Зарегистрирован: 16 мар 2011, 15:19
Репутация: 69
Контактная информация:

Re: Установка EMC2 на Ubuntu 11.04

Сообщение _taras_ »

Не в курсе, когда выйдет следующая версия ЕМС и с каким ядром? Читал, чтов в 3-тей версии много полезного для реал-тайма сделали.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Установка EMC2 на Ubuntu 11.04

Сообщение Nick »

3-й? Там вроде пока только 2.5 разрабатывается...

Следующая будет не раньше следующей Ubuntu LTS, т.е. 12.04, пока, по крайней мере, собираются ее делать LTS... И скорее всего EMC2 в сборке с этой убунтой выйдет не раньше июля 2012...
Аватара пользователя
roach
Мастер
Сообщения: 205
Зарегистрирован: 01 июн 2011, 07:55
Репутация: 0
Контактная информация:

Re: Установка EMC2 на Ubuntu 11.04

Сообщение roach »

а почему 10.04 не обновляется?
Вложения
ошибка (5280 просмотров) <a class='original' href='./download/file.php?id=1945&sid=f77b31cdbc30650c5346d42715682b57&mode=view' target=_blank>Загрузить оригинал (265.71 КБ)</a>
ошибка
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Установка EMC2 на Ubuntu 11.04

Сообщение Nick »

Возможно, потому, что у тебя включены только репозитории LinuxCNC. Вообще, обновлять систему не рекомендуется, ибо черт его знает, что там поменяется и как это отразиться на работе realtime и emc2, а ведь к ней подключен дорогой станок! Опять же при обновлении до 11.04, emc2 самоустранится. Точнее его устранит установщик из-за проблем с зависимостями.

Но если, ты ничего не боишься, и хочешь самую свежую систему, то включай каноникловские репозитории и вперед :) !
Аватара пользователя
roach
Мастер
Сообщения: 205
Зарегистрирован: 01 июн 2011, 07:55
Репутация: 0
Контактная информация:

Re: Установка EMC2 на Ubuntu 11.04

Сообщение roach »

систему ubuntu 10.04 не обновлял, ставил с live cd emc2

я пытаюсь обновить только EMC2 пишет ошибку

Не удалось получить http://www.linuxcnc.org/emc2/dists/luci ... ackages.gz Ошибка чтения, удалённый сервер прервал соединение
хотя файл отлично скачивается через браузер)
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Установка EMC2 на Ubuntu 11.04

Сообщение Nick »

А там просто нет такого пакета... Попробуй выполнить sudo apt-get updatе... Хотя странно это.

Проще всего emc2 поставить из пакета отсюда: http://buildbot.linuxcnc.org/
Аватара пользователя
roach
Мастер
Сообщения: 205
Зарегистрирован: 01 июн 2011, 07:55
Репутация: 0
Контактная информация:

Re: Установка EMC2 на Ubuntu 11.04

Сообщение roach »

я так понял мне добавлять Lucid (32-bit only), realtime
а что такое Lucid (32-bit and 64-bit), simulation???
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Установка EMC2 на Ubuntu 11.04

Сообщение Nick »

simulation - это симулятор, тот же emc2 только без реалтайма, т.е. на нем можно тестировать настройки и программы, но нельзя реально обрабатывать. А в остальном все работает точно так же.

roach писал(а):я так понял мне добавлять Lucid (32-bit only), realtime
Да. Но может быть лучше просто скачать нужный пакет и поставить его ручками через dpkg -i, частые обновления emc2 не есть хорошо :attention: !
psha
Опытный
Сообщения: 147
Зарегистрирован: 28 фев 2011, 11:11
Репутация: 1
Контактная информация:

Re: Установка EMC2 на Ubuntu 11.04

Сообщение psha »

Nick писал(а):Теперь вопрос, как поменять этот симлинк только для данной программы / терминала???
Проверить что скрипт запускаемый имеет правильный shebang - #!/usr/bin/env python (или python2)
После этого кинуть в какую-нибудь левую директорию симлинки python (и python2) -> /usr/bin/python2.6 и добавить его в PATH в _начало_.
env рюхнет что PATH кривой и вызовет нужный питон

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

upd
Сейчас глянул - по крайней мере в axis правильно, если найдешь где прописано просто #!/usr/bin/python - пинай, исправим
root, доделай конвертацию! :)
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Установка EMC2 на Ubuntu 11.04

Сообщение Nick »

хммм... у меня на 10.10 /usr/bin/env python2 говорит /usr/bin/env: python2: Нет такого файла или каталога. Как же он тогда скрипты запускает с таким хешбенгом?
Сейчас глянул - по крайней мере в axis правильно, если найдешь где прописано просто #!/usr/bin/python - пинай, исправим
/emc2-2.4.4$ grep -R "\#\!.*python" ./

Код: Выделить всё

./src/hal/utils/comp.g:#!/usr/bin/python
./src/hal/utils/yapps.py:#!/usr/bin/python
./src/hal/utils/halgui/halgui.py:#!/usr/bin/env python
./src/hal/user_comps/hal_input.py:#!/usr/bin/python
./src/hal/user_comps/vismach/scaragui.py:#!/usr/bin/python2.4
./src/hal/user_comps/vismach/puma560gui.py:#!/usr/bin/python2.4
./src/hal/user_comps/vismach/maho600gui.py:#!/usr/bin/python2.4
./src/hal/user_comps/vismach/max5gui.py:#!/usr/bin/python2.4
./src/hal/user_comps/vismach/hexagui.py:#!/usr/bin/python2.4
./src/hal/user_comps/vismach/5axisgui.py:#!/usr/bin/python2.4
./src/hal/user_comps/vismach/pumagui.py:#!/usr/bin/python2.4
./src/hal/user_comps/vismach/hbmgui.py:#!/usr/bin/python2.4
./src/hal/user_comps/pyvcp.py:#!/usr/bin/env python
./src/emc/usr_intf/touchy/touchy.py:#!/usr/bin/env python
./src/emc/usr_intf/axis/scripts/hal_manualtoolchange.py:#!/usr/bin/env python
./src/emc/usr_intf/axis/scripts/lintini.py:#!/usr/bin/env python
./src/emc/usr_intf/axis/scripts/lintini.py:#!/usr/bin/python
./src/emc/usr_intf/axis/scripts/image-to-gcode.py:#!/usr/bin/python
./src/emc/usr_intf/axis/scripts/mdi.py:#!/usr/bin/env python
./src/emc/usr_intf/axis/scripts/axis.py:#!/usr/bin/env python2
./src/emc/usr_intf/axis/scripts/axis-remote.py:#!/usr/bin/env python2
./src/emc/usr_intf/axis/scripts/debuglevel.py:#!/usr/bin/python
./src/emc/usr_intf/axis/scripts/emctop.py:#!/usr/bin/env python2
./src/emc/usr_intf/axis/scripts/tracking-test.py:#!/usr/bin/python2.4
./src/emc/usr_intf/axis/scripts/teach-in.py:#!/usr/bin/python
./src/emc/usr_intf/pncconf/pncconf.py:#!/usr/bin/python2.4
./src/emc/usr_intf/stepconf/stepconf.py:#!/usr/bin/python2.4
./src/modsilent:#!/usr/bin/python
./lib/python/rs274/options.py:#!/usr/bin/env python
./lib/python/rs274/OpenGLTk.py:#!/usr/bin/env python
./docs/src/mkpre.py:#!/usr/bin/python
./docs/src/lyxdep.py:#!/usr/bin/python
./docs/src/hal/halmodule.lyx:#!/usr/bin/python
./docs/src/hal/halmodule_fr.lyx:#!/usr/bin/python
./docs/src/lyxparser.py:#!/usr/bin/python
./docs/src/xref.py:#!/usr/bin/python
./docs/src/lyxtree.py:#!/usr/bin/python
./tests/interp/bad/test:#!/usr/bin/python
./tests/hm2-idrom/check-dmesg:#!/usr/bin/env python
./tests/threads.0/checkresult:#!/usr/bin/env python
./configs/plasma-thc/mp1000_serial.py.threadedNonSafe:#!/usr/bin/python
./configs/plasma-thc/mp1000_serial.py:#!/usr/bin/python
Хотя, может это версия не последняя...
psha
Опытный
Сообщения: 147
Зарегистрирован: 28 фев 2011, 11:11
Репутация: 1
Контактная информация:

Re: Установка EMC2 на Ubuntu 11.04

Сообщение psha »

2.4.4 - это старое
Лучше проверять такое на v2.5_branch или на мастере
root, доделай конвертацию! :)
Ответить

Вернуться в «LinuxCNC»