Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
rudolfb opened this issue May 13, 2021 · 16 comments

Comments

@rudolfb
Copy link

rudolfb commented May 13, 2021

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 rudolfb changed the title Erlang 24.0 error message: wxWidgets was not compiled with --enable-webview or wxWebView developer package is not installed Erlang 24.0 installation error message: wxWidgets was not compiled with --enable-webview or wxWebView developer package is not installed May 13, 2021
@dbernheisel
Copy link
Contributor

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.

@egze
Copy link

egze commented May 23, 2021

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?

@conradwt
Copy link

conradwt commented May 23, 2021

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

@egze
Copy link

egze commented May 23, 2021

Cool. Thanks a lot!

I needed to add:

git submodule update --init 3rdparty/catch

to what you wrote.

@DavidOliver
Copy link

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!

@joshuataylor
Copy link

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. 🚀

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

@fabramosdev
Copy link

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

@Matsa59
Copy link

Matsa59 commented Aug 21, 2021

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

@kenny-evitt
Copy link

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.

@johnrlive
Copy link

johnrlive commented Nov 3, 2021

For MacOS Big Sur 11.6 run brew install wxwidgets

@kenny-evitt
Copy link

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

@BobbyMcWho
Copy link
Contributor

BobbyMcWho commented Nov 23, 2021

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
Copy link
Contributor

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

@FabioFusimoto
Copy link

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!

@bmitc
Copy link

bmitc commented Jan 23, 2022

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!

@bus710
Copy link

bus710 commented Apr 23, 2023

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")

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests