11

How do I compile Emacs with xwidget under OSX?

When I tried to run ./configure --prefix=$HOME/emacs-xwidgets --with-x-toolkit=gtk3 --with-xwidgets I get an error configure: error: xwidgets requested but gtk3 not used.. But it looks like I have an gtk+3.0 -

sandric@sandric-mac ~/emacs> brew install gtk+3 Error: gtk+3-3.18.9 already installed To install this version, first `brew unlink gtk+3`

It looks like I don't have gtk3 package in pkg-config - sandric@sandric-mac ~> pkg-config --list-all libzmq libzmq - 0MQ c++ library gio-unix-2.0 GIO unix specific APIs - unix specific headers for glib I/O library libusb-1.0 libusb-1.0 - C API for USB device access from Linux, Mac OS X, Windows and OpenBSD/NetBSD userspace gobject-introspection-no-export-1.0 gobject-introspection - GObject Introspection libecpg_compat libecpg_compat - PostgreSQL libecpg_compat library gio-2.0 GIO - glib I/O library libcdt libcdt - Container DataType library cairo-gobject cairo-gobject - gobject functions for cairo graphics library harfbuzz-icu harfbuzz - HarfBuzz text shaping library ICU integration cairo-quartz-font cairo-quartz-font - Quartz font backend for cairo graphics library libpng16 libpng - Loads and saves PNG files dbus-1 dbus - Free desktop message bus ImageMagick++ ImageMagick++ - Magick++ - C++ API for ImageMagick (ABI Q16) cairo-ps cairo-ps - PostScript surface backend for cairo graphics library gmodule-2.0 GModule - Dynamic module loader for GLib lcms lcms - LCMS Color Management Library glib-2.0 GLib - C Utility Library ImageMagick ImageMagick - ImageMagick - convert, edit, and compose images (ABI Q16) Magick++-6.Q16 Magick++ - Magick++ - C++ API for ImageMagick (ABI Q16) gimpthumb-2.0 GIMP Thumb - GIMP Thumbnail Library gdlib gd - GD graphics library libpcre2-16 libpcre2-16 - PCRE2 - Perl compatible regular expressions C library (2nd API) with 16 bit character support pango Pango - Internationalized text handling uuid OSSP uuid - Universally Unique Identifier (UUID) Library babl babl - Dynamic, any to any, pixel format conversion library MagickWand MagickWand - MagickWand - C API for ImageMagick (ABI Q16) libedit libedit - command line editor library provides generic line editing, history, and tokenization functions. libublio ublio - UBLIO caching library libicns libicns - Loads and saves Macintosh icns files libcgraph libcgraph - Graph library (file i/o, dot language parsing, graph, subgraph, node, edge, attribute, data structure manipulation) libpcrecpp libpcrecpp - PCRECPP - C++ wrapper for PCRE pangoft2 Pango FT2 and Pango Fc - Freetype 2.0 and fontconfig font support for Pango libevent_pthreads libevent_pthreads - libevent_pthreads adds pthreads-based threading support to libevent gdk-pixbuf-2.0 GdkPixbuf - Image loading and scaling gmodule-no-export-2.0 GModule - Dynamic module loader for GLib MagickCore-6.Q16 MagickCore - MagickCore - C API for ImageMagick (ABI Q16) osxfuse fuse - OSXFUSE libcroco-0.6 libcroco - a CSS2 Parsing and manipulation Library in C. libxdot libxdot - Library for parsing graphs in xdot format liblzma liblzma - General purpose data compression library gtk+-3.0 GTK+ - GTK+ Graphical UI Library libssh2 libssh2 - Library for SSH-based communication gobject-introspection-1.0 gobject-introspection - GObject Introspection Magick++ Magick++ - Magick++ - C++ API for ImageMagick (ABI Q16) gtk+-unix-print-2.0 GTK+ - GTK+ Unix print support libiodbc iODBC - iODBC Driver Manager libfontforgeexe libfontforgeexe - for embedding the FontForge UI in a program. gdk-2.0 GDK - GTK+ Drawing Kit (quartz target) gtk-mac-integration-gtk2 gtk-mac-integration-gtk2 - Mac menu bar and dock integration for GTK+ gtk-mac-integration-gtk3 gtk-mac-integration-gtk3 - Mac menu bar and dock integration for GTK+ yaml-0.1 LibYAML - Library to parse and emit YAML libssl OpenSSL - Secure Sockets Layer and cryptography libraries libpcre2-32 libpcre2-32 - PCRE2 - Perl compatible regular expressions C library (2nd API) with 32 bit character support apr-util-1 APR Utils - Companion library for APR libevent libevent - libevent is an asynchronous notification event loop library openssl OpenSSL - Secure Sockets Layer and cryptography libraries and tools libevent_openssl libevent_openssl - libevent_openssl adds openssl-based TLS support to libevent mysqlclient mysqlclient - MySQL client library cairo-pdf cairo-pdf - PDF surface backend for cairo graphics library gimpui-2.0 GIMP UI - GIMP User Interface Library apr-1 APR - The Apache Portable Runtime library gdk-quartz-2.0 GDK - GTK+ Drawing Kit (quartz target) pangocairo Pango Cairo - Cairo rendering support for Pango gmodule-export-2.0 GModule - Dynamic module loader for GLib libgvpr libgvpr - The GVPR library gimp-2.0 GIMP - GIMP Library libpq libpq - PostgreSQL libpq library ImageMagick++-6.Q16 ImageMagick++ - Magick++ - C++ API for ImageMagick (ABI Q16) Wand-6.Q16 MagickWand - MagickCore - C API for ImageMagick (ABI Q16) gsettings-desktop-schemas gsettings-desktop-schemas - Shared GSettings schemas for the desktop, including helper headers pixman-1 Pixman - The pixman library (version 1) libpcre2-8 libpcre2-8 - PCRE2 - Perl compatible regular expressions C library (2nd API) with 8 bit character support cairo-quartz-image cairo-quartz-image - Quartz Image surface backend for cairo graphics library gtk+-quartz-2.0 GTK+ - GTK+ Graphical UI Library (quartz target) libpathplan libpathplan - Library for planning polyline and bezier paths around polygon obstacles libpcre16 libpcre16 - PCRE - Perl compatible regular expressions C library with 16 bit character support libfontforge libfontforge - a font manipulation library. libtiff-4 libtiff - Tag Image File Format (TIFF) library. gobject-2.0 GObject - GLib Type, Object, Parameter and Signal Library libgvc libgvc - The GraphVizContext library gtk+-unix-print-3.0 GTK+ - GTK+ Unix print support libpng libpng - Loads and saves PNG files gthread-2.0 GThread - Thread support for GLib cairo-fc cairo-fc - Fontconfig font backend for cairo graphics library fontconfig Fontconfig - Font configuration and customization library libecpg libecpg - PostgreSQL libecpg library cairo cairo - Multi-platform 2D graphics library gdk-3.0 GDK - GTK+ Drawing Kit pygobject-2.0 PyGObject - Python bindings for GObject libcrypto OpenSSL-libcrypto - OpenSSL cryptography library libpcreposix libpcreposix - PCREPosix - Posix compatible interface to libpcre cairo-png cairo-png - PNG functions for cairo graphics library cairo-ft cairo-ft - FreeType font backend for cairo graphics library epoxy epoxy - epoxy GL dispatch Library gtk-mac-integration gtk-mac-integration-gtk2 - Mac menu bar and dock integration for GTK+ Wand MagickWand - MagickCore - C API for ImageMagick (ABI Q16) atk Atk - Accessibility Toolkit libpcre2-posix libpcre2-posix - Posix compatible interface to libpcre2-8 fish fish - fish, the friendly interactive shell libntfs-3g libntfs-3g - NTFS-3G Read/Write Driver Library libczmq libczmq - The high-level C binding for 0MQ cairo-svg cairo-svg - SVG surface backend for cairo graphics library libsodium libsodium - A portable, cross-compilable, installable, packageable fork of NaCl, with a compatible API. gdk-quartz-3.0 GDK - GTK+ Drawing Kit cairo-quartz cairo-quartz - Quartz surface backend for cairo graphics library fuse fuse - OSXFUSE harfbuzz harfbuzz - HarfBuzz text shaping library libtls LibreSSL-libtls - Secure communications using the TLS socket protocol. MagickWand-6.Q16 MagickWand - MagickWand - C API for ImageMagick (ABI Q16) libpgtypes libpgtypes - PostgreSQL libpgtypes library pycairo Pycairo - Python bindings for cairo libpcre libpcre - PCRE - Perl compatible regular expressions C library with 8 bit character support cairo-script cairo-script - script surface backend for cairo graphics library ImageMagick-6.Q16 ImageMagick - ImageMagick - convert, edit, and compose images (ABI Q16) libpcre32 libpcre32 - PCRE - Perl compatible regular expressions C library with 32 bit character support gail-3.0 Gail - GNOME Accessibility Implementation Library cairo-tee cairo-tee - tee surface backend for cairo graphics library freetype2 FreeType 2 - A free, high-quality, and portable font engine. slang slang - S-Lang programming library and interpreter MagickCore MagickCore - MagickCore - C API for ImageMagick (ABI Q16) gtk+-quartz-3.0 GTK+ - GTK+ Graphical UI Library librsvg-2.0 librsvg - library that renders svg files gtk+-2.0 GTK+ - GTK+ Graphical UI Library (quartz target) oniguruma oniguruma - Regular expression library harfbuzz-gobject harfbuzz - HarfBuzz text shaping library GObject integration pygtk-2.0 PyGTK - Python bindings for GTK+ and related libraries gail Gail - GNOME Accessibility Implementation Library

  • 1
    Are you going to be using x11, or do you intend this to be a part of the standard GUI version on OSX without x11? See also my related question on reddit -- What is the macports equivalent for xwidgets?: reddit.com/r/emacs/comments/4bfef1/… – lawlist Aug 3 '16 at 5:57
  • Get the same error message here, after appending --without-ns, it now says configure: error: xwidgets requested but WebKitGTK+ not found. Though I have installed webkitgtk via homebrew. – xuchunyang Aug 3 '16 at 6:13
  • Emacs does not support x11, see this conversation lists.gnu.org/archive/html/emacs-devel/2016-08/msg00415.html – cjohansson Jun 6 '18 at 7:36
2

I have gtk+-3 installed by homebrew and I can see it using pkg-config --list-all. I have the following in my .zshrc, which may matter:

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/Cellar/libxml2/2.9.2/lib/pkgconfig:/opt/X11/lib/pkgconfig:$PKG_CONFIG_PATH

To enable the gtk3 toolkit you also need to disable nextstep as building option, adding --without-ns to you configure.

  • and you managed to compile emacs with xwidgets? And run webkit in it? – sandric Aug 18 '16 at 15:07
  • I have not tried yet. If you do an export with that line, is gtk+3 detected by pkg-config? – brab Aug 18 '16 at 15:42
  • I can now go further in the configure with the --without-ns option, but I don’t have the correct version of webkitgtk+ installed to successfully build it. – brab Aug 19 '16 at 12:55
2

in addition to the --without-ns option, you also need the --without-x11 option, to force gtk+3 to use quartz.

brew install --build-from-source at-spi2-core at-spi2-atk cairo harfbuzz pango gtk+ librsvg gnome-icon-theme gtk+3 --without-ns --without-x --without-x11 --with-gtk+3

  • I needed to install giflib with brew install giflib as well for libgif/libungif – cjohansson Apr 11 '18 at 6:33
  • Did you manage to install gnu emacs with xwidgets support on macos? – cjohansson Jun 6 '18 at 7:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.