Как заставить Erlang показывать отладчик и наблюдатель компонентов пользовательского интерфейса в Linux?

Я запускаю 64-разрядную версию Kubuntu 15.04 и пытаюсь запустить «отладчик» или «наблюдатель» Erlang 18.1 (EDIT: из оболочки):

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, но я все еще не могу заставить его работать?

Кто-нибудь знает окончательный способ решить эту проблему?


person Community    schedule 04.10.2015    source источник
comment
Как устанавливается Эрланг? Из исходников или через пакеты?   -  person Adam Lindberg    schedule 04.10.2015
comment
Я пробовал как от kerl, так и от источника. Из исходников — ничего умнее, чем ./configure, ./make, а затем ./make install   -  person    schedule 04.10.2015
comment
Я использую репозиторий решений erlang, и он работает нормально. Я считаю, что вам следует предпочесть версию репозитория, если вы не уверены, почему она не нужна.   -  person Lol4t0    schedule 04.10.2015


Ответы (3)


Простой способ

Добавление репозитория Для репозитория Erlang Solutions с помощью следующих команд:

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

Установите Эрланг:

sudo apt-get update
sudo apt-get install erlang

Тестовый запуск, запуск 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

Основные сведения о сценарии оболочки Брайана Хантера

person Franklin    schedule 04.10.2015
comment
Работает как шарм. Оказывается, у меня не были правильно установлены некоторые зависимости. Теперь я также могу использовать kerl, поэтому мне не нужно собирать из исходного кода. Большое спасибо! - person ; 05.10.2015
comment
Как я могу сделать это с керлом? Например. эта часть не понятна для меня - person Oleg Tarasenko; 15.12.2016
comment
@OlegTarasenko, вы можете попробовать выполнить шаги здесь docs.basho.com /riak/ts/1.3.1/installing/source/erlang - person Franklin; 15.12.2016

Если кто-то борется с этой проблемой в диспетчере версий asdf в Ubuntu, вам необходимо установить следующие пакеты

sudo apt-get -y установить libwxgtk3.0-dev libgl1-mesa-dev libglu1-mesa-dev libpng3

person Senthil    schedule 02.04.2017

Пользователям Arch Linux следует заменить erlang-nox (безголовый) на полную версию erlang. pacman предложит вам сделать это, если вы запустите pacman -S erlang

person fhdhsni    schedule 13.12.2018