atlas-engineer / nyxt

Nyxt - the hacker's browser.
https://nyxt-browser.com/
9.76k stars 408 forks source link

Next Hangs/Never Opens on MacOS Catalina #684

Closed heywoodlh closed 1 year ago

heywoodlh commented 4 years ago

Describe the bug I can't seem to run Next after building from Source or installing via MacPorts.

I have run into basically all of the issues and solutions outlined here: https://github.com/atlas-engineer/next/issues/657

I am able to compile the application and have moved the bundle to /Applications.

However, when I attempt to run Next from the CLI or launching the application a new Next window is never opened. I can see the PID but no window ever appears.

Precise recipe to reproduce the issue

I just followed the Standard Developer Installation instructions. In order for it to actually compile, I installed webkit2-gtk-devel using port:

sudo port install webkit2-gtk-devel

Information

Output when started from a shell

❯ /Applications/Next.app/Contents/MacOS/next                                                                                                                                                                                     16s 934ms 
objc[10642]: Class GNotificationCenterDelegate is implemented in both /usr/local/Cellar/glib/2.64.2/lib/libgio-2.0.0.dylib (0xfa3e2e0) and /opt/local/lib/libgio-2.0.0.dylib (0x14c06210). One of the two will be used. Which one is undefined.
WARNING: cl-cffi-gtk: GType GdkX11DeviceXI2 is not known to GObject
WARNING:
   Declared GType name 'GdkX11DeviceXI2' for class 'GDK-X11-DEVICE-XI2' does not match actual GType name 'GStrv'
WARNING: cl-cffi-gtk: GType GdkX11DeviceManagerCore is not known to GObject
WARNING:
   Declared GType name 'GdkX11DeviceManagerCore' for class 'GDK-X11-DEVICE-MANAGER-CORE' does not match actual GType name 'GClosure'
WARNING: cl-cffi-gtk: GType GdkX11DeviceManagerXI2 is not known to GObject
WARNING:
   Declared GType name 'GdkX11DeviceManagerXI2' for class 'GDK-X11-DEVICE-MANAGER-XI2' does not match actual GType name 'GAppInfo'
WARNING: cl-cffi-gtk: GType GtkPlug is not known to GObject
WARNING:
   Declared GType name 'GtkPlug' for class 'GTK-PLUG' does not match actual GType name 'GActionGroup'
WARNING: cl-cffi-gtk: GType GtkSocket is not known to GObject
WARNING:
   Declared GType name 'GtkSocket' for class 'GTK-SOCKET' does not match actual GType name 'GActionMap'
WARNING: cl-cffi-gtk: GType WebKitAuthenticationRequest is not known to GObject
WARNING:
   Declared GType name 'WebKitAuthenticationRequest' for class 'WEBKIT-AUTHENTICATION-REQUEST' does not match actual GType name 'GSimpleAction'
WARNING: cl-cffi-gtk: GType WebKitBackForwardListItem is not known to GObject
WARNING:
   Declared GType name 'WebKitBackForwardListItem' for class 'WEBKIT-BACK-FORWARD-LIST-ITEM' does not match actual GType name 'GSimpleActionGroup'
WARNING: cl-cffi-gtk: GType WebKitBackForwardList is not known to GObject
WARNING:
   Declared GType name 'WebKitBackForwardList' for class 'WEBKIT-BACK-FORWARD-LIST' does not match actual GType name 'GApplication'
WARNING: cl-cffi-gtk: GType WebKitCookieManager is not known to GObject
WARNING:
   Declared GType name 'WebKitCookieManager' for class 'WEBKIT-COOKIE-MANAGER' does not match actual GType name 'GApplicationFlags'
WARNING: cl-cffi-gtk: GType WebKitContextMenuItem is not known to GObject
WARNING:
   Declared GType name 'WebKitContextMenuItem' for class 'WEBKIT-CONTEXT-MENU-ITEM' does not match actual GType name 'GMenuModel'
WARNING: cl-cffi-gtk: GType WebKitContextMenu is not known to GObject
WARNING:
   Declared GType name 'WebKitContextMenu' for class 'WEBKIT-CONTEXT-MENU' does not match actual GType name 'GMenu'
WARNING: cl-cffi-gtk: GType WebKitDownload is not known to GObject
WARNING:
   Declared GType name 'WebKitDownload' for class 'WEBKIT-DOWNLOAD' does not match actual GType name 'GMenuItem'
WARNING: cl-cffi-gtk: GType WebKitFaviconDatabase is not known to GObject
WARNING:
   Declared GType name 'WebKitFaviconDatabase' for class 'WEBKIT-FAVICON-DATABASE' does not match actual GType name 'GListModel'
WARNING: cl-cffi-gtk: GType WebKitFileChooserRequest is not known to GObject
WARNING:
   Declared GType name 'WebKitFileChooserRequest' for class 'WEBKIT-FILE-CHOOSER-REQUEST' does not match actual GType name 'GListStore'
WARNING: cl-cffi-gtk: GType WebKitFindController is not known to GObject
WARNING:
   Declared GType name 'WebKitFindController' for class 'WEBKIT-FIND-CONTROLLER' does not match actual GType name 'GdkColorspace'
WARNING: cl-cffi-gtk: GType WebKitFormSubmissionRequest is not known to GObject
WARNING:
   Declared GType name 'WebKitFormSubmissionRequest' for class 'WEBKIT-FORM-SUBMISSION-REQUEST' does not match actual GType name 'GdkPixbufAlphaMode'
WARNING: cl-cffi-gtk: GType WebKitHitTestResult is not known to GObject
WARNING:
   Declared GType name 'WebKitHitTestResult' for class 'WEBKIT-HIT-TEST-RESULT' does not match actual GType name 'GdkPixbuf'
WARNING: cl-cffi-gtk: GType WebKitPermissionRequest is not known to GObject
WARNING:
   Declared GType name 'WebKitPermissionRequest' for class 'WEBKIT-PERMISSION-REQUEST' does not match actual GType name 'GLoadableIcon'
WARNING: cl-cffi-gtk: GType WebKitPlugin is not known to GObject
WARNING:
   Declared GType name 'WebKitPlugin' for class 'WEBKIT-PLUGIN' does not match actual GType name 'GdkInterpType'
WARNING: cl-cffi-gtk: GType WebKitPrintOperation is not known to GObject
WARNING:
   Declared GType name 'WebKitPrintOperation' for class 'WEBKIT-PRINT-OPERATION' does not match actual GType name 'GdkPixbufRotation'
WARNING: cl-cffi-gtk: GType WebKitScriptWorld is not known to GObject
WARNING:
   Declared GType name 'WebKitScriptWorld' for class 'WEBKIT-SCRIPT-WORLD' does not match actual GType name 'GdkPixbufAnimation'
WARNING: cl-cffi-gtk: GType WebKitFrame is not known to GObject
WARNING:
   Declared GType name 'WebKitFrame' for class 'WEBKIT-FRAME' does not match actual GType name 'GdkPixbufSimpleAnim'
WARNING: cl-cffi-gtk: GType WebKitSecurityManager is not known to GObject
WARNING:
   Declared GType name 'WebKitSecurityManager' for class 'WEBKIT-SECURITY-MANAGER' does not match actual GType name 'GdkPixbufLoader'
WARNING: cl-cffi-gtk: GType WebKitSettings is not known to GObject
WARNING:
   Declared GType name 'WebKitSettings' for class 'WEBKIT-SETTINGS' does not match actual GType name 'PangoUnderline'
WARNING: cl-cffi-gtk: GType WebKitURIRequest is not known to GObject
WARNING:
   Declared GType name 'WebKitURIRequest' for class 'WEBKIT-URI-REQUEST' does not match actual GType name 'PangoAttrList'
WARNING: cl-cffi-gtk: GType WebKitPolicyDecision is not known to GObject
WARNING:
   Declared GType name 'WebKitPolicyDecision' for class 'WEBKIT-POLICY-DECISION' does not match actual GType name 'PangoStyle'
WARNING:
   cl-cffi-gtk: GType WebKitNavigationPolicyDecision is not known to GObject
WARNING:
   Declared GType name 'WebKitNavigationPolicyDecision' for class 'WEBKIT-NAVIGATION-POLICY-DECISION' does not match actual GType name 'PangoWeight'
WARNING: cl-cffi-gtk: GType WebKitResponsePolicyDecision is not known to GObject
WARNING:
   Declared GType name 'WebKitResponsePolicyDecision' for class 'WEBKIT-RESPONSE-POLICY-DECISION' does not match actual GType name 'PangoStretch'
WARNING: cl-cffi-gtk: GType WebKitUserContentManager is not known to GObject
WARNING:
   Declared GType name 'WebKitUserContentManager' for class 'WEBKIT-USER-CONTENT-MANAGER' does not match actual GType name 'PangoFont'
WARNING: cl-cffi-gtk: GType WebKitNetworkProxySettings is not known to GObject
WARNING:
   Declared GType name 'WebKitNetworkProxySettings' for class 'WEBKIT-NETWORK-PROXY-SETTINGS' does not match actual GType name 'PangoFontFamily'
WARNING: cl-cffi-gtk: GType WebKitWebContext is not known to GObject
WARNING:
   Declared GType name 'WebKitWebContext' for class 'WEBKIT-WEB-CONTEXT' does not match actual GType name 'PangoFontFace'
WARNING: cl-cffi-gtk: GType WebKitWebPage is not known to GObject
WARNING:
   Declared GType name 'WebKitWebPage' for class 'WEBKIT-WEB-PAGE' does not match actual GType name 'PangoLayout'
WARNING: cl-cffi-gtk: GType WebKitWebResource is not known to GObject
WARNING:
   Declared GType name 'WebKitWebResource' for class 'WEBKIT-WEB-RESOURCE' does not match actual GType name 'PangoWrapMode'
WARNING: cl-cffi-gtk: GType WebKitWebInspector is not known to GObject
WARNING:
   Declared GType name 'WebKitWebInspector' for class 'WEBKIT-WEB-INSPECTOR' does not match actual GType name 'PangoEllipsizeMode'
WARNING: cl-cffi-gtk: GType WebKitWebView is not known to GObject
WARNING:
   Declared GType name 'WebKitWebView' for class 'WEBKIT-WEB-VIEW' does not match actual GType name 'PangoRenderer'
WARNING: cl-cffi-gtk: GType WebKitWindowProperties is not known to GObject
WARNING:
   Declared GType name 'WebKitWindowProperties' for class 'WEBKIT-WINDOW-PROPERTIES' does not match actual GType name 'PangoRenderPart'
Next version 1.5.0-345b9606
<ERROR> [12:33:49] next browser.lisp (finalize browser fun30) -
  In startup-function #<FUNCTION NEXT::DEFAULT-STARTUP>: Object #<PANGO-FONT-FACE {1008B66683}> is not a subtype of WEBKIT-WEB-CONTEXT
Ambrevar commented 4 years ago

My bet is on the first line:

objc[10642]: Class GNotificationCenterDelegate is implemented in both /usr/local/Cellar/glib/2.64.2/lib/libgio-2.0.0.dylib (0xfa3e2e0) and /opt/local/lib/libgio-2.0.0.dylib (0x14c06210). One of the two will be used. Which one is undefined.

The wrong library is picked up. I don't know how to decide which one is picked on macOS.

@jmercouris?

jmercouris commented 4 years ago

Thank you for the report! I remember you from a long time ago :-)

What do the contents of your SBCLRC look like? I have the following snippet:

(ql:quickload :cffi)
(pushnew "/opt/local/lib/" cffi:*foreign-library-directories* :test #'equal)

also, please make sure that you have XQuartz installed. Also in a new SBCL please do the following and paste:

(ql:quickload :cffi)
cffi:*foreign-library-directories*

and reply with the output.

We'll do our best to get you sorted in no time at all :-)

jmercouris commented 4 years ago

@Ambrevar I believe you are correct!

heywoodlh commented 4 years ago

Thanks for the quick response. It's been a while since I've used NeXT but I saw that a stable Linux release was out and that got me right back in, I love it so much! :)

For reference, this is my ~/.sbclrc:

(load "~/quicklisp/setup.lisp")
(ql:quickload :cffi)
(pushnew "/opt/local/lib/" cffi:*foreign-library-directories* :test #'equal)

This is the output of those commands:

❯ sbcl                                                                                                                                                                                                                                    
...
To load "cffi":
  Load 1 ASDF system:
    cffi
; Loading "cffi"
.
* (ql:quickload :cffi)
cffi:*foreign-library-directories*To load "cffi":
  Load 1 ASDF system:
    cffi
; Loading "cffi"

(:CFFI)
* 
("/opt/local/lib/" (CFFI::EXPLODE-PATH-ENVIRONMENT-VARIABLE "LD_LIBRARY_PATH")
 (CFFI::EXPLODE-PATH-ENVIRONMENT-VARIABLE "DYLD_LIBRARY_PATH") (UIOP/OS:GETCWD)
 (CFFI::DARWIN-FALLBACK-LIBRARY-PATH))
* 
jmercouris commented 4 years ago

No problem!

Can you please tell me what you get for the following in SBCL?:

(ql:quickload :cffi)
(CFFI::EXPLODE-PATH-ENVIRONMENT-VARIABLE "LD_LIBRARY_PATH")
(CFFI::EXPLODE-PATH-ENVIRONMENT-VARIABLE "DYLD_LIBRARY_PATH")
(CFFI::DARWIN-FALLBACK-LIBRARY-PATH)
jmercouris commented 4 years ago

Also just to be sure, do you have the latest commit from the repository?

heywoodlh commented 4 years ago
* (ql:quickload :cffi)
To load "cffi":
  Load 1 ASDF system:
    cffi
; Loading "cffi"

(:CFFI)
* (CFFI::EXPLODE-PATH-ENVIRONMENT-VARIABLE "LD_LIBRARY_PATH")
NIL
* (CFFI::EXPLODE-PATH-ENVIRONMENT-VARIABLE "DYLD_LIBRARY_PATH")
NIL
* (CFFI::DARWIN-FALLBACK-LIBRARY-PATH)
(#P"/Users/heywoodlh/lib/" #P"/opt/local/lib/" #P"/usr/local/lib/"
 #P"/usr/lib/")

And yeah, I cloned the repository this morning:

~/common-lisp/next
❯ git status                                                                                                                                                                                                                              
On branch master
Your branch is up to date with 'origin/master'.
jmercouris commented 4 years ago

OK, so CFFI is loading things in the right order, can you please paste the contents of:

port installed

and

port installed requested
jmercouris commented 4 years ago

Also please make sure that you also have cl-webkit cloned into ~/common-lisp

heywoodlh commented 4 years ago

port installed :

The following ports are currently installed:
  aalib @1.4rc5_5 (active)
  adwaita-icon-theme @3.36.0_0 (active)
  at-spi2-atk @2.34.2_0 (active)
  at-spi2-core @2.36.0_0 (active)
  atk @2.36.0_0 (active)
  autoconf @2.69_5 (active)
  autoconf-archive @2019.01.06_0 (active)
  automake @1.16.2_0 (active)
  bison @3.5.3_0 (active)
  bison-runtime @3.5.3_0 (active)
  brotli @1.0.7_0 (active)
  bzip2 @1.0.8_0 (active)
  cairo @1.16.0_0+quartz+x11 (active)
  chromaprint @1.5.0_0 (active)
  curl @7.69.1_0+ssl (active)
  curl-ca-bundle @7.69.1_0 (active)
  db48 @4.8.30_4 (active)
  dbus @1.12.16_0 (active)
  docbook-xml @5.0_3 (active)
  docbook-xml-4.1.2 @5.0_1 (active)
  docbook-xml-4.2 @5.0_1 (active)
  docbook-xml-4.3 @5.0_1 (active)
  docbook-xml-4.4 @5.0_1 (active)
  docbook-xml-4.5 @5.0_1 (active)
  docbook-xml-5.0 @5.0_1 (active)
  docbook-xsl-nons @1.79.2_0 (active)
  enchant2 @2.2.8_0+applespell (active)
  expat @2.2.9_0 (active)
  faad2 @2.8.8_0 (active)
  ffmpeg @4.2.2_0+gpl2 (active)
  fftw-3 @3.3.8_1 (active)
  fftw-3-single @3.3.8_1 (active)
  flac @1.3.3_0 (active)
  flex @2.6.4_0 (active)
  fluidsynth @2.0.5_0 (active)
  fontconfig @2.13.1_0 (active)
  freetype @2.10.1_0 (active)
  fribidi @1.0.9_0 (active)
  gawk @5.1.0_0 (active)
  gd2 @2.3.0_0+x11 (active)
  gdbm @1.18.1_1 (active)
  gdk-pixbuf2 @2.40.0_1+x11 (active)
  geoclue2 @2.4.12_1+x11 (active)
  gettext @0.19.8.1_2 (active)
  giflib @4.2.3_0+x11 (active)
  glib-networking @2.60.3_0 (active)
  glib2 @2.58.3_0+x11 (active)
  gmake @4.3_0 (active)
  gmp @6.2.0_1 (active)
  gnome-common @3.18.0_0 (active)
  gnutls @3.6.13_0+doc (active)
  gobject-introspection @1.60.2_0 (active)
  graphene @1.8.6_1 (active)
  graphite2 @1.3.13_1 (active)
  graphviz @2.40.1_2+pangocairo+x11 (active)
  gsettings-desktop-schemas @3.36.0_0 (active)
  gssdp @1.0.2_0 (active)
  gstreamer1 @1.16.1_0 (active)
  gstreamer1-gst-plugins-bad @1.16.1_1+x11 (active)
  gstreamer1-gst-plugins-base @1.16.1_0+ogg+x11 (active)
  gstreamer1-gst-plugins-good @1.16.1_0+pulseaudio+x11 (active)
  gtk-doc @1.32_1+python38 (active)
  gtk3 @3.24.18_0+x11 (active)
  gts @0.7.6-20121130_1 (active)
  gupnp @1.0.3_0 (active)
  gupnp-igd @0.2.5_0+python27 (active)
  harfbuzz @2.6.4_0 (active)
  harfbuzz-icu @2.6.4_0 (active)
  hicolor-icon-theme @0.17_0 (active)
  hyphen @2.8.8_0 (active)
  icu @65.1_1 (active)
  ilmbase @2.3.0_1 (active)
  intltool @0.51.0_5 (active)
  itstool @2.0.6_0+python27 (active)
  jasper @2.0.14_0 (active)
  jbigkit @2.1_0 (active)
  jpeg @9d_0 (active)
  json-glib @1.2.8_0 (active)
  kerberos5 @1.18.1_0 (active)
  lame @3.100_1 (active)
  lcms2 @2.9_1 (active)
  ld64 @3_2 (active)
  ld64-latest @450.3_0+llvm90 (active)
  libass @0.14.0_0 (active)
  libbluray @1.1.2_0 (active)
  libcaca @0.99.beta19_7 (active)
  libcomerr @1.45.6_0 (active)
  libcxx @5.0.1_4 (active)
  libdca @0.0.6_0 (active)
  libdv @1.0.0_0 (active)
  libdvdcss @1.4.2_0 (active)
  libdvdnav @6.0.1_0 (active)
  libdvdread @6.0.2_0 (active)
  libedit @20191231-3.1_0 (active)
  libepoxy @1.5.4_1+python38 (active)
  libexif @0.6.21_0 (active)
  libffi @3.2.1_0 (active)
  libfixposix @0.4.3_0 (active)
  libgcrypt @1.8.5_0 (active)
  libGLU @9.0.1_0 (active)
  libgpg-error @1.37_0 (active)
  libiconv @1.16_0 (active)
  libidn @1.35_0 (active)
  libidn2 @2.3.0_0 (active)
  libLASi @1.1.3_1 (active)
  libmms @0.6.4_0 (active)
  libmodplug @0.8.9.0_0 (active)
  libmpcdec @1.2.6_0 (active)
  libmysofa @1.0_0 (active)
  libnetpbm @10.90.00_0 (active)
  libnice @0.1.16_0 (active)
  libnotify @0.7.9_0 (active)
  libogg @1.3.4_1 (active)
  libopus @1.3.1_0 (active)
  libpixman @0.38.4_0 (active)
  libpng @1.6.37_0 (active)
  libproxy @0.4.15_2+python27 (active)
  libpsl @0.21.0-20200315_0 (active)
  librsvg @2.48.3_0 (active)
  libsdl2 @2.0.12_1 (active)
  libsecret @0.20.2_0 (active)
  libshout2 @2.4.3_2 (active)
  libsndfile @1.0.28_1 (active)
  libsoup @2.70.0_0+gnome (active)
  libssh2 @1.9.0_0 (active)
  libtapi @1000.10.8_1 (active)
  libtasn1 @4.16.0_0 (active)
  libtheora @1.1.1_2 (active)
  libtool @2.4.6_7 (active)
  libunistring @0.9.10_0 (active)
  libvorbis @1.3.6_0 (active)
  libvpx @1.8.2_0 (active)
  libxml2 @2.9.10_0 (active)
  libxslt @1.1.34_1 (active)
  llvm-9.0 @9.0.1_0 (active)
  llvm_select @2_0 (active)
  lz4 @1.9.2_0 (active)
  m4 @1.4.18_2 (active)
  mesa @17.1.6_2+osmesa+python27 (active)
  meson @0.54.0_0 (active)
  mpg123 @1.25.13_0 (active)
  nasm @2.14.02_0 (active)
  ncurses @6.2_0 (active)
  neon @0.30.2_1 (active)
  nettle @3.5.1_0 (active)
  ninja @1.10.0_0 (active)
  openal-soft @1.20.1_1 (active)
  openexr @2.3.0_2 (active)
  openjpeg @2.3.1_0 (active)
  openssl @1.1.1f_0 (active)
  orc @0.4.31_0 (active)
  ossp-uuid @1.6.2_11+perl5_28 (active)
  p5.28-cpan-meta @2.150.10_0 (active)
  p5.28-cpan-meta-requirements @2.140.0_0 (active)
  p5.28-cpan-meta-yaml @0.18.0_0 (active)
  p5.28-data-dump @1.230.0_0 (active)
  p5.28-encode @3.50.0_0 (active)
  p5.28-encode-locale @1.50.0_0 (active)
  p5.28-file-listing @6.40.0_1 (active)
  p5.28-getopt-long @2.510.0_0 (active)
  p5.28-html-form @6.70.0_0 (active)
  p5.28-html-parser @3.720.0_0 (active)
  p5.28-html-tagset @3.200.0_4 (active)
  p5.28-http-cookies @6.80.0_0 (active)
  p5.28-http-daemon @6.60.0_0 (active)
  p5.28-http-date @6.50.0_0 (active)
  p5.28-http-message @6.220.0_0 (active)
  p5.28-http-negotiate @6.10.0_1 (active)
  p5.28-inc-latest @0.500.0_0 (active)
  p5.28-io-html @1.1.0_0 (active)
  p5.28-io-socket-ip @0.390.0_0 (active)
  p5.28-io-socket-ssl @2.68.0_0 (active)
  p5.28-libwww-perl @6.440.0_0 (active)
  p5.28-lwp-mediatypes @6.40.0_0 (active)
  p5.28-lwp-protocol-https @6.70.0_0 (active)
  p5.28-module-build @0.423.100_0 (active)
  p5.28-module-metadata @1.0.37_0 (active)
  p5.28-mozilla-ca @20180117_0 (active)
  p5.28-net-http @6.190.0_0 (active)
  p5.28-net-libidn @0.120.0_5 (active)
  p5.28-net-ssleay @1.880.0_1 (active)
  p5.28-pathtools @3.750.0_0 (active)
  p5.28-perl-ostype @1.10.0_0 (active)
  p5.28-pod-escapes @1.70.0_0 (active)
  p5.28-pod-simple @3.400.0_0 (active)
  p5.28-podlators @4.140.0_0 (active)
  p5.28-scalar-list-utils @1.550.0_0 (active)
  p5.28-socket @2.29.0_0 (active)
  p5.28-sub-name @0.260.0_0 (active)
  p5.28-time-local @1.300.0_0 (active)
  p5.28-timedate @2.320.0_0 (active)
  p5.28-try-tiny @0.300.0_0 (active)
  p5.28-uri @1.760.0_0 (active)
  p5.28-version @0.992.400_0 (active)
  p5.28-www-robotrules @6.20.0_1 (active)
  p5.28-xml-parser @2.460.0_0 (active)
  p11-kit @0.23.20_0 (active)
  pango @1.42.4_2+quartz+x11 (active)
  pcre @8.44_0 (active)
  perl5.28 @5.28.2_2 (active)
  pkgconfig @0.29.2_0 (active)
  popt @1.16_0 (active)
  portaudio @19.20161030_0 (active)
  pulseaudio @13.0_0+x11 (active)
  py27-cairo @1.18.2_0 (active)
  py27-gobject @2.28.7_0+x11 (active)
  py27-libxml2 @2.9.10_0 (active)
  py38-anytree @2.8.0_0 (active)
  py38-beaker @1.11.0_0 (active)
  py38-lxml @4.4.1_0 (active)
  py38-mako @1.1.2_0 (active)
  py38-markdown @3.2.1_0 (active)
  py38-markupsafe @1.1.1_0 (active)
  py38-pygments @2.6.1_0 (active)
  py38-setuptools @46.1.3_0 (active)
  py38-six @1.14.0_0 (active)
  pygments_select @0.1_0 (active)
  python2_select @0.0_3 (active)
  python3_select @0.0_1 (active)
  python27 @2.7.17_0 (active)
  python38 @3.8.2_0 (active)
  python_select @0.3_8 (active)
  readline @8.0.000_0 (active)
  rtmpdump @2.4-20190330_1 (active)
  sbcl @2.0.3_0+fancy (active)
  shared-mime-info @1.10_0 (active)
  soundtouch @2.0.0_0 (active)
  soxr @0.1.3_0 (active)
  spandsp-devel @0.0.6pre21_0 (active)
  speex @1.2.0_0 (active)
  speexDSP @1.2.0_0 (active)
  sqlite3 @3.31.1_0 (active)
  taglib @1.11.1_0 (active)
  texinfo @6.7_0 (active)
  tiff @4.1.0_0 (active)
  twolame @0.4.0_1 (active)
  urw-fonts @1.0.7pre44_0 (active)
  vala @0.48.3_0 (active)
  wavpack @5.2.0_0 (active)
  webkit2-gtk-devel @2.27.3_1+minibrowser+x11 (active)
  webp @1.0.3_0 (active)
  woff2 @1.0.2_0 (active)
  x264 @20191217_0 (active)
  x265 @3.2.1_0 (active)
  xar @1.6.1_4 (active)
  Xft2 @2.3.3_0 (active)
  xmlcatmgr @2.2_1 (active)
  xorg-libice @1.0.10_0 (active)
  xorg-libpthread-stubs @0.4_0 (active)
  xorg-libsm @1.2.3_0 (active)
  xorg-libX11 @1.6.9_0 (active)
  xorg-libXau @1.0.9_0 (active)
  xorg-libXaw @1.0.13_2 (active)
  xorg-libxcb @1.14_0+python38 (active)
  xorg-libXcomposite @0.4.5_0 (active)
  xorg-libXcursor @1.2.0_0 (active)
  xorg-libXdamage @1.1.5_0 (active)
  xorg-libXdmcp @1.1.3_0 (active)
  xorg-libXext @1.3.4_0 (active)
  xorg-libXfixes @5.0.3_1 (active)
  xorg-libXi @1.7.10_0 (active)
  xorg-libXinerama @1.1.4_1 (active)
  xorg-libXmu @1.1.3_0 (active)
  xorg-libXrandr @1.5.2_0 (active)
  xorg-libXt @1.2.0_0 (active)
  xorg-libXtst @1.2.3_1 (active)
  xorg-libXv @1.0.11_1 (active)
  xorg-libXxf86vm @1.1.4_1 (active)
  xorg-xcb-proto @1.14_0+python38 (active)
  xorg-xcb-util @0.4.0_1 (active)
  xorg-xorgproto @2019.2_0 (active)
  xpm @3.5.13_0 (active)
  xrender @0.9.10_1 (active)
  XviD @1.3.7_0 (active)
  xz @5.2.5_0 (active)
  zlib @1.2.11_0 (active)
  zstd @1.4.4_0 (active)

and port installed requested

The following ports are currently installed:
  webkit2-gtk-devel @2.27.3_1+minibrowser+x11 (active)

Here's the contents of ~/common-lisp:

❯ tree ~/common-lisp/                                                                                                                                                                                                                     
/Users/heywoodlh/common-lisp/
├── cl-webengine
│   ├── LICENSE
│   ├── Makefile
│   ├── README.org
│   ├── cl-webengine.asd
│   └── source
│       ├── cl-webengine.pro
│       ├── interface.cpp
│       ├── interface.h
│       ├── interface.lisp
│       ├── package.lisp
│       └── run.lisp
├── cl-webkit
│   ├── CONTRIBUTORS
│   ├── COPYING
│   ├── README.org
│   ├── demo
│   │   └── simple-browser.lisp
│   └── webkit2
│       ├── callback.lisp
│       ├── cl-webkit2.asd
│       ├── jscore.js-value-ref.lisp
│       ├── macros.lisp
│       ├── translate.lisp
│       ├── util.lisp
│       ├── webkit2.authentication-request.lisp
│       ├── webkit2.back-forward-list-item.lisp
│       ├── webkit2.back-forward-list.lisp
│       ├── webkit2.context-menu-item.lisp
│       ├── webkit2.context-menu.lisp
│       ├── webkit2.cookie-manager.lisp
│       ├── webkit2.download.lisp
│       ├── webkit2.error.lisp
│       ├── webkit2.favicon-database.lisp
│       ├── webkit2.file-chooser-request.lisp
│       ├── webkit2.find-controller.lisp
│       ├── webkit2.form-submission-request.lisp
│       ├── webkit2.frame.lisp
│       ├── webkit2.hit-test-result.lisp
│       ├── webkit2.init.lisp
│       ├── webkit2.navigation-action.lisp
│       ├── webkit2.navigation-policy-decision.lisp
│       ├── webkit2.network-proxy-settings.lisp
│       ├── webkit2.package.lisp
│       ├── webkit2.permission-request.lisp
│       ├── webkit2.plugin.lisp
│       ├── webkit2.policy-decision.lisp
│       ├── webkit2.print-operation.lisp
│       ├── webkit2.response-policy-decision.lisp
│       ├── webkit2.script-world.lisp
│       ├── webkit2.security-manager.lisp
│       ├── webkit2.settings.lisp
│       ├── webkit2.uri-request.lisp
│       ├── webkit2.uri-response.lisp
│       ├── webkit2.user-content-manager.lisp
│       ├── webkit2.web-context.lisp
│       ├── webkit2.web-inspector.lisp
│       ├── webkit2.web-page.lisp
│       ├── webkit2.web-resource.lisp
│       ├── webkit2.web-view.lisp
│       └── webkit2.window-properties.lisp
└── next -> /Users/heywoodlh/git/next/
heywoodlh commented 4 years ago

If it isn't clear from the output of tree, I have a symlink at ~/common-lisp/next pointing to ~/git/next. I don't think that should be a factor but just wanted to clarify.

jmercouris commented 4 years ago

Can you please do the following:

port contents webkit2-gtk-devel | grep Mini

and see if the mini browser works for you?

For reference, here is my port installed requested

gtk3
webkit2-gtk-devel
gstreamer1-gst-libav
gstreamer1-gst-plugins-ugly

thanks!

heywoodlh commented 4 years ago

Mini browser doesn't work for me, it just errors out.

❯ /opt/local/libexec/webkit2gtk-4.0/MiniBrowser                                                                                                                                                                                     560ms 

(MiniBrowser:17771): Gtk-WARNING **: 14:42:41.630: cannot open display: 
heywoodlh commented 4 years ago

Why does Next need XQuartz for compiling? Clearly, my X11 setup is not allowing MiniBrowser to run but why should that be a factor in running the already compiled application?

jmercouris commented 4 years ago

What happens is that XQuartz needs to run to translate the X drawing commands to Quartz drawing commands for macOS (during runtime).

We can also compile GTK with Quartz support instead, but we are still resolving some changes we want to make for Quartz support

Anyways, please make sure XQuartz is installed, and try restarting your machine if possible, as soon as the mini browser works, Next will probably work :-)

Thank you for your quick and thorough responses!

callumenator commented 3 years ago

I'm seeing the same issue, and happy to debug further with guidance. Built from source on latest master (3d6bc4d313a7e90dbe9405059722e5a437139378), launching ./Nyxt.app/Contents/MacOS/nyxt from cli (terminal output is here: nyxt.log), the process launches, but stops responding, does't open a window. An activity monitor trace while in that state is attached in case that helps (Sample of nyxt.txt).

In my case, the MiniBrowser runs fine.

SBCL 2.0.7 port_installed.txt

jmercouris commented 3 years ago

I see that you built webkit2-gtk and not webkit2-gtk-devel.

Are you using the port tree that we have here?

https://source.atlas.engineer/view/repository/macports-port

Even if you aren't it should be possible to build- however only on our port tree will you get support for Quartz.

9uapaw commented 3 years ago

I am also having similar issues. Built Nyxt with MacPorts, and installed every dependencies listed on README. Howver, when started, I get the following messages.

objc[51298]: Class GNotificationCenterDelegate is implemented in both /usr/local/Cellar/glib/2.66.0/lib/libgio-2.0.0.dylib (0xa428300) and /opt/local/lib/libgio-2.0.0.dylib (0xc1d6210). One of the two will be used. Which one is undefined.
WARNING: cl-cffi-gtk: GType GdkX11DeviceXI2 is not known to GObject
WARNING:
   Declared GType name 'GdkX11DeviceXI2' for class 'GDK-X11-DEVICE-XI2' does not match actual GType name 'GStrv'
WARNING: cl-cffi-gtk: GType GdkX11DeviceManagerCore is not known to GObject
WARNING:
   Declared GType name 'GdkX11DeviceManagerCore' for class 'GDK-X11-DEVICE-MANAGER-CORE' does not match actual GType name 'GClosure'
WARNING: cl-cffi-gtk: GType GdkX11DeviceManagerXI2 is not known to GObject
WARNING:
   Declared GType name 'GdkX11DeviceManagerXI2' for class 'GDK-X11-DEVICE-MANAGER-XI2' does not match actual GType name 'GTlsCertificateFlags'
WARNING: cl-cffi-gtk: GType GtkPlug is not known to GObject
WARNING:
   Declared GType name 'GtkPlug' for class 'GTK-PLUG' does not match actual GType name 'GAction'
WARNING: cl-cffi-gtk: GType GtkSocket is not known to GObject
WARNING:
   Declared GType name 'GtkSocket' for class 'GTK-SOCKET' does not match actual GType name 'GActionGroup'
WARNING: cl-cffi-gtk: GType WebKitAuthenticationRequest is not known to GObject
WARNING:
   Declared GType name 'WebKitAuthenticationRequest' for class 'WEBKIT-AUTHENTICATION-REQUEST' does not match actual GType name 'GActionMap'
WARNING: cl-cffi-gtk: GType WebKitBackForwardListItem is not known to GObject
WARNING:
   Declared GType name 'WebKitBackForwardListItem' for class 'WEBKIT-BACK-FORWARD-LIST-ITEM' does not match actual GType name 'GSimpleAction'
WARNING: cl-cffi-gtk: GType WebKitBackForwardList is not known to GObject
WARNING:
   Declared GType name 'WebKitBackForwardList' for class 'WEBKIT-BACK-FORWARD-LIST' does not match actual GType name 'GSimpleActionGroup'
WARNING: cl-cffi-gtk: GType WebKitCookieManager is not known to GObject
WARNING:
   Declared GType name 'WebKitCookieManager' for class 'WEBKIT-COOKIE-MANAGER' does not match actual GType name 'GApplication'
WARNING: cl-cffi-gtk: GType WebKitContextMenuItem is not known to GObject
WARNING:
   Declared GType name 'WebKitContextMenuItem' for class 'WEBKIT-CONTEXT-MENU-ITEM' does not match actual GType name 'GApplicationFlags'
WARNING: cl-cffi-gtk: GType WebKitContextMenu is not known to GObject
WARNING:
   Declared GType name 'WebKitContextMenu' for class 'WEBKIT-CONTEXT-MENU' does not match actual GType name 'GMenuModel'
WARNING: cl-cffi-gtk: GType WebKitDownload is not known to GObject
WARNING:
   Declared GType name 'WebKitDownload' for class 'WEBKIT-DOWNLOAD' does not match actual GType name 'GMenu'
WARNING: cl-cffi-gtk: GType WebKitFaviconDatabase is not known to GObject
WARNING:
   Declared GType name 'WebKitFaviconDatabase' for class 'WEBKIT-FAVICON-DATABASE' does not match actual GType name 'GMenuItem'
WARNING: cl-cffi-gtk: GType WebKitFileChooserRequest is not known to GObject
WARNING:
   Declared GType name 'WebKitFileChooserRequest' for class 'WEBKIT-FILE-CHOOSER-REQUEST' does not match actual GType name 'GListModel'
WARNING: cl-cffi-gtk: GType WebKitFindController is not known to GObject
WARNING:
   Declared GType name 'WebKitFindController' for class 'WEBKIT-FIND-CONTROLLER' does not match actual GType name 'GListStore'
WARNING: cl-cffi-gtk: GType WebKitFormSubmissionRequest is not known to GObject
WARNING:
   Declared GType name 'WebKitFormSubmissionRequest' for class 'WEBKIT-FORM-SUBMISSION-REQUEST' does not match actual GType name 'GdkColorspace'
WARNING: cl-cffi-gtk: GType WebKitHitTestResult is not known to GObject
WARNING:
   Declared GType name 'WebKitHitTestResult' for class 'WEBKIT-HIT-TEST-RESULT' does not match actual GType name 'GdkPixbufAlphaMode'
WARNING: cl-cffi-gtk: GType WebKitPermissionRequest is not known to GObject
WARNING:
   Declared GType name 'WebKitPermissionRequest' for class 'WEBKIT-PERMISSION-REQUEST' does not match actual GType name 'GdkPixbuf'
WARNING: cl-cffi-gtk: GType WebKitPlugin is not known to GObject
WARNING:
   Declared GType name 'WebKitPlugin' for class 'WEBKIT-PLUGIN' does not match actual GType name 'GLoadableIcon'
WARNING: cl-cffi-gtk: GType WebKitPrintOperation is not known to GObject
WARNING:
   Declared GType name 'WebKitPrintOperation' for class 'WEBKIT-PRINT-OPERATION' does not match actual GType name 'GdkInterpType'
WARNING: cl-cffi-gtk: GType WebKitScriptWorld is not known to GObject
WARNING:
   Declared GType name 'WebKitScriptWorld' for class 'WEBKIT-SCRIPT-WORLD' does not match actual GType name 'GdkPixbufRotation'
WARNING: cl-cffi-gtk: GType WebKitFrame is not known to GObject
WARNING:
   Declared GType name 'WebKitFrame' for class 'WEBKIT-FRAME' does not match actual GType name 'GdkPixbufAnimation'
WARNING: cl-cffi-gtk: GType WebKitSecurityManager is not known to GObject
WARNING:
   Declared GType name 'WebKitSecurityManager' for class 'WEBKIT-SECURITY-MANAGER' does not match actual GType name 'GdkPixbufSimpleAnim'
WARNING: cl-cffi-gtk: GType WebKitSettings is not known to GObject
WARNING:
   Declared GType name 'WebKitSettings' for class 'WEBKIT-SETTINGS' does not match actual GType name 'GdkPixbufLoader'
WARNING: cl-cffi-gtk: GType WebKitURIRequest is not known to GObject
WARNING:
   Declared GType name 'WebKitURIRequest' for class 'WEBKIT-URI-REQUEST' does not match actual GType name 'PangoUnderline'
WARNING: cl-cffi-gtk: GType WebKitPolicyDecision is not known to GObject
WARNING:
   Declared GType name 'WebKitPolicyDecision' for class 'WEBKIT-POLICY-DECISION' does not match actual GType name 'PangoAttrList'
WARNING:
   cl-cffi-gtk: GType WebKitNavigationPolicyDecision is not known to GObject
WARNING:
   Declared GType name 'WebKitNavigationPolicyDecision' for class 'WEBKIT-NAVIGATION-POLICY-DECISION' does not match actual GType name 'PangoStyle'
WARNING: cl-cffi-gtk: GType WebKitResponsePolicyDecision is not known to GObject
WARNING:
   Declared GType name 'WebKitResponsePolicyDecision' for class 'WEBKIT-RESPONSE-POLICY-DECISION' does not match actual GType name 'PangoWeight'
WARNING: cl-cffi-gtk: GType WebKitUserContentManager is not known to GObject
WARNING:
   Declared GType name 'WebKitUserContentManager' for class 'WEBKIT-USER-CONTENT-MANAGER' does not match actual GType name 'PangoStretch'
WARNING: cl-cffi-gtk: GType WebKitNetworkProxySettings is not known to GObject
WARNING:
   Declared GType name 'WebKitNetworkProxySettings' for class 'WEBKIT-NETWORK-PROXY-SETTINGS' does not match actual GType name 'PangoFont'
WARNING: cl-cffi-gtk: GType WebKitWebContext is not known to GObject
WARNING:
   Declared GType name 'WebKitWebContext' for class 'WEBKIT-WEB-CONTEXT' does not match actual GType name 'PangoFontFamily'
WARNING: cl-cffi-gtk: GType WebKitWebPage is not known to GObject
WARNING:
   Declared GType name 'WebKitWebPage' for class 'WEBKIT-WEB-PAGE' does not match actual GType name 'PangoFontFace'
WARNING: cl-cffi-gtk: GType WebKitWebResource is not known to GObject
WARNING:
   Declared GType name 'WebKitWebResource' for class 'WEBKIT-WEB-RESOURCE' does not match actual GType name 'PangoLayout'
WARNING: cl-cffi-gtk: GType WebKitWebsiteDataManager is not known to GObject
WARNING:
   Declared GType name 'WebKitWebsiteDataManager' for class 'WEBKIT-WEBSITE-DATA-MANAGER' does not match actual GType name 'PangoWrapMode'
WARNING: cl-cffi-gtk: GType WebKitWebInspector is not known to GObject
WARNING:
   Declared GType name 'WebKitWebInspector' for class 'WEBKIT-WEB-INSPECTOR' does not match actual GType name 'PangoEllipsizeMode'

(process:51298): GLib-GObject-WARNING **: 10:48:52.860: cannot register existing type 'GtkWidget'

(process:51298): GLib-GObject-WARNING **: 10:48:52.860: cannot add class private field to invalid type '<invalid>'

(process:51298): GLib-GObject-WARNING **: 10:48:52.860: cannot add private field to invalid (non-instantiatable) type '<invalid>'

(process:51298): GLib-GObject-WARNING **: 10:48:52.860: cannot register existing type 'AtkImplementorIface'

(process:51298): GLib-GObject-CRITICAL **: 10:48:52.860: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(process:51298): GLib-GObject-WARNING **: 10:48:52.860: cannot register existing type 'GtkBuildable'

(process:51298): GLib-GObject-CRITICAL **: 10:48:52.860: g_type_interface_add_prerequisite: assertion 'G_TYPE_IS_INTERFACE (interface_type)' failed

(process:51298): GLib-CRITICAL **: 10:48:52.860: g_once_init_leave: assertion 'result != 0' failed

(process:51298): GLib-GObject-CRITICAL **: 10:48:52.860: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(process:51298): GLib-GObject-CRITICAL **: 10:48:52.860: g_type_register_static: assertion 'parent_type > 0' failed

(process:51298): GLib-GObject-WARNING **: 10:48:52.860: cannot add private field to invalid (non-instantiatable) type '<invalid>'
jmercouris commented 3 years ago

@9uapaw

can you please try the following sequence:

sudo port uninstall webkit2-gtk
sudo port install webkit2-gtk-devel

please let me know if that makes a difference!

callumenator commented 3 years ago

Are you using the port tree that we have here? https://source.atlas.engineer/view/repository/macports-port

Ah I didn't realise that tree was a requirement (i'm new to macports), but I've just removed the existing gtk and webkit, sourced that tree, and re-installed gtk3 +quartz and webkit-gtk-devel. Built nyxt using the makefile.

Running produces this log (no window is created): nyxt.log Current ports installed: port_installed.txt

~I note now that the minibrowser no longer works, if that's relevant.~ Edit: minibrowser works after reboot.

9uapaw commented 3 years ago

@jmercouris Thank you for the response. Unfortunately, that process did not help, regardless of the fact, that I try to use macport or build from source. Both version hangs upon starting. When I terminate it, it quits with the following message: Problem running initialization hook GLIB::RUN-INITIALIZERS: Interactive interrupt at #x7FFF6650BCE6. I also have a strong feeling, that we have some problem with GLIB.

jmercouris commented 3 years ago

And what if you use our macports port tree and just do

sudo port install -s nyxt +quartz? does it work then? I'm trying to figure out what could be wrong with GLIB :-\

jmercouris commented 3 years ago

Are you using the port tree that we have here? https://source.atlas.engineer/view/repository/macports-port

Ah I didn't realise that tree was a requirement (i'm new to macports), but I've just removed the existing gtk and webkit, sourced that tree, and re-installed gtk3 +quartz and webkit-gtk-devel. Built nyxt using the makefile.

Running produces this log (no window is created): nyxt.log Current ports installed: port_installed.txt

~I note now that the minibrowser no longer works, if that's relevant.~ Edit: minibrowser works after reboot.

That's frustrating. I wonder why the bindings aren't quite working... they work just fine on my system. I can upload a .pkg for testing as soon as this issue is resolved: https://trac.macports.org/ticket/61187

jmercouris commented 3 years ago

I can also try completely uninstalling and reinstalling later to see if I can reproduce this issue on my system.

callumenator commented 3 years ago

I installed macports just to try out Nyxt, so it's running alongside homebrew for me. It's possible there are some conflicts there

jmercouris commented 3 years ago

The .pkg installation would make it so you don't have to install MacPorts. Hopefully I can get it to work. As you can see from the trac ticket, I am getting a most helpful error :-D

callumenator commented 3 years ago

@jmercouris ok the issue is with the conflicting libs from homebrew. I cleaned out the gtk/glib dependency graph from brew and rebuilt nyxt from source, Nyxt now opens and shows the welcome page. I do get the "WebKit encountered an internal error" you mentioned, but at least it builds now :).

jmercouris commented 3 years ago

That is good to hear! Are you still able to use Nyxt,or is it persistently reporting internal webkit errors for every single URL?

callumenator commented 3 years ago

It's coming up intermittently - if I visit a url, and get that webkit internal error, than go back in history, and click the link again, it seems to work. ¯_(ツ)_/¯ I've also got into a state upon trying to open the minibuffer, where it has basically frozen I think, with the minibuffer area open but grey and empty, and the main window not responding.

<INFO> [18:01:55] Finished loading "https://github.com/atlas-engineer".
Received an invalid message "WebProcessPool.HandleMessage" from the web process.
<WARN> [18:01:55] Warning: JavaScript error: GError: Domain: "WebKitJavascriptError", Code: 699, Message:

(i don't want to derail this thread any more, i'll keep playing with it)

aadcg commented 1 year ago

This issue is very old and Nyxt went through many changes in the mean ttime. Please open a new issue if issues are found.