<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">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”.<div class=""><br class=""></div><div class="">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 :>).</div><div class=""><br class=""></div><div class="">But when people try "sudo port -v install cherrytree” it delivers a broken installation due to no xorg-server (see below).</div><div class=""><br class=""></div><div class="">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.</div><div class=""><br class=""></div><div class="">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.</div><div class=""><br class=""></div><div class="">Ken</div><div class=""><br class=""></div><div class="">— example of cryptic error without xorg-server installed, gives people no clue what is wrong.</div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">=========</div><div class=""><p class="">So I've tried to run this using port myself and get the following error:</p><pre class=""><code class="">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:~$
</code></pre><p class="">Any idea what could be causing it?</p><pre class=""><code class="">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:~$</code></pre><div class=""><br class=""></div></div></body></html>