前言:對于centos7.3我使用yum安裝不上erlang,才有了這邊編譯安裝erlang的文章。在安裝erlang過程中遇到不少坑,最終經過努力把rabbitmq裝上。
按照官方的辦法安裝erlang報錯,rpm包也是一樣:
<code>Error: Package: erlang-wx-20.0rc1-3.el7.centos.x86_64 (erlang-solutions)</code>
<code>Requires: libwx_baseu-2.8.so.0()(64bit)</code>
<code>Requires: libwx_gtk2u_gl-2.8.so.0()(64bit)</code>
<code>Requires: libwx_gtk2u_xrc-2.8.so.0()(64bit)</code>
<code>Requires: libwx_gtk2u_html-2.8.so.0()(64bit)</code>
<code>Requires: libwx_gtk2u_html-2.8.so.0(WXU_2.8)(64bit)</code>
<code>Requires: libwx_gtk2u_aui-2.8.so.0(WXU_2.8.5)(64bit)</code>
<code>Requires: libwx_gtk2u_xrc-2.8.so.0(WXU_2.8)(64bit)</code>
<code>Requires: libwx_baseu_xml-2.8.so.0()(64bit)</code>
<code>Requires: libwx_gtk2u_adv-2.8.so.0()(64bit)</code>
<code>Requires: libwx_gtk2u_stc-2.8.so.0(WXU_2.8)(64bit)</code>
<code>Requires: libwx_gtk2u_core-2.8.so.0()(64bit)</code>
<code>Requires: libwx_gtk2u_core-2.8.so.0(WXU_2.8)(64bit)</code>
<code>Requires: libwx_gtk2u_stc-2.8.so.0()(64bit)</code>
<code>Requires: libwx_gtk2u_aui-2.8.so.0()(64bit)</code>
<code>Requires: libwx_gtk2u_adv-2.8.so.0(WXU_2.8)(64bit)</code>
<code>Requires: libwx_gtk2u_gl-2.8.so.0(WXU_2.8)(64bit)</code>
<code>Requires: libwx_gtk2u_core-2.8.so.0(WXU_2.8.10)(64bit)</code>
<code>Requires: libwx_gtk2u_aui-2.8.so.0(WXU_2.8)(64bit)</code>
<code>Requires: libwx_baseu-2.8.so.0(WXU_2.8)(64bit)</code>
<code>You could try using --skip-broken to work around the problem</code>
<code>You could try running: rpm -Va --nofiles --nodigest</code>
以下隻是僅僅記錄我的安裝過程以及問題解決:
1. 安裝erlang
<code>#安裝依賴環境</code>
<code>yum -y </code><code>install</code> <code>make</code> <code>gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel unixODBC-devel</code>
<code>#下載下傳最新 Erlang 19.0</code>
<code>wget http:</code><code>//erlang</code><code>.org</code><code>/download/otp_src_19</code><code>.0.</code><code>tar</code><code>.gz</code>
<code>#解壓</code>
<code>tar</code> <code>-xvzf otp_src_19.0.</code><code>tar</code><code>.gz</code>
<code>#配置</code>
<code>.</code><code>/configure</code> <code>--prefix=</code><code>/usr/local/erlang</code>
<code>#檢測完畢後提示這個</code>
<code>*********************************************************************</code>
<code>********************** APPLICATIONS INFORMATION *******************</code>
<code>wx : wxWidgets not found, wx will NOT be usable</code>
<code>********************** DOCUMENTATION INFORMATION ******************</code>
<code>documentation :</code>
<code>fop is missing.</code>
<code>Using fakefop to generate placeholder PDF files.</code>
<code>#解決wxWidgets才能make和make install</code>
<code>make</code> <code>&& </code><code>make</code> <code>install</code>
<code>#解決 wxWidgets</code>
<code>wget -c https:</code><code>//github</code><code>.com</code><code>/wxWidgets/wxWidgets/releases/download/v3</code><code>.0.3</code><code>/wxWidgets-3</code><code>.0.3.</code><code>tar</code><code>.bz2</code>
<code>yum </code><code>install</code> <code>bzip2</code> <code>-y</code>
<code>bzip2</code> <code>-d wxWidgets-3.0.3.</code><code>tar</code><code>.bz2</code>
<code>tar</code> <code>-xvf wxWidgets-3.0.3.</code><code>tar</code>
<code>cd</code> <code>wxWidgets-3.0.3</code>
<code>.</code><code>/configure</code>
<code>#檢測wxWidgets出錯</code>
<code>configure: error:</code>
<code>The development files </code><code>for</code> <code>GTK+ were not found. For GTK+ 2, please</code>
<code>ensure that pkg-config is </code><code>in</code> <code>the path and that gtk+-2.0.pc is</code>
<code>installed. For GTK+ 1.2 please check that gtk-config is </code><code>in</code> <code>the path,</code>
<code>and that the version is 1.2.3 or above. Also check that the</code>
<code>libraries returned by </code><code>'pkg-config gtk+-2.0 --libs'</code> <code>or 'gtk-config</code>
<code>--libs' are </code><code>in</code> <code>the LD_LIBRARY_PATH or equivalent.</code>
<code>#解決GTK+,先安裝gtk2-devel和binutils</code>
<code>yum -y </code><code>install</code> <code>gtk2-devel binutils-devel</code>
<code>yum </code><code>install</code> <code>libSM-devel</code>
<code>#可以不安裝</code>
<code>yum list pkgconfig</code>
<code>yum </code><code>install</code> <code>gtk+extra</code>
<code>#再次./configure出現openGL報錯</code>
<code>error: OpenGL libraries not available</code>
<code>#解決OpenGL</code>
<code>yum </code><code>install</code> <code>mesa-libGL-devel</code>
<code>yum </code><code>install</code> <code>mesa-libGLU-devel</code>
<code>#編譯安裝</code>
2. 安裝 rabbitmq,必須要首先安裝erlang
<code>wget http:</code><code>//www</code><code>.rabbitmq.com</code><code>/releases/rabbitmq-server/v3</code><code>.6.10</code><code>/rabbitmq-server-generic-unix-3</code><code>.6.10.</code><code>tar</code><code>.xz</code>
<code>xz -d rabbitmq-server-generic-unix-3.6.10.</code><code>tar</code><code>.xz</code>
<code>tar</code> <code>-xvf rabbitmq-server-generic-unix-3.6.10.</code><code>tar</code>
<code>cd</code> <code>.</code><code>/rabbitmq_server-3</code><code>.6.10</code>
<code>cd</code> <code>sbin/</code>
<code>#修改ERL_DIR路徑</code>
<code>vim rabbitmq-defaults</code>
<code>修改為</code>
<code>ERL_DIR=</code><code>/usr/local/erlang/bin/</code>
<code>啟用web管理界面</code>
<code>.</code><code>/rabbitmq-plugins</code> <code>enable</code> <code>rabbitmq_management</code>
<code>啟動</code>
<code>.</code><code>/rabbitmq-server</code> <code>-detached</code>
<code>添加使用者</code>
<code>.</code><code>/rabbitmqctl</code> <code>add_user admin 111111</code>
<code>設定權限</code>
<code>.</code><code>/rabbitmqctl</code> <code>set_user_tags admin administrator</code>
<code>添加通路權限</code>
<code>rabbitmqctl set_permissions -p / admin </code><code>".*"</code> <code>".*"</code> <code>".*"</code>
<code>浏覽器通路</code>
<code>ip:15672</code>
<a href="https://s2.51cto.com/wyfs02/M02/98/3E/wKiom1k5EbPRwsYgAAATe6I6sPs018.png" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M02/98/3F/wKioL1k5EbSiyuoOAAAY2fFE0tY396.png" target="_blank"></a>
PS:經過使用eralng19.0不支援rabbitmq3.6.4以下
如3.6.3版本rabbitmq的web端管理界面不能檢視、管理queues
#2017/07/20更新
後來我發現yum方法可以解決eralng關系,在rabbitmq的github上介紹的完美快捷方案。
我使用的erlang是19.x
添加倉庫
vim /etc/yum.repos.d/rabbitmq-erlang.repo
<code>[rabbitmq-erlang]</code>
<code>name=rabbitmq-erlang</code>
<code>baseurl=https:</code><code>//dl</code><code>.bintray.com</code><code>/rabbitmq/rpm/erlang/19/el/7</code>
<code>gpgcheck=1</code>
<code>gpgkey=https:</code><code>//www</code><code>.rabbitmq.com</code><code>/rabbitmq-release-signing-key</code><code>.asc</code>
<code>repo_gpgcheck=0</code>
<code>enabled=1</code>
然後執行yum安裝erlang
<code>yum </code><code>install</code> <code>erlang -y</code>
然後再添安裝最新版rabbitmq
<code>yum </code><code>install</code> <code>rabbitmq-server -y</code>
如果不是你所要的版本,去官網下載下傳最新rpm包
<code>wget -c https:</code><code>//bintray</code><code>.com</code><code>/rabbitmq/rabbitmq-server-rpm/download_file</code><code>?file_path=rabbitmq-server-3.6.10-1.el7.noarch.rpm</code>
<code>yum </code><code>install</code> <code>rabbitmq-server-3.6.10-1.el7.noarch.rpm</code>
本文轉自 yanconggod 51CTO部落格,原文連結:http://blog.51cto.com/yanconggod/1933009