Не могу скомпилировать tkImg из пакета Tk для Ruby на Ubuntu 14.04?

А теперь поподробнее. Понадобился мне пакет инструментальных средств Tk для Ruby.
Установил его через sudo apt-get install libtcltk-ruby.
Сначала все заработало, но когда понадобилось использование require "tkextlib/tkimg/jpeg" выдает ошибки:
/usr/lib/ruby/1.9.1/tk/package.rb:86:in `rescue in require': TkPackage can't find package img::jpeg (RuntimeError)
	from /usr/lib/ruby/1.9.1/tk/package.rb:83:in `require'
	from /usr/lib/ruby/1.9.1/tkextlib/tkimg/jpeg.rb:14:in `<top (required)>'
	from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
	from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
	from /home/xo8bit/RubymineProjects/test/my_test.rb:4:in `<top (required)>'
	from -e:1:in `load'
	from -e:1:in `<main>'

Нашел отдельно пакет tkimg1.4.tar.gz, но его нужно собирать самостоятельно, опыта сборки/компиляции не имею, немного почитав мануалов на форуме Ubuntu, попробовал:
./configure
./make

и много других методов, но ничего так и не вышло. Помогите решить первоначальную проблему с Tk в Ruby. И ткните носом если второй уже где то решался.

P.S. Вот что выдает irb
irb(main):002:0> require "tkextlib/tkimg/jpeg"
RuntimeError: TkPackage can't find package img::jpeg
	from /usr/lib/ruby/1.9.1/tk/package.rb:86:in `rescue in require'
	from /usr/lib/ruby/1.9.1/tk/package.rb:83:in `require'
	from /usr/lib/ruby/1.9.1/tkextlib/tkimg/jpeg.rb:14:in `<top (required)>'
	from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
	from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
	from (irb):2
	from /usr/bin/irb:12:in `<main>'
  • Вопрос задан
  • 2677 просмотров
Пригласить эксперта
Ответы на вопрос 3
Попробуйте поставить
sudo apt-get install libjpeg libjpeg-dev
Ответ написан
Комментировать
@xo8bit Автор вопроса
libjpeg-dev установился, libjpeg не находит. Ошибка по прежнему вот:
/usr/lib/ruby/1.9.1/tk/package.rb:86:in `rescue in require': TkPackage can't find package img::jpeg (RuntimeError)
	from /usr/lib/ruby/1.9.1/tk/package.rb:83:in `require'
	from /usr/lib/ruby/1.9.1/tkextlib/tkimg/jpeg.rb:14:in `<top (required)>'
	from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
	from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
	from /home/xo8bit/RubymineProjects/test/my_test.rb:4:in `<top (required)>'
	from -e:1:in `load'
	from -e:1:in `<main>'
Ответ написан
Комментировать
conf
@conf
Ruby developer
Смотрите похожую проблему вот здесь: https://www.ruby-forum.com/topic/4414548
Насколько я смог понять, проблема в том, что расширения из tkextlib/ нужно ставить отдельно либо в том, что стандартная поставка расширений из tcl неполная и она затирает ту, что ставится через гем. Проверить поддержку можно с помощью команды
ruby C:/Ruby193/lib/ruby/1.9.1/tkextlib/pkg_checker.rb
(подставьте нужный путь к своей версии руби)
Больше подробностей на англ. по ссылке вверху. Удачи.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы