asdf-erlang icon indicating copy to clipboard operation
asdf-erlang copied to clipboard

Erlang 24.0 installation error message: wxWidgets was not compiled with --enable-webview or wxWebView developer package is not installed

Open rudolfb opened this issue 3 years ago • 16 comments

Installing Erlang 24.0 on Ubuntu 20.04 based on the current asdf advised package prerequisites results in the following error message:

wxWidgets was not compiled with --enable-webview or wxWebView developer package is not installed

One of the new features of Erlang 24.0 is the addition of support for wxWebView.

https://www.erlang.org/downloads/24.0

wx
The application has been completely rewritten in order
to use wxWidgets version 3 as its base.
Added support for wxWebView.

The asdf Erlang installation instructions for Ubuntu 20.04 mention only the prerequisite package libwxgtk3.0-gtk3-dev. If only this package is installed, the following error message is displayed upon installing Erlang 24.0 using asdf:

asdf install erlang 24.0

Building Erlang/OTP 24.0 (asdf_24.0), please wait...
APPLICATIONS INFORMATION (See: ~/.asdf/plugins/erlang/kerl-home/builds/asdf_24.0/otp_build_24.0.log)
 * wx             : wxWidgets was not compiled with --enable-webview or wxWebView developer package is not installed, wxWebView will NOT be available

After installing the libwxgtk-webview3.0-gtk3-dev package, this error no longer occurs.

I would propose changing the asdf Erlang installation instructions for Ubuntu 20.04 from

If you want to install all the above: apt-get -y install build-essential autoconf m4 libncurses5-dev libwxgtk3.0-gtk3-dev libgl1-mesa-dev libglu1-mesa-dev libpng-dev libssh-dev unixodbc-dev xsltproc fop libxml2-utils libncurses-dev openjdk-11-jdk

to

If you want to install all the above: apt-get -y install build-essential autoconf m4 libncurses5-dev libwxgtk3.0-gtk3-dev libwxgtk-webview3.0-gtk3-dev libgl1-mesa-dev libglu1-mesa-dev libpng-dev libssh-dev unixodbc-dev xsltproc fop libxml2-utils libncurses-dev openjdk-11-jdk

Note the addition of the libwxgtk-webview3.0-gtk3-dev package.

rudolfb avatar May 13 '21 08:05 rudolfb

Related: I updated the wiki to include instructions for Arch Linux users. It's essentially the same strategy proposed here but with the AUR and Arch packages.

dbernheisel avatar May 14 '21 14:05 dbernheisel

Getting the same error on a mac.

 * wx             : wxWidgets was not compiled with --enable-webview or wxWebView developer package is not installed, wxWebView will NOT be available

Any tips how to get it working?

egze avatar May 23 '21 10:05 egze

I was able to get things working by building wxWidegts from the source using the following:

git clone [email protected]:wxWidgets/wxWidgets.git
cd wxWidgets
git submodule update --init src/png
git submodule update --init src/jpeg
./configure --with-cocoa --prefix=/usr/local --enable-webview --enable-compat28 --with-macosx-version-min=11.3
make
sudo make install

Note: I'm installing on macOS here. Thus, please update the configure options for your OS.

After getting wxWidgets properly installed, I was able to successfully get Erlang 24.0.1 installed with asdf by doing the following:

export KERL_BUILD_DOCS=yes
export KERL_INSTALL_MANPAGES=yes
export wxUSE_MACOSX_VERSION_MIN=11.3
export EGREP=egrep
export CC=clang
export CPP="clang -E"
export KERL_USE_AUTOCONF=0

export KERL_CONFIGURE_OPTIONS="--disable-debug \
                               --disable-hipe \
                               --disable-sctp \
                               --disable-silent-rules \
                               --enable-darwin-64bit \
                               --enable-dynamic-ssl-lib \
                               --enable-kernel-poll \
                               --enable-shared-zlib \
                               --enable-smp-support \
                               --enable-threads \
                               --enable-wx \
                               --with-ssl=/opt/local \
                               --with-wx-config=/usr/local/bin/wx-config \
                               --without-javac \
                               --without-jinterface \
                               --without-odbc"

Note: I recommend adding environment variables to your .zshrc or another file that gets initialized when starting your terminal. Please don't forget to update these options as necessary for the following:

--with-ssl=<needs base install directory> --with-wx-config=<needs absolute path to executable>

Finally, update package registry and install Erlang 24.0.1

asdf plugin-update --all
asdf install erlang 24.0.1

conradwt avatar May 23 '21 18:05 conradwt

Cool. Thanks a lot!

I needed to add:

git submodule update --init 3rdparty/catch

to what you wrote.

egze avatar May 23 '21 20:05 egze

Unfortunately, installing libwxgtk-webview3.0-gtk3-dev doesn't seem to be sufficient in Ubuntu 18.04. I should probably update to Ubuntu 20.04 anyway!

DavidOliver avatar Jun 18 '21 14:06 DavidOliver

Great, on Linux (using Archlinux) I believe the above should be fine, but I didn't do the export part and it worked fine.

I also removed any reference to darwin/mac and it worked great. :rocket:

basically this:

git clone [email protected]:wxWidgets/wxWidgets.git
cd wxWidgets
git submodule update --init src/png
git submodule update --init src/jpeg
git submodule update --init 3rdparty/catch
./configure --prefix=/usr --enable-webview --enable-compat28 # double check your distro, this works son arch
make # you might want to do `make -j4` where 4 is the number of cores
sudo make install

joshuataylor avatar Jun 26 '21 10:06 joshuataylor

I use Manjaro linux and had the same problem. I solved with: pamac build wxgtk2-dev

fabramosdev avatar Aug 13 '21 23:08 fabramosdev

Precision on @fabramosdev comment

I use Manjaro linux and had the same problem. I solved with: pamac build wxgtk2-dev

If you have installed wxgtk3 you'll need wxgtk3-dev but solution works

Matsa59 avatar Aug 21 '21 15:08 Matsa59

My server is running 16.04 and libwxgtk-webview3.0-gtk3-dev doesn't seem to have been available, but installing libwxgtk-webview3.0-dev seems to have fixed this for me.

kenny-evitt avatar Sep 27 '21 21:09 kenny-evitt

For MacOS Big Sur 11.6 run brew install wxwidgets

johnrlive avatar Nov 03 '21 22:11 johnrlive

@johnrlive I also have wxmac for Homebrew for this in my notes, tho I'm on an older macOS version (10.14.6).

kenny-evitt avatar Nov 04 '21 16:11 kenny-evitt

I cannot for the life of me seem to be able to get this to work on Ubuntu 20.04, I've re-compiled wxWidgets multiple times w/ the flags and tried the various things here, and I'm still getting wxWidgets was not compiled with --enable-webview or wxWebView developer package is not installed, wxWebView will NOT be available when installing erlang 24.1.7 w/ asdf

BobbyMcWho avatar Nov 23 '21 15:11 BobbyMcWho

I ended up having to install libwebkit2gtk-4.0-dev per here, recompiling wxwidgets w/ the webview flags after installing that, copying the wx-config to /usr/local/bin/, and running the asdf compile with the following flags (again Ubuntu 20.04)

KERL_USE_AUTOCONF=0 KERL_CONFIGURE_OPTIONS="--enable-wx --with-wx --enable-webview --with-wx-config=/usr/local/bin/wx-config" asdf install erlang

I'm no longer getting the error

BobbyMcWho avatar Nov 26 '21 06:11 BobbyMcWho

I ended up having to install libwebkit2gtk-4.0-dev per here, recompiling wxwidgets w/ the webview flags after installing that, copying the wx-config to /usr/local/bin/, and running the asdf compile with the following flags (again Ubuntu 20.04)

KERL_USE_AUTOCONF=0 KERL_CONFIGURE_OPTIONS="--enable-wx --with-wx --enable-webview --with-wx-config=/usr/local/bin/wx-config" asdf install erlang

I'm no longer getting the error

Just did the same workaround as pointed by @BobbyMcWho on Pop!_OS 21.04 and finally got it to work after many tries!

FabioFusimoto avatar Jan 05 '22 00:01 FabioFusimoto

For what it's worth, I got this working by following the original suggestion. I am using WSL2 on Windows with the Ubuntu distribution (20.04.3 LTS). I already had Erlang installed with asdf and thus got the error reported in the original issue. So, I ran the following:

sudo apt install libwxgtk-webview3.0-gtk3-dev
asdf uninstall erlang 24.2
asdf install erlang 24.2

Everything worked fine during the installation. I am even able to run :observer.start() in iex and the GUI opens up from WSL2 in Windows!

bmitc avatar Jan 23 '22 08:01 bmitc

I am using Debian testing/bookworm.

From Debian testing repositories there is no package libwxgtk-webview3.0-gtk3-dev, but libwxgtk-webview3.2-dev. I don't know this is a temporal rename or will go with the new name. This change seems applied to the recent Ubuntu releases (Kinetic and Lunar), so some Ubuntu users might have the issue as I had (Error message with "Library load-call unsuccessful")

  • https://packages.debian.org/search?suite=default&section=all&arch=any&searchon=names&keywords=libwxgtk-webview
  • https://packages.ubuntu.com/search?keywords=libwxgtk-webview&searchon=names&suite=all&section=all

What I did is pretty much same as what others did (I got helped so much, thanks for everyone!)

To build and install wxWidgets:

$ git clone --branch WX_3_0_BRANCH [email protected]:wxWidgets/wxWidgets.git

$ cd wxWidgets
$ ./configure \
    --prefix=/usr/local \
    --enable-webview \
    --enable-compat28 \
    --with-gtk=3
$ git submodule update --init src/png
$ git submodule update --init src/jpeg
$ make -j4 && sudo make install
$ export PATH=/usr/local/bin:$PATH

$ sudo ldconfig # <= don't forget this!

Install asdf as usual. Then install Erlang:

$ export KERL_BUILD_DOCS=yes
$ export KERL_USE_AUTOCONF=0
$ export KERL_CONFIGURE_OPTIONS="--disable-debug \
    --enable-wx \
    --with-wx \
    --enable-webview \
    --with-wx-config=/usr/local/bin/wx-config \
    --without-javac \
    --without-jinterface \
    --without-odbc"
$ asdf install erlang $ERLANG_VERSION
$ asdf global erlang $ERLANG_VERSION

There might be some unnecessary options here and there, but finally I could launch the debugger, observer, and demo.

bus710 avatar Apr 23 '23 19:04 bus710