atlas-engineer / nyxt

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

Developer installation fails on macOS #657

Closed thoelze1 closed 4 years ago

thoelze1 commented 4 years ago

I am following the standard developer installation instructions in the developer readme. My OS is macOS catalina and and my package manager is macports. I have installed the following packages through macports:

$ port installed requested
The following ports are currently installed:
  gtk3 @3.24.18_0+x11 (active)
  qt5 @5.14.1_0 (active)
  qt5-qtwebengine @5.14.1_1 (active)
  sbcl @2.0.3_0+fancy (active)
  webkit-gtk3 @2.4.11_3+video (active)
  xorg-server @1.20.6_0 (active)

I fetched cl-webkit into ~/common-lisp/cl-webkit. I also fetched cl-webengine into ~/common-lisp/cl-webengine and followed the installation instructions and the installation succeeded. Finally, I installed libfixposix according to its installation instructions and it succeeded.

When I fetched next into ~/common-lisp/next and run make all, the compilation fails and says, "Make sure 'xclip' and latest cl-webkit are available on your system." But according to the output from make all, it looks like libwebkit is the problem:

; Loading "next/gtk-application"
[package download-manager]........................
[package hooks]...................................
[package keymap]..................................
[package scheme]..................................
..................................................
..................................................
[package cl-webkit2]..............................
[package jscore]..Unhandled LOAD-FOREIGN-LIBRARY-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
                                                  {1000560083}>:
  Unable to load any of the alternatives:
   ("libwebkit2gtk-4.0.37.39.3.dylib" "libwebkit2gtk-4.0.37.dylib"
    "libwebkit2gtk-4.0.dylib")

Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {1000560083}>
0: (SB-DEBUG::DEBUGGER-DISABLED-HOOK #<LOAD-FOREIGN-LIBRARY-ERROR "Unable to load any of the alternatives:~%   ~S" {10019D4443}> #<unused argument> :QUIT T)
1: (SB-DEBUG::RUN-HOOK SB-EXT:*INVOKE-DEBUGGER-HOOK* #<LOAD-FOREIGN-LIBRARY-ERROR "Unable to load any of the alternatives:~%   ~S" {10019D4443}>)
2: (INVOKE-DEBUGGER #<LOAD-FOREIGN-LIBRARY-ERROR "Unable to load any of the alternatives:~%   ~S" {10019D4443}>)
3: (ERROR LOAD-FOREIGN-LIBRARY-ERROR :FORMAT-CONTROL "Unable to load any of the alternatives:~%   ~S" :FORMAT-ARGUMENTS (("libwebkit2gtk-4.0.37.39.3.dylib" "libwebkit2gtk-4.0.37.dylib" "libwebkit2gtk-4.0.dylib")))
4: (CFFI::FL-ERROR "Unable to load any of the alternatives:~%   ~S" ("libwebkit2gtk-4.0.37.39.3.dylib" "libwebkit2gtk-4.0.37.dylib" "libwebkit2gtk-4.0.dylib"))
5: (CFFI::TRY-FOREIGN-LIBRARY-ALTERNATIVES LIBWEBKIT2 ("libwebkit2gtk-4.0.37.39.3.dylib" "libwebkit2gtk-4.0.37.dylib" "libwebkit2gtk-4.0.dylib") NIL)
6: ((FLET CFFI::%DO-LOAD :IN CFFI::%DO-LOAD-FOREIGN-LIBRARY) #<FOREIGN-LIBRARY LIBWEBKIT2> LIBWEBKIT2 (:OR "libwebkit2gtk-4.0.37.39.3.dylib" "libwebkit2gtk-4.0.37.dylib" "libwebkit2gtk-4.0.dylib"))
7: (LOAD-FOREIGN-LIBRARY LIBWEBKIT2 :SEARCH-PATH NIL)
8: (SB-FASL::LOAD-FASL-GROUP #S(SB-FASL::FASL-INPUT :STREAM #<SB-SYS:FD-STREAM for "file /Users/tannerhoelzel/.cache/common-lisp/sbcl-2.0.3-macosx-x64/Users/tannerhoelzel/common-lisp/cl-webkit/webkit2/webkit2.init.fasl" {10019C7153}> :TABLE #(24 SET *PACKAGE* "WEBKIT2" #<PACKAGE "CFFI"> CFFI::REGISTER-FOREIGN-LIBRARY #<PACKAGE "CL-WEBKIT2"> LIBWEBKIT2 :DARWIN :OR #1="libwebkit2gtk-4.0.37.39.3.dylib" #2="libwebkit2gtk-4.0.37.dylib" ...) :STACK #(0 LOAD-FOREIGN-LIBRARY LIBWEBKIT2 ((:DARWIN (:OR #1# #2# "libwebkit2gtk-4.0.dylib")) #3=(:UNIX #4=(:OR #5="libwebkit2gtk-4.0.so" #6="libwebkit2gtk-3.0.so.25.10.9" #7="libwebkit2gtk-3.0.so.25.10.8" #8="libwebkit2gtk-3.0.so.25.10.7" #9="libwebkit2gtk-3.0.so.25"))) #3# #4# #5# #6# #7# #8# #9# 0 ...) :NAME-BUFFER #("" "LOAD-FOREIGN-LIBRARYRARY") :DEPRECATED-STUFF NIL :SKIP-UNTIL NIL) NIL)
9: (SB-FASL::LOAD-AS-FASL #<SB-SYS:FD-STREAM for "file /Users/tannerhoelzel/.cache/common-lisp/sbcl-2.0.3-macosx-x64/Users/tannerhoelzel/common-lisp/cl-webkit/webkit2/webkit2.init.fasl" {10019C7153}> NIL NIL)
10: ((FLET SB-FASL::THUNK :IN LOAD))
11: (SB-FASL::CALL-WITH-LOAD-BINDINGS #<CLOSURE (FLET SB-FASL::THUNK :IN LOAD) {287C3EB}> #<SB-SYS:FD-STREAM for "file /Users/tannerhoelzel/.cache/common-lisp/sbcl-2.0.3-macosx-x64/Users/tannerhoelzel/common-lisp/cl-webkit/webkit2/webkit2.init.fasl" {10019C7153}>)
12: ((FLET SB-FASL::LOAD-STREAM :IN LOAD) #<SB-SYS:FD-STREAM for "file /Users/tannerhoelzel/.cache/common-lisp/sbcl-2.0.3-macosx-x64/Users/tannerhoelzel/common-lisp/cl-webkit/webkit2/webkit2.init.fasl" {10019C7153}> T)
13: (LOAD #P"/Users/tannerhoelzel/.cache/common-lisp/sbcl-2.0.3-macosx-x64/Users/tannerhoelzel/common-lisp/cl-webkit/webkit2/webkit2.init.fasl" :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST T :EXTERNAL-FORMAT :DEFAULT)
14: (UIOP/UTILITY:CALL-WITH-MUFFLED-CONDITIONS #<CLOSURE (LAMBDA NIL :IN UIOP/LISP-BUILD:LOAD*) {10019C596B}> ("Overwriting already existing readtable ~S." #(#:FINALIZERS-OFF-WARNING :ASDF-FINALIZERS)))
15: ((SB-PCL::EMF ASDF/ACTION:PERFORM) #<unused argument> #<unused argument> #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "cl-webkit2" "webkit2.init">)
16: ((LAMBDA NIL :IN ASDF/ACTION:CALL-WHILE-VISITING-ACTION))
17: ((:METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS (ASDF/LISP-ACTION:LOAD-OP ASDF/LISP-ACTION:CL-SOURCE-FILE)) #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "cl-webkit2" "webkit2.init">) [fast-method]
18: ((:METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS :AROUND (T T)) #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "cl-webkit2" "webkit2.init">) [fast-method]
19: ((:METHOD ASDF/PLAN:PERFORM-PLAN (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {1008B12153}>) [fast-method]
20: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT))
21: ((:METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {1008B12153}>) [fast-method]
22: ((:METHOD ASDF/OPERATE:OPERATE (ASDF/OPERATION:OPERATION ASDF/COMPONENT:COMPONENT)) #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/SYSTEM:SYSTEM "next/gtk-application"> :PLAN-CLASS NIL :PLAN-OPTIONS NIL) [fast-method]
23: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/SYSTEM:SYSTEM "next/gtk-application"> :VERBOSE NIL)
24: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
25: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/SYSTEM:SYSTEM "next/gtk-application"> :VERBOSE NIL) [fast-method]
26: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> ASDF/LISP-ACTION:LOAD-OP "next/gtk-application" :VERBOSE NIL)
27: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
28: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP "next/gtk-application" :VERBOSE NIL) [fast-method]
29: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<CLOSURE (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {1008B0DADB}> :OVERRIDE T :KEY NIL :OVERRIDE-CACHE T :OVERRIDE-FORCING NIL)
30: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
31: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<CLOSURE (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {1008A8A01B}> :OVERRIDE NIL :KEY NIL :OVERRIDE-CACHE NIL :OVERRIDE-FORCING NIL)
32: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP "next/gtk-application" :VERBOSE NIL) [fast-method]
33: (ASDF/OPERATE:LOAD-SYSTEM "next/gtk-application" :VERBOSE NIL)
34: (QUICKLISP-CLIENT::CALL-WITH-MACROEXPAND-PROGRESS #<CLOSURE (LAMBDA NIL :IN QUICKLISP-CLIENT::APPLY-LOAD-STRATEGY) {1008A89F6B}>)
35: (QUICKLISP-CLIENT::AUTOLOAD-SYSTEM-AND-DEPENDENCIES "next/gtk-application" :PROMPT NIL)
36: ((:METHOD QL-IMPL-UTIL::%CALL-WITH-QUIET-COMPILATION (T T)) #<unused argument> #<CLOSURE (FLET QUICKLISP-CLIENT::QL :IN QUICKLISP-CLIENT:QUICKLOAD) {1003477FBB}>) [fast-method]
37: ((:METHOD QL-IMPL-UTIL::%CALL-WITH-QUIET-COMPILATION :AROUND (QL-IMPL:SBCL T)) #<QL-IMPL:SBCL {1002AAE603}> #<CLOSURE (FLET QUICKLISP-CLIENT::QL :IN QUICKLISP-CLIENT:QUICKLOAD) {1003477FBB}>) [fast-method]
38: ((:METHOD QUICKLISP-CLIENT:QUICKLOAD (T)) :NEXT/GTK-APPLICATION :PROMPT NIL :SILENT NIL :VERBOSE NIL) [fast-method]
39: (QL-DIST::CALL-WITH-CONSISTENT-DISTS #<CLOSURE (LAMBDA NIL :IN QUICKLISP-CLIENT:QUICKLOAD) {10034677FB}>)
40: (SB-INT:SIMPLE-EVAL-IN-LEXENV (QUICKLISP-CLIENT:QUICKLOAD :NEXT/GTK-APPLICATION) #<NULL-LEXENV>)
41: (EVAL (QUICKLISP-CLIENT:QUICKLOAD :NEXT/GTK-APPLICATION))
42: (SB-IMPL::PROCESS-EVAL/LOAD-OPTIONS ((:EVAL . "(require \"asdf\")") (:LOAD . "quicklisp/setup.lisp") (:LOAD . "next.asd") (:EVAL . "(ql:quickload :next/gtk-application)") (:EVAL . "(uiop:quit)") (:QUIT)))
43: (SB-IMPL::TOPLEVEL-INIT)
44: ((FLET SB-UNIX::BODY :IN SB-EXT:SAVE-LISP-AND-DIE))
45: ((FLET "WITHOUT-INTERRUPTS-BODY-14" :IN SB-EXT:SAVE-LISP-AND-DIE))
46: ((LABELS SB-IMPL::RESTART-LISP :IN SB-EXT:SAVE-LISP-AND-DIE))

unhandled condition in --disable-debugger mode, quitting
; 
; compilation unit aborted
;   caught 1 fatal ERROR condition

(truncated)

Several of the compilation units fail with the same error. I am confused because the bug report template says

About the WebKitGTK+ version: it's not 4.0, current version as of March 2020 is 2.28.

A couple more notes:

Do you have any ideas as to what's going wrong? Thanks for your help.

Ambrevar commented 4 years ago

Indeed, your webkit-gtk3 package is extremely outdated. I believe @jmercouris has an updated macports recipe.

jmercouris commented 4 years ago

Hello, Pierre is correct, you'll want to get: webkit2-gtk-devel

please note, webkit2, not webkit

after that, make sure that you have libfixposix and XQuartz installed, and it should work. Please let me know if you have any other issues!

jmercouris commented 4 years ago

@Ambrevar

I don't have numbers, because I don't know how many people just install XClip and it works, but it seems to me that the error message for compilation may be confusing, shall we modify it? Thoughts?

Ambrevar commented 4 years ago

Since this is at least the 3rd time in 3 weeks it's mentioned to me, I'd say yes, it is confusing :)

I'll edit it.

thoelze1 commented 4 years ago

Thank you. I got Next to build with webkit2-gtk-devel.

Now I can't get it to run either from the app or from source. When I run the executable, I get the following error:

$ ./Next.app/Contents/MacOS/next 
Next version 1.5.0-260f081c
 <WARN> [12:02:32] next browser.lisp (current-buffer) -
  No active window, picking last active buffer.

(sbcl:3283): Gtk-CRITICAL **: 12:02:32.156: _gtk_style_provider_private_get_settings: assertion 'GTK_IS_STYLE_PROVIDER_PRIVATE (provider)' failed

(sbcl:3283): Gtk-CRITICAL **: 12:02:32.156: _gtk_style_provider_private_get_settings: assertion 'GTK_IS_STYLE_PROVIDER_PRIVATE (provider)' failed

(sbcl:3283): Gtk-CRITICAL **: 12:02:32.156: _gtk_style_provider_private_get_settings: assertion 'GTK_IS_STYLE_PROVIDER_PRIVATE (provider)' failed
CORRUPTION WARNING in SBCL pid 3283(tid 0x15f0cdc0):
Memory fault at 0x18 (pc=0xb47fbff, fp=0xa399230, sp=0xa399230) tid 0x15f0cdc0
The integrity of this image is possibly compromised.
Continuing with fingers crossed.
<ERROR> [12:02:32] next browser.lisp (finalize browser fun30) -
  In startup-function #<FUNCTION NEXT::DEFAULT-STARTUP>: Unhandled memory fault at #x18.

When I run it in sbcl, I get the following error:

* (next:start)
Next version 1.5.0-260f081c

debugger invoked on a NEXT::UNSUPPORTED-OPERATION in thread
#<THREAD "main thread" RUNNING {1000560083}>:
  Unsupported operation for this renderer.

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [ABORT] Exit debugger, returning to top level.

((:METHOD NEXT:FFI-INITIALIZE (NEXT:BROWSER T T)) #<unused argument> #<unused argument> #<unused argument>) [fast-method]
   source: (DEFINE-FFI-METHOD FFI-INITIALIZE
            ((BROWSER BROWSER) URLS STARTUP-TIMESTAMP))
0] 

I've done some googling but really I'm in over my head and I'm not sure what to do next.

Thanks again for helping me to get Next building!

jmercouris commented 4 years ago

No problem!

That is an unexpected error :-) do you have anything in your init file? If so, please remove it and try again.

Can you also please paste the output of port installed?

thoelze1 commented 4 years ago

Currently my init file is:

$ cat ~/.sbclrc

;;; The following lines added by ql:add-to-init-file:
#-quicklisp
(let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp"
                                       (user-homedir-pathname))))
  (when (probe-file quicklisp-init)
    (load quicklisp-init)))

When I remove everything from my init file, then (ql:quickload :next) fails:

* (ql:quickload :next)

debugger invoked on a SB-INT:SIMPLE-READER-PACKAGE-ERROR in thread
#<THREAD "main thread" RUNNING {1000560083}>:
  Package QL does not exist.

    Stream: #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {1000024703}>

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [CONTINUE ] Use the current package, COMMON-LISP-USER.
  1: [RETRY    ] Retry finding the package.
  2: [USE-VALUE] Specify a different package
  3: [UNINTERN ] Read the symbol as uninterned.
  4: [SYMBOL   ] Specify a symbol to return
  5: [ABORT    ] Exit debugger, returning to top level.

(SB-IMPL::READER-FIND-PACKAGE "QL" #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {1000024703}> T)
0] 

Here's the output of port installed requested:

$ port installed requested
The following ports are currently installed:
  emacs-app @26.3_5 (active)
  gnupg2 @2.2.20_0+openldap+pinentry_mac (active)
  gtk3 @3.24.18_0+x11 (active)
  qt5 @5.14.1_0 (active)
  qt5-qtwebengine @5.14.1_1 (active)
  sbcl @2.0.3_0+fancy (active)
  stow @2.3.1_0 (active)
  webkit-gtk3 @2.4.11_3+video
  webkit2-gtk-devel @2.27.3_1+minibrowser+x11 (active)
  xclipboard @1.1.3_0 (active)
  xorg-server @1.20.6_0 (active)

And port installed:

$ port installed
The following ports are currently installed:
  aalib @1.4rc5_5 (active)
  adwaita-icon-theme @3.36.0_0 (active)
  assimp @5.0.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.4.3_0 (active)
  clang-9.0 @9.0.1_0+analyzer+libstdcxx (active)
  clang_select @2.2_0 (active)
  cmake @3.17.1_0 (active)
  curl @7.69.1_0+ssl (active)
  curl-ca-bundle @7.69.1_0 (active)
  cyrus-sasl2 @2.1.27_2+kerberos (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)
  double-conversion @3.1.0_0 (active)
  emacs-app @26.3_5 (active)
  enchant @1.6.0_5+applespell (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)
  font-adobe-75dpi @1.0.3_1 (active)
  font-adobe-100dpi @1.0.3_1 (active)
  font-adobe-utopia-75dpi @1.0.4_1 (active)
  font-adobe-utopia-100dpi @1.0.4_1 (active)
  font-adobe-utopia-type1 @1.0.4_1 (active)
  font-alias @1.0.3_0 (active)
  font-arabic-misc @1.0.3_1 (active)
  font-bh-75dpi @1.0.3_1 (active)
  font-bh-100dpi @1.0.3_1 (active)
  font-bh-lucidatypewriter-75dpi @1.0.3_1 (active)
  font-bh-lucidatypewriter-100dpi @1.0.3_1 (active)
  font-bh-ttf @1.0.3_1 (active)
  font-bh-type1 @1.0.3_1 (active)
  font-bitstream-75dpi @1.0.3_1 (active)
  font-bitstream-100dpi @1.0.3_1 (active)
  font-bitstream-speedo @1.0.2_1 (active)
  font-bitstream-type1 @1.0.3_1 (active)
  font-cronyx-cyrillic @1.0.3_1 (active)
  font-cursor-misc @1.0.3_1 (active)
  font-daewoo-misc @1.0.3_1 (active)
  font-dec-misc @1.0.3_1 (active)
  font-ibm-type1 @1.0.3_1 (active)
  font-isas-misc @1.0.3_1 (active)
  font-jis-misc @1.0.3_1 (active)
  font-micro-misc @1.0.3_1 (active)
  font-misc-cyrillic @1.0.3_1 (active)
  font-misc-ethiopic @1.0.3_2 (active)
  font-misc-meltho @1.0.3_1 (active)
  font-misc-misc @1.1.2_1 (active)
  font-mutt-misc @1.0.3_1 (active)
  font-schumacher-misc @1.1.2_1 (active)
  font-screen-cyrillic @1.0.4_1 (active)
  font-sony-misc @1.0.3_1 (active)
  font-sun-misc @1.0.3_1 (active)
  font-winitzki-cyrillic @1.0.3_1 (active)
  font-xfree86-type1 @1.0.4_1 (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)
  gnupg2 @2.2.20_0+openldap+pinentry_mac (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_0+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)
  jsoncpp @1.9.2_1 (active)
  kerberos5 @1.18_0 (active)
  lame @3.100_1 (active)
  lcms2 @2.9_1 (active)
  ld64 @3_2+ld64_xcode (active)
  ld64-xcode @2_2 (active)
  libarchive @3.4.2_0 (active)
  libass @0.14.0_0 (active)
  libassuan @2.5.3_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)
  libevent @2.1.11_0 (active)
  libexif @0.6.21_0 (active)
  libffi @3.2.1_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)
  libksba @1.3.5_1 (active)
  libLASi @1.1.3_1 (active)
  libmms @0.6.4_0 (active)
  libmng @2.0.3_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)
  libomp @9.0.1_0 (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)
  libtasn1 @4.16.0_0 (active)
  libtheora @1.1.1_2 (active)
  libtool @2.4.6_7 (active)
  libunistring @0.9.10_0 (active)
  libusb @1.0.23_0 (active)
  libusb-compat @0.1.7_0 (active)
  libuv @1.35.0_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)
  lzo2 @2.10_0 (active)
  m4 @1.4.18_2 (active)
  mesa @17.1.6_2+osmesa+python27 (active)
  meson @0.54.0_0 (active)
  minizip @1.2.11_1 (active)
  mkfontscale @1.2.1_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)
  npth @1.6_0 (active)
  nspr @4.24_0 (active)
  nss @3.51.1_0 (active)
  openal-soft @1.20.1_1 (active)
  openexr @2.3.0_2 (active)
  openjpeg @2.3.1_0 (active)
  openldap @2.4.49_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)
  pcre2 @10.34_0 (active)
  perl5 @5.26.1_0+perl5_28 (active)
  perl5.28 @5.28.2_2 (active)
  pinentry-mac @0.9.4_0 (active)
  pkgconfig @0.29.2_0 (active)
  poppler @0.87.0_0 (active)
  poppler-data @0.4.9_0 (active)
  popt @1.16_0 (active)
  portaudio @19.20161030_0 (active)
  protobuf3-cpp @3.11.4_0 (active)
  pth @2.0.7_1 (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)
  qt5 @5.14.1_0 (active)
  qt5-qt3d @5.14.1_0 (active)
  qt5-qtbase @5.14.1_0+openssl (active)
  qt5-qtconnectivity @5.14.1_0 (active)
  qt5-qtdeclarative @5.14.1_0 (active)
  qt5-qtgamepad @5.14.1_0 (active)
  qt5-qtgraphicaleffects @5.14.1_0 (active)
  qt5-qtimageformats @5.14.1_0 (active)
  qt5-qtlocation @5.14.1_0 (active)
  qt5-qtmacextras @5.14.1_0 (active)
  qt5-qtmultimedia @5.14.1_0 (active)
  qt5-qtnetworkauth @5.14.1_0 (active)
  qt5-qtquickcontrols @5.14.1_0 (active)
  qt5-qtquickcontrols2 @5.14.1_0 (active)
  qt5-qtremoteobjects @5.14.1_0 (active)
  qt5-qtscxml @5.14.1_0 (active)
  qt5-qtsensors @5.14.1_0 (active)
  qt5-qtserialbus @5.14.1_0 (active)
  qt5-qtserialport @5.14.1_0 (active)
  qt5-qtspeech @5.14.1_0 (active)
  qt5-qtsvg @5.14.1_0 (active)
  qt5-qttools @5.14.1_0 (active)
  qt5-qttranslations @5.14.1_0 (active)
  qt5-qtwebchannel @5.14.1_0 (active)
  qt5-qtwebengine @5.14.1_1 (active)
  qt5-qtwebsockets @5.14.1_0 (active)
  qt5-qtxmlpatterns @5.14.1_0 (active)
  qt5-sqlite-plugin @5.14.1_0 (active)
  quartz-wm @1.3.2_0 (active)
  re2 @2019-09-01_0 (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)
  snappy @1.1.8_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)
  stow @2.3.1_0 (active)
  taglib @1.11.1_0 (active)
  tcp_wrappers @20_3 (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)
  webkit-gtk3 @2.4.11_3+video
  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)
  xauth @1.1_0 (active)
  xclipboard @1.1.3_0 (active)
  Xft2 @2.3.3_0 (active)
  xinit @1.4.1_0 (active)
  xkbcomp @1.4.3_0 (active)
  xkeyboard-config @2.5.1_1 (active)
  xmlcatmgr @2.2_1 (active)
  xorg-encodings @1.0.5_1 (active)
  xorg-fonts @20090102_1 (active)
  xorg-libAppleWM @1.4.1_1 (active)
  xorg-libfontenc @1.1.4_0 (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-libXfont @1.5.4_2 (active)
  xorg-libXfont2 @2.0.4_0 (active)
  xorg-libXfontcache @1.0.5_2 (active)
  xorg-libXi @1.7.10_0 (active)
  xorg-libXinerama @1.1.4_1 (active)
  xorg-libxkbfile @1.1.0_0 (active)
  xorg-libXmu @1.1.3_0 (active)
  xorg-libXp @1.0.3_2 (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-server @1.20.6_0 (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)
  xrdb @1.2.0_0 (active)
  xrender @0.9.10_1 (active)
  xset @1.2.4_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)

Thanks for your help.

jmercouris commented 4 years ago

I had actually meant your Next init file, but I assume it is empty based on your response :-). Your SBCLRC should look like this:

;;; The following lines added by ql:add-to-init-file:
#-quicklisp
(let ((quicklisp-init (merge-pathnames ".quicklisp/setup.lisp"
                                       (user-homedir-pathname))))
  (when (probe-file quicklisp-init)
    (load quicklisp-init)))
(ql:quickload :cffi)
(pushnew "/opt/local/lib/" cffi:*foreign-library-directories* :test #'equal)

Notice the lines at the bottom. That handles the directory where MacPorts installs shared libraries, it lets Lisp know where to find them!

Your installed ports are OK. Please make sure that libfixposix is installed as well.

Afterwards, try the following in a terminal:

sbcl
(ql:quickload :next/gtk)
(next:start)

Please let me know what happens, thank you!

thoelze1 commented 4 years ago

So I updated my .sblrc:

$ cat ~/.sbclrc

;;; The following lines added by ql:add-to-init-file:
#-quicklisp
(let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp"
                                       (user-homedir-pathname))))
  (when (probe-file quicklisp-init)
    (load quicklisp-init)))

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

I ran make all again, and I got the same error from the app. When trying to run from source, I get the same error too:

sbcl    
This is SBCL 2.0.3, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses.  See the CREDITS and COPYING files in the
distribution for more information.
To load "cffi":
  Load 1 ASDF system:
    cffi
; Loading "cffi"
.
* (ql:quickload :next/gtk)
To load "next/gtk":
  Load 1 ASDF system:
    next/gtk
; Loading "next/gtk"
................
Switching to the BALLAND2006 optimizer
.................
(:NEXT/GTK)
* (next:start)
Next version 1.5.0-260f081c
 <WARN> [16:10:34] next browser.lisp (current-buffer) -
  No active window, picking last active buffer.

(sbcl:13860): Gtk-CRITICAL **: 16:10:35.016: _gtk_style_provider_private_get_settings: assertion 'GTK_IS_STYLE_PROVIDER_PRIVATE (provider)' failed

(sbcl:13860): Gtk-CRITICAL **: 16:10:35.016: _gtk_style_provider_private_get_settings: assertion 'GTK_IS_STYLE_PROVIDER_PRIVATE (provider)' failed

(sbcl:13860): Gtk-CRITICAL **: 16:10:35.016: _gtk_style_provider_private_get_settings: assertion 'GTK_IS_STYLE_PROVIDER_PRIVATE (provider)' failed
CORRUPTION WARNING in SBCL pid 13860(tid 0xf531dc0):
Memory fault at 0x18 (pc=0x3021bff, fp=0x1e44e80, sp=0x1e44e80) tid 0xf531dc0
The integrity of this image is possibly compromised.
Continuing with fingers crossed.

debugger invoked on a SB-SYS:MEMORY-FAULT-ERROR in thread
#<THREAD "main thread" RUNNING {1000560083}>:
  Unhandled memory fault at #x18.

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [ABORT] Exit debugger, returning to top level.

("bogus stack frame")
0] 
jmercouris commented 4 years ago

Reminds me of an error we saw in the past...

what I don’t see in my compilation is: ‘sbcl:13860): Gtk-CRITICAL **: 16:10:35.016: _gtk_style_provider_private_get_settings: assertion 'GTK_IS_STYLE_PROVIDER_PRIVATE (provider)' failed’

I think we should start with the basics and see if your computer can run a simple cl-cffi-gtk, and then cl-webkit, and then finally Next. I’ll post some samples tomorrow or so, thank you for your patience. May I also contact you when I have an app bundle ready to try?

@ambrevar - any more thoughts?

thoelze1 commented 4 years ago

Thanks, that would be great - feel free to contact me (thoelze1@binghamton.edu). In the meantime I will keep learning lisp and try to get next building.

Ambrevar commented 4 years ago

Maybe the wrong glib / webkitgtk version is being picked up. Not sure how to test that on macOS though.

thoelze1 commented 4 years ago

After rebooting, Next both builds and runs from source. Thanks for your help!

Ambrevar commented 4 years ago

Fantastic! Please let us know your experience and don't hesitate to open issues whenever you it problems.