LINUX.ORG.RU

Не запускается Hello World на gtk+

 ,


0

1

Что хотел сделать:
https://common-lisp.net/project/cl-gtk2/tutorial.html

что делал:
layman -a lisp
emerge =dev-lisp/cl-gtk2-0.1.1-r1

$ sbcl
* (require :asdf)
* (asdf:operate 'asdf:load-op :cl-gtk2-gtk)

текст ошибки:

debugger invoked on a UIOP/LISP-BUILD:COMPILE-FILE-ERROR in thread
#<THREAD «main thread» RUNNING {1001F16693}>:
COMPILE-FILE-ERROR while compiling #<CL-SOURCE-FILE «iterate» «iterate»>

гайд
https://wiki.gentoo.org/wiki/Project:Common_Lisp/Guide
читал

проблема примерно такая:
http://lisper.ru/forum/thread/1358

«ASDF это фундамент. А без понимания фундамента, как известно, ну и т.п.»

Я НЕХОЧУ ПРО asdf ЧИТАТЬ!!! МЕНЯ ТОШНИТ!!!

мне нужен простой совет, типа - сделай «sudo emerge -av --unmerge =dev-lisp/iterate-1.4.3» и всё заработает...

проблема в том, что на странице
https://common-lisp.net/project/cl-gtk2/tutorial.html
говорят, что эта зависимость нужна (как раз версия >= 1.4.3 как у меня и стоит)

Что делать?

★★☆

Последнее исправление: Einstok_Fair (всего исправлений: 1)

мне нужен простой совет, типа - сделай «sudo emerge -av --unmerge =dev-lisp/iterate-1.4.3» и всё заработает...

Так я не понял. В Gentoo этот dev-lisp/iterate-1.4.3 есть? Если есть, то куда ставится? Если нет, то надо ставить quicklisp и (ql:quickload «iterate») делать

monk ★★★★★
()

Попробуй так:

#!/usr/bin/env python3

import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk

class HelloWorld(Gtk.Window):
    def __init__(self):
        Gtk.Window.__init__(self)
        self.set_title("Hello World")
        self.connect("destroy", Gtk.main_quit)

        button = Gtk.Button("Click Here")
        button.connect("clicked", self.on_button_clicked)
        self.add(button)

    def on_button_clicked(self, button):
        print("Hello, World!")

window = HelloWorld()
window.show_all()

Gtk.main()
P.S. GTK2 уже устарел

zyxar
()
Ответ на: комментарий от monk

В Gentoo этот dev-lisp/iterate-1.4.3 есть?

Да, есть.

Если есть, то куда ставится?

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

В интернетах пишут, что этот пакет перестал работать с новыми версиями sbcl и нужна более новая версия. А более новой версии пакета в генте нет.

Einstok_Fair ★★☆
() автор топика
Ответ на: комментарий от anonymous

Это линукс. Тут любой пакетный менеджер деинсталлирует старые работающие пакети типа sbcl и инсталлирует новые, неработающие.

Einstok_Fair ★★☆
() автор топика
Ответ на: комментарий от nihirash

Из quicklisp притяни же.

я не умею.

а установка emerge -v =dev-lisp/iterate-9999
заканчивается ошибкой
darcs failed: Couldn't fetch `eb91fa44de2d363506b0d84bd86dc9f5fc28fdb509212ddfd1984d62b9a1f592'

Einstok_Fair ★★☆
() автор топика
Ответ на: комментарий от Einstok_Fair

И свежие исходники
https://common-lisp.net/project/iterate/#getit
скачать не получается:

$ darcs get http://common-lisp.net/project/iterate/darcs/iterate
Directory or file '/usr/src/darks/iterate' already exists, creating repository as '/usr/src/darks/iterate_0'
Hash failure in /home/user/.cache/darcs/pristine.hashed/eb/eb91fa44de2d363506b0d84bd86dc9f5fc28fdb509212ddfd1984d62b9a1f592
Hash failure in /home/user/.cache/darcs/pristine.hashed/cf/cfc01b472d02b1d98034d9270946b2a8b1932409d89fdffcf65a9e729900d5ee
Hash failure in http://common-lisp.net/project/iterate/darcs/iterate/_darcs/pristine.hashed/cfc01b472d02b1d98034d9270946b2a8b1932409d89fdffcf65a9e729900d5ee

darcs failed:  Couldn't fetch `cfc01b472d02b1d98034d9270946b2a8b1932409d89fdffcf65a9e729900d5ee'
in subdir pristine.hashed from sources:

thisrepo:/usr/src/darks/iterate_0
cache:/root/.cache/darcs
repo:http://common-lisp.net/project/iterate/darcs/iterate

http://bugs.darcs.net/issue687

/bin/rm -rf ~/.darcs/cache

Einstok_Fair ★★☆
() автор топика
Последнее исправление: Einstok_Fair (всего исправлений: 2)
Ответ на: комментарий от Einstok_Fair

Теперь пакет dev-list/iterate-9999 компилируется, но не устанавливает файлы
(если посмотреть qeuery files, то создаётся только пустая директория и всё)

лисп закономерно пишет, что iterate не установлен

Einstok_Fair ★★☆
() автор топика
Ответ на: комментарий от zyxar

Спасибо большое. Напиши, пожалуйста, версию на php ( используя https://en.wikipedia.org/wiki/PHP-GTK ). Я слышал, что php более популярный, чем Python.

Если втянешься, то ещё на JavaScript ( http://zetcode.com/gui/javascriptgtktutorial/ ) и swi-prolog ( http://www.swi-prolog.org/pack/list?p=plgi ).

Einstok_Fair ★★☆
() автор топика
Последнее исправление: Einstok_Fair (всего исправлений: 1)

Хочется скобочек и гтк — бери ракет — там оно из коробки, и интерфейсы писать удобно.

nihirash ★★★
()
Ответ на: комментарий от Virtuos86

Зачем нужно такое коммьюнити, которое даже hello world запрограммировать не может? Если у вас баги в стартовых туториалах, то все остальные программы - тем более не работают. Уйду на Rust!

Einstok_Fair ★★☆
() автор топика
Ответ на: комментарий от Einstok_Fair

В интернетах пишут, что этот пакет перестал работать с новыми версиями sbcl и нужна более новая версия. А более новой версии пакета в генте нет.

Поставь старый SBCL

monk ★★★★★
()
Ответ на: комментарий от monk

Поставь старый SBCL

где-ж я его возьму?

в статье указан SBCL-1.0.18 and SBCL-1.0.28

В репозитории настолько старого нет:

$ ls /usr/portage/dev-lisp/sbcl/ -1 *.ebuild
sbcl-1.3.11.ebuild
sbcl-1.3.12.ebuild
sbcl-1.3.13.ebuild
sbcl-1.3.14.ebuild
sbcl-1.3.15.ebuild
sbcl-1.3.16.ebuild
sbcl-1.3.17.ebuild
sbcl-1.3.18.ebuild
sbcl-1.3.19.ebuild
sbcl-1.3.20.ebuild
sbcl-1.3.21.ebuild
sbcl-1.4.0.ebuild
sbcl-1.4.1.ebuild
sbcl-1.4.2.ebuild
sbcl-1.4.3.ebuild

Einstok_Fair ★★☆
() автор топика

Я НЕХОЧУ ПРО asdf ЧИТАТЬ!!! МЕНЯ ТОШНИТ!!!
Что делать?

Будь как взрослый. Используй Quicklisp

antares0 ★★★★
()
3 декабря 2019 г.
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.