jeanguyomarch / eovim

The Enlightened Neovim
https://github.com/jeanguyomarch/eovim/wiki
MIT License
193 stars 3 forks source link

I really wanted to try this, but it seems it no longer works with homebrew setups (OsX/Darwin) #29

Closed SkyLeach closed 6 years ago

SkyLeach commented 6 years ago
_☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠_
| ~/src/eovim/build @ work-mbp (abuser)
|11:37:40💀> safe_pwd
/Users/magregor/src/eovim/build
_☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠_
| ~/src/eovim/build @ work-mbp (abuser)
|11:37:43💀> ll
total 288
-rw-r--r--   1 abuser  staff    98K Apr  8 01:26 CMakeCache.txt
drwxr-xr-x  17 abuser  staff   578B Apr  8 01:26 CMakeFiles/
-rw-r--r--   1 abuser  staff   3.8K Apr  8 01:26 CPackConfig.cmake
-rw-r--r--   1 abuser  staff   4.3K Apr  8 01:26 CPackSourceConfig.cmake
-rw-r--r--   1 abuser  staff    19K Apr  8 01:26 Makefile
-rw-r--r--   1 abuser  staff   4.2K Apr  8 01:26 cmake_install.cmake
drwxr-xr-x   3 abuser  staff   102B Apr  8 01:26 data/
-rwxr-xr-x   1 abuser  staff   145K Apr  8 01:26 eovim
drwxr-xr-x   3 abuser  staff   102B Apr  8 01:26 include/
drwxr-xr-x   4 abuser  staff   136B Apr  8 01:26 man/
drwxr-xr-x   8 abuser  staff   272B Apr  8 01:26 plugins/
drwxr-xr-x   3 abuser  staff   102B Apr  8 01:26 themes/

_☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠_
| ~/src/eovim/build @ work-mbp (abuser)
|11:44:04💀> ./eovim > startup_log 2>&1
_☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠_
| ~/src/eovim/build @ work-mbp (abuser)
|11:45:56💀> cat startup_log | pbcopy

Startup errors:

dbus[56879]: Dynamic session lookup supported but failed: launchd did not provide a socket path, verify that org.freedesktop.dbus-session.plist is loaded!
ERR<56879>:eldbus lib/eldbus/eldbus_core.c:1050 _connection_get() Error connecting to bus of type 2. error name: org.freedesktop.DBus.Error.NoMemory error message: Not enough memory
ERR<56879>:eina_safety lib/eldbus/eldbus_core.c:1113 eldbus_connection_get() safety check failed: conn == NULL
ERR<56879>:eina_safety lib/eldbus/eldbus_object.c:192 eldbus_object_get() safety check failed: conn == NULL
ERR<56879>:ecore_system_upower modules/ecore/system/upower/ecore_system_upower.c:443 _ecore_system_upower_init() could not get object name=org.freedesktop.UPower, path=/org/freedesktop/UPower
ERR<56879>:eina_safety lib/eldbus/eldbus_core.c:1424 eldbus_name_owner_changed_callback_del() safety check failed: conn == NULL
dbus[56881]: Dynamic session lookup supported but failed: launchd did not provide a socket path, verify that org.freedesktop.dbus-session.plist is loaded!
ERR<56881>:eldbus lib/eldbus/eldbus_core.c:1050 _connection_get() Error connecting to bus of type 2. error name: org.freedesktop.DBus.Error.NoMemory error message: Not enough memory
ERR<56881>:eina_safety lib/eldbus/eldbus_core.c:1113 eldbus_connection_get() safety check failed: conn == NULL
ERR<56881>:eina_safety lib/eldbus/eldbus_object.c:192 eldbus_object_get() safety check failed: conn == NULL
ERR<56881>:ecore_system_upower modules/ecore/system/upower/ecore_system_upower.c:443 _ecore_system_upower_init() could not get object name=org.freedesktop.UPower, path=/org/freedesktop/UPower
ERR<56881>:eina_safety lib/eldbus/eldbus_core.c:1424 eldbus_name_owner_changed_callback_del() safety check failed: conn == NULL
dbus[56883]: Dynamic session lookup supported but failed: launchd did not provide a socket path, verify that org.freedesktop.dbus-session.plist is loaded!
ERR<56883>:eldbus lib/eldbus/eldbus_core.c:1050 _connection_get() Error connecting to bus of type 2. error name: org.freedesktop.DBus.Error.NoMemory error message: Not enough memory
ERR<56883>:eina_safety lib/eldbus/eldbus_core.c:1113 eldbus_connection_get() safety check failed: conn == NULL
ERR<56883>:eina_safety lib/eldbus/eldbus_object.c:192 eldbus_object_get() safety check failed: conn == NULL
ERR<56883>:ecore_system_upower modules/ecore/system/upower/ecore_system_upower.c:443 _ecore_system_upower_init() could not get object name=org.freedesktop.UPower, path=/org/freedesktop/UPower
ERR<56883>:eina_safety lib/eldbus/eldbus_core.c:1424 eldbus_name_owner_changed_callback_del() safety check failed: conn == NULL
ERR<56879>:evas-gl_common modules/evas/engines/gl_common/evas_gl_context.c:172 evas_gl_symbols() GL extension string was empty
ERR<56879>:elementary lib/elementary/elm_layout.c:886 _elm_layout_efl_file_file_set() failed to set edje file '/usr/local/share/eovim/themes/default.edj', group 'eovim/main': File Does Not Exist
CRI<56879>:eovim /Users/magregor/src/eovim/src/gui.c:88 _layout_item_add() Failed to set layout
CRI<56879>:eovim /Users/magregor/src/eovim/src/gui.c:187 gui_add() Failed to get layout item
CRI<56879>:eovim /Users/magregor/src/eovim/src/nvim.c:674 nvim_new() Failed to set up the graphical user interface
CRI<56879>: ../src/lib/eina/eina_binbuf_template_c.x:91 eina_strbuf_free() *** Eina Magic Check Failed at 0x7f8fca621b00 !!!
    Input handle is wrong type
    Expected: 98761250 - Eina Strbuf
    Supplied: 0000cadb - (unknown)
*** NAUGHTY PROGRAMMER!!!
*** SPANK SPANK SPANK!!!
*** Now go fix your code. Tut tut tut!

CRI<56879>:eovim /Users/magregor/src/eovim/src/main.c:210 elm_main() Failed to create a NeoVim instance
dbus[56888]: Dynamic session lookup supported but failed: launchd did not provide a socket path, verify that org.freedesktop.dbus-session.plist is loaded!
ERR<56888>:eldbus lib/eldbus/eldbus_core.c:1050 _connection_get() Error connecting to bus of type 2. error name: org.freedesktop.DBus.Error.NoMemory error message: Not enough memory
ERR<56888>:eina_safety lib/eldbus/eldbus_core.c:1113 eldbus_connection_get() safety check failed: conn == NULL
ERR<56888>:eina_safety lib/eldbus/eldbus_object.c:192 eldbus_object_get() safety check failed: conn == NULL
ERR<56888>:ecore_system_upower modules/ecore/system/upower/ecore_system_upower.c:443 _ecore_system_upower_init() could not get object name=org.freedesktop.UPower, path=/org/freedesktop/UPower
ERR<56888>:eina_safety lib/eldbus/eldbus_core.c:1424 eldbus_name_owner_changed_callback_del() safety check failed: conn == NULL

It's looking for dbus[56879]: Dynamic session lookup supported but failed: launchd did not provide a socket path, verify that org.freedesktop.dbus-session.plist is loaded!

But homebrew doesn't use that name anymore AFAIK:

_☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠_
| ~/src/eovim/build @ work-mbp (abuser)
|04:44:04💀> brew services list
Name       Status  User Plist
dbus       started root /Library/LaunchDaemons/homebrew.mxcl.dbus.plist
mysql      stopped
postgresql stopped
pulseaudio stopped
redis      stopped

my PKG_CONFIG_PATH

/usr/local/lib/pkgconfig:/usr/local/opt/openssl/lib/pkgconfig:/usr/local/opt/qt/lib/pkgconfig:/usr/local/lib/pkgconfig:/usr/local/opt/openssl/lib/pkgconfig:/usr/local/opt/qt/lib/pkgconfig:/usr/local/lib/pkgconfig

Info on qt5.10

_☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠__☠_
| ~/src/eovim/build @ work-mbp (abuser)
|12:02:13💀> brew info qt
qt: stable 5.10.1 (bottled), HEAD [keg-only]
Cross-platform application and UI framework
https://www.qt.io/
/usr/local/Cellar/qt/5.9.1 (9,019 files, 278.0MB)
  Poured from bottle on 2017-10-01 at 18:03:00
/usr/local/Cellar/qt/5.10.1 (9,375 files, 295.2MB)
  Poured from bottle on 2018-04-08 at 01:49:40
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/qt.rb
==> Dependencies
Build: pkg-config ✔
Optional: mysql ✔, postgresql ✔
==> Requirements
Build: xcode ✔
Required: macOS >= 10.8 ✔
==> Options
--with-docs
        Build documentation
--with-examples
        Build examples
--with-mysql
        Build with mysql support
--with-postgresql
        Build with postgresql support
--without-proprietary-codecs
        Don't build with proprietary codecs (e.g. mp3)
--HEAD
        Install HEAD version
==> Caveats
We agreed to the Qt opensource license for you.
If this is unacceptable you should uninstall.

This formula is keg-only, which means it was not symlinked into /usr/local,
because Qt 5 has CMake issues when linked.

If you need to have this software first in your PATH run:
  echo 'export PATH="/usr/local/opt/qt/bin:$PATH"' >> ~/.bash_profile

For compilers to find this software you may need to set:
    LDFLAGS:  -L/usr/local/opt/qt/lib
    CPPFLAGS: -I/usr/local/opt/qt/include
For pkg-config to find this software you may need to set:
    PKG_CONFIG_PATH: /usr/local/opt/qt/lib/pkgconfig
jeanguyomarch commented 6 years ago

Hi,

I don't have a mac to test with recent versions, but I think eovim does not work because you are trying to execute it while it is not installed (e.g you didn't run make install).

IIRC, the dbus error is benign bug from the underlying framework I use, but the errors thrown hide what seems to me the real error:

ERR<56879>:elementary lib/elementary/elm_layout.c:886 _elm_layout_efl_file_file_set() failed to set edje file '/usr/local/share/eovim/themes/default.edj', group 'eovim/main': File Does Not Exist
CRI<56879>:eovim /Users/magregor/src/eovim/src/gui.c:88 _layout_item_add() Failed to set layout
CRI<56879>:eovim /Users/magregor/src/eovim/src/gui.c:187 gui_add() Failed to get layout item
CRI<56879>:eovim /Users/magregor/src/eovim/src/nvim.c:674 nvim_new() Failed to set up the graphical user interface

As mentioned in the section Hacking of the readme, to execute eovim without a prior installation, you should set the EOVIM_IN_TREE environment variable:

env EOVIM_IN_TREE=1 ./eovim

Also, eovim uses the EFL, not QT :)

Please let me know if you still experience the issue.

SkyLeach commented 6 years ago

I'll try that, thanks for the tip!

SkyLeach commented 6 years ago

Ok, so it was actually TWO things. What you suggested was half, and the other half was due to an old part of my environment ~/.fortune.interactive.sh

case $- in
  *i*)
      # homebrew fortune :-) should already be in PATH
      if [ -f "/usr/local/bin/fortune" ]; then
          fortune -ao
      fi;;
  *) # we aren't interactive, so nothing below here matters
      exit 0
esac

I dunno, it was an old script plugin from an old environment from years ago and I used a script to add back a bunch of old stuff all at once. I didn't even think about the fact that there could have been something like this in there (which, incidentally, broke xquartz which broke lots of other stuff).

here is what finally clued me in (from the system.log):

Apr  8 17:22:49 --- last message repeated 10 times ---
Apr  8 17:22:49 work-mbp-M-W0XX org.macosforge.xquartz.X11.stub[95413]: Xquartz: bootstrap_look_up(): Unknown service name
Apr  8 17:22:50 work-mbp-M-W0XX org.macosforge.xquartz.startx[95249]: waiting for X server to begin accepting connections
Apr  8 17:22:50 work-mbp-M-W0XX org.macosforge.xquartz.startx[95249]: /opt/X11/bin/xinit: giving up
Apr  8 17:22:50 work-mbp-M-W0XX org.macosforge.xquartz.startx[95249]: /opt/X11/bin/xinit: unable to connect to X server: Operation timed out