Should xorg-server should be made a dependency of some key x11 component, so
that when people install an x11 application, xorg-server installs and it
actually works for them “out-of-the-box”.
For example, CherryTree is apparently a very popular gtk application, and there
was some pressure for the past few years for a Mac version. I just stumbled
across it recently — took about 15 minutes to write the Portfile (and a couple
of minor edits after to get it completely right :>).
But when people try "sudo port -v install cherrytree” it delivers a broken
installation due to no xorg-server (see below).
It’s one more step to go back and explain how to install the server, but
really, as XQuartz.app is really out of date now, and MacOS no longer comes
with any X11 window server, I think we could just make our xorg-server a
dependency of some key part and have it installed automatically.
Otherwise, it seems like just one more needless headache for people that they
should not have to worry about, and we’re all about making this work “out of
the box” for people, right? — or we should be, if we want to recruit keep users.
Ken
— example of cryptic error without xorg-server installed, gives people no clue
what is wrong.
=========
So I've tried to run this using port myself and get the following error:
phillips321@Mac13:~$ cherrytree
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/gtk-2.0/gtk/__init__.py:57:
GtkWarning: could not open display
warnings.warn(str(e), _gtk.Warning)
dbus[77158]: Dynamic session lookup supported but failed: launchd did not
provide a socket path, verify that org.freedesktop.dbus-session.plist is loaded!
dbus fail, maybe a firewall problem, centralized instances disabled
libc.prctl not available, the process name will be python and not cherrytree
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:69:
Warning: invalid (NULL) pointer instance
self.window = gtk.Window()
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:69:
Warning: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)'
failed
self.window = gtk.Window()
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/clipboard.py:93:
GtkWarning: gtk_clipboard_get_for_display: assertion 'display != NULL' failed
self.clipboard = gtk.clipboard_get()
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:114:
Warning: invalid (NULL) pointer instance
vbox_main.pack_start(self.ui.get_widget("/MenuBar"), False, False)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:114:
Warning: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)'
failed
vbox_main.pack_start(self.ui.get_widget("/MenuBar"), False, False)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:114:
GtkWarning: gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)'
failed
vbox_main.pack_start(self.ui.get_widget("/MenuBar"), False, False)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:114:
Warning: g_object_get: assertion 'G_IS_OBJECT (object)' failed
vbox_main.pack_start(self.ui.get_widget("/MenuBar"), False, False)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:114:
Warning: value "TRUE" of type 'gboolean' is invalid or out of range for
property 'visible' of type 'gboolean'
vbox_main.pack_start(self.ui.get_widget("/MenuBar"), False, False)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:114:
GtkWarning: gdk_screen_get_display: assertion 'GDK_IS_SCREEN (screen)' failed
vbox_main.pack_start(self.ui.get_widget("/MenuBar"), False, False)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:114:
Warning: g_object_ref: assertion 'G_IS_OBJECT (object)' failed
vbox_main.pack_start(self.ui.get_widget("/MenuBar"), False, False)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:119:
GtkWarning: gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)'
failed
self.scrolledwindow_tree = gtk.ScrolledWindow()
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:121:
GtkWarning: gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)'
failed
self.scrolledwindow_text = gtk.ScrolledWindow()
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:173:
GtkWarning: gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)'
failed
self.treeview.append_column(self.column)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:173:
Warning: g_object_get: assertion 'G_IS_OBJECT (object)' failed
self.treeview.append_column(self.column)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:1307:
Warning: invalid (NULL) pointer instance
self.node_menu_tree = gtk.Menu()
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:1307:
Warning: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)'
failed
self.node_menu_tree = gtk.Menu()
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:1272:
GtkWarning: gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)'
failed
menu_item = gtk.ImageMenuItem(attributes[1])
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:1272:
Warning: g_object_get: assertion 'G_IS_OBJECT (object)' failed
menu_item = gtk.ImageMenuItem(attributes[1])
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:1272:
Warning: value "TRUE" of type 'gboolean' is invalid or out of range for
property 'visible' of type 'gboolean'
menu_item = gtk.ImageMenuItem(attributes[1])
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:1274:
GtkWarning: gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)'
failed
menu_item.set_image(gtk.image_new_from_stock(attributes[0],
gtk.ICON_SIZE_MENU))
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:1274:
Warning: g_object_get: assertion 'G_IS_OBJECT (object)' failed
menu_item.set_image(gtk.image_new_from_stock(attributes[0],
gtk.ICON_SIZE_MENU))
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:1274:
Warning: value "TRUE" of type 'gboolean' is invalid or out of range for
property 'visible' of type 'gboolean'
menu_item.set_image(gtk.image_new_from_stock(attributes[0],
gtk.ICON_SIZE_MENU))
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:1263:
Warning: invalid (NULL) pointer instance
curr_submenu = gtk.Menu()
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:1263:
Warning: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)'
failed
curr_submenu = gtk.Menu()
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:1264:
GtkWarning: gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)'
failed
menu_item = gtk.ImageMenuItem(attributes[1])
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:1264:
Warning: g_object_get: assertion 'G_IS_OBJECT (object)' failed
menu_item = gtk.ImageMenuItem(attributes[1])
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:1264:
Warning: value "TRUE" of type 'gboolean' is invalid or out of range for
property 'visible' of type 'gboolean'
menu_item = gtk.ImageMenuItem(attributes[1])
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:1265:
GtkWarning: gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)'
failed
menu_item.set_image(gtk.image_new_from_stock(attributes[2],
gtk.ICON_SIZE_MENU))
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:1265:
Warning: g_object_get: assertion 'G_IS_OBJECT (object)' failed
menu_item.set_image(gtk.image_new_from_stock(attributes[2],
gtk.ICON_SIZE_MENU))
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:1265:
Warning: value "TRUE" of type 'gboolean' is invalid or out of range for
property 'visible' of type 'gboolean'
menu_item.set_image(gtk.image_new_from_stock(attributes[2],
gtk.ICON_SIZE_MENU))
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:212:
GtkWarning: gdk_pango_context_get_for_screen: assertion 'GDK_IS_SCREEN
(screen)' failed
self.scrolledwindow_text.add(self.sourceview)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:212:
PangoWarning: pango_context_set_font_description: assertion 'context != NULL'
failed
self.scrolledwindow_text.add(self.sourceview)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:212:
PangoWarning: pango_context_set_base_dir: assertion 'context != NULL' failed
self.scrolledwindow_text.add(self.sourceview)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:212:
PangoWarning: pango_context_set_language: assertion 'context != NULL' failed
self.scrolledwindow_text.add(self.sourceview)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:212:
Warning: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
self.scrolledwindow_text.add(self.sourceview)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:212:
GtkWarning: gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)'
failed
self.scrolledwindow_text.add(self.sourceview)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:212:
GtkWarning: gdk_screen_get_display: assertion 'GDK_IS_SCREEN (screen)' failed
self.scrolledwindow_text.add(self.sourceview)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:212:
GtkWarning: gdk_keymap_get_for_display: assertion 'GDK_IS_DISPLAY (display)'
failed
self.scrolledwindow_text.add(self.sourceview)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/cherrytree/modules/core.py:212:
Warning: g_object_get: assertion 'G_IS_OBJECT (object)' failed
self.scrolledwindow_text.add(self.sourceview)
Segmentation fault: 11
phillips321@Mac13:~$
Any idea what could be causing it?
phillips321@Mac13:~$ which python
/opt/local/bin/python
phillips321@Mac13:~$ which cherrytree
/opt/local/bin/cherrytree
phillips321@Mac13:~$ python -V
Python 2.7.18
phillips321@Mac13:~$ echo $PATH
/opt/local/bin:/opt/local/sbin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:'
phillips321@Mac13:~$