如何让Erlang在Linux上显示UI组件“调试器”和“观察者”?

问题描述 投票:0回答:4

我正在运行 Kubuntu 15.04 64 位并尝试让 Erlang 的 18.1“调试器”或“观察者”运行(编辑:从 shell 内):

observer:start().
debugger:start().

我收到以下错误:

{error,{{load_driver,"No driver found"},
    [{wxe_server,start,1,[{file,"wxe_server.erl"},{line,65}]},
     {wx,new,1,[{file,"wx.erl"},{line,115}]},
     {observer_wx,init,1,[{file,"observer_wx.erl"},{line,96}]},
     {wx_object,init_it,6,[{file,"wx_object.erl"},{line,337}]},
     {proc_lib,init_p_do_apply,3,
               [{file,"proc_lib.erl"},{line,240}]}]}}

ERROR REPORT==== 4-Oct-2015::15:34:01 ===
ERROR: Could not find 'wxe_driver.so' in: /home/howler/erlang/18.1/lib/wx-1.5/priv

我尝试了各种论坛并遵循了有关 wxWidgets 的规定建议,但我仍然无法让它工作?

有谁知道解决这个问题的明确方法吗?

erlang wxwidgets erlang-shell
4个回答
3
投票

简单方法

使用以下命令为 Erlang 解决方案存储库添加存储库:

wget http://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb
sudo dpkg -i erlang-solutions_1.0_all.deb

安装Erlang:

sudo apt-get update
sudo apt-get install erlang

测试运行run erl并调用wx:demo()

λ VIDIA ~ → erl
Erlang/OTP 18 [erts-7.1] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false]

local .erlang loaded
Eshell V7.1  (abort with ^G)
1> wx:demo().
ok
<0.35.0> Closing window 
2> 

从源代码构建

apt-get update

安装构建工具(dpkg-dev g++ gcc libc6-dev make)

apt-get -y install build-essential

自动配置脚本生成器(debianutils m4 perl)

apt-get -y install autoconf

需要 HiPE(本机代码)支持,但已由 autoconf 安装

apt-get -y install m4

终端处理所需(libc-dev libncurses5 libtinfo-dev libtinfo5 ncurses-bin)

apt-get -y install libncurses5-dev

用于使用 wxWidgets 进行构建

apt-get -y install libwxgtk2.8-dev libgl1-mesa-dev libglu1-mesa-dev libpng3

用于构建 ssl (libssh-4 libssl-dev zlib1g-dev)

apt-get -y install libssh-dev

ODBC 支持(libltdl3-dev odbcinst1debian2 unixodbc)

apt-get -y install unixodbc-dev

获取 Erlang/OTP 源文件

mkdir -p ~/code/erlang
cd ~/code/erlang
wget http://www.erlang.org/download/otp_src_18.0.tar.gz
tar -xvzf otp_src_18.0.tar.gz
chmod -R 777 otp_src_18.0
cd otp_src_18.0
./configure
make
make install
exit 0

Bryan Hunter shell 脚本要点的步骤


2
投票

如果有人在 ubuntu 的“asdf”版本管理器中遇到此问题,那么您需要安装以下软件包

sudo apt-get -y 安装 libwxgtk3.0-dev libgl1-mesa-dev libglu1-mesa-dev libpng3


1
投票

Arch Linux 用户应将 erlang-nox(无头)替换为完整的 erlang 版本。如果您运行

pacman
pacman -S erlang

会提示您这样做

0
投票

Ubuntu 20.04

假设 Erlang 是从源安装的。

  1. 下载wxWidgets。
git clone [email protected]:wxWidgets/wxWidgets.git
cd wxWidgets/
git submodule update --init src/png
git submodule update --init src/jpeg
./configure --prefix=/usr/local enable-webview --with-gtk=3
# git submodule update --init {other_missed_submodules}

which wx-config && wx-config --version-full
# if installation succeeds:
# /usr/bin/wx-config
# 3.0.4.0
  1. 安装

sudo apt-get -y install libwxgtk-webview3.0-gtk3-dev

sudo 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

  1. 重新编译 Erlang。
sudu su -
cd {erlang_dir}
./configure && make && make install
© www.soinside.com 2019 - 2024. All rights reserved.