<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="">Hi,<div class=""><br class=""></div><div class="">Personally, I would say yes, this makes sense given the current state of XQuartz.app</div><div class=""><br class=""></div><div class="">cheers Chris<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On 20 May 2020, at 2:30 pm, Ken Cunningham <<a href="mailto:ken.cunningham.webuse@gmail.com" class="">ken.cunningham.webuse@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html; charset=utf-8" class=""><div 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></div></div></blockquote></div><br class=""></div></body></html>