mosquitto 使用時出現的一些問題及其解決辦法
問題一:問題描述:
在centos7上編譯mosquitto原始碼時,出現以下問題:
make[1]: 進入目錄“/home/jason/mosquitto-1.2/man” xsltproc mosquitto.8.xml warning: failed to load external entity "/usr/share/xml/docbook/stylesheet/docbook-xsl/manpages/docbook.xsl" compilation error: file manpage.xsl line 3 element import xsl:import : unable to load /usr/share/xml/docbook/stylesheet/docbook-xsl/manpages/docbook.xsl compilation error: file mosquitto.8.xml line 4 element refentry xsltParseStylesheetProcess : document is not a stylesheet make[1]: *** [mosquitto.8] 錯誤 5 make[1]: 離開目錄“/home/jason/mosquitto-1.2/man” make: *** [docs] 錯誤 2
由提示可以看到,此時問題的原因在於在檔案:manpage.xsl裡面載入不了:docbook.xsl所致,錯誤提示中也顯示在絕對路徑:
/usr/share/xml/docbook/stylesheet/docbook-xsl/manpages/docbook.xsl
下找不到這個檔案:
docbook.xsl
再看檔案manpage.xsl裡,按照所提示第3行,果然是這個絕對地址:
<!-- Set parameters for manpage xsl --> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:import href="/usr/share/xml/docbook/stylesheet/docbook-xsl/manpages/docbook.xsl"/> <!-- Don't display notes list of link urls. --> <xsl:param name="man.endnotes.list.enabled">0</xsl:param> <xsl:param name="man.endnotes.are.numbered">0</xsl:param> <!-- But if we do, set a base url for the relative links. --> <xsl:param name="man.base.url.for.relative.links">http://mosquitto.org/man/</xsl:param> <!-- Don't output filename when generating. --> <xsl:param name="man.output.quietly" select="1"></xsl:param> <!-- Generate ansi style function synopses. --> <xsl:param name="man.funcsynopsis.style">ansi</xsl:param> </xsl:stylesheet>
通過命令查詢檔案 docbook.xsl,在本機中也沒有發現,因此基本可以確定是找不到這個檔案所致:
[[email protected] mosquitto-1.2]# find / -name docbook.xsl
解決辦法:
1.安裝docbook-style-xsl
使用命令:yum -y install docbook-style-xsl
2.檢視檔案docbook.xsl被安裝到了哪裡:
例如:
[[email protected] tools]# find / -name docbook.xsl
/usr/share/sgml/docbook/xsl-stylesheets-1.78.1/epub/docbook.xsl
/usr/share/sgml/docbook/xsl-stylesheets-1.78.1/fo/docbook.xsl
/usr/share/sgml/docbook/xsl-stylesheets-1.78.1/html/docbook.xsl
/usr/share/sgml/docbook/xsl-stylesheets-1.78.1/manpages/docbook.xsl
/usr/share/sgml/docbook/xsl-stylesheets-1.78.1/xhtml/docbook.xsl
/usr/share/sgml/docbook/xsl-stylesheets-1.78.1/xhtml-1_1/docbook.xsl
3.搜尋到之後,將上面紅字中的地址修改到檔案manpage.xsl裡的對應位置;
4.再重新編譯mosquitto,問題已經解決!
問題二:執行mosquitto客戶端程式時出現找不到動態庫:libmosquitto.so.1
./mosquitto_sub: error while loading shared libraries: libmosquitto.so.1: cannot open shared object file: No such file or directory
解決辦法:
編譯完mosquitto之後,進入到lib目錄下,將編譯之後的libmosquitto.so.1 拷貝到目錄/usr/local/lib下,執行如下命令:
cp libmosquitto.so.1 /usr/local/lib
然後再執行:
執行命令:
sudo ln -s /usr/local/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1
和
ldconfig
即可
問題三: Invalid user 'mosquitto'.
[[email protected] src]# ./mosquitto
1437558553: Error: Invalid user 'mosquitto'.
兩種解決辦法:
(1)修改配置檔案:mosquitto.conf ,增加登入的使用者,例如當前登入使用者為root
(1)執行命令增加當前使用者:
adduser mosquitto
如下圖:
問題四:
在修改mosquitto原始碼之後,換到centos環境下重新編譯時可能會出現下面的問題:
mosquitto.c:271:2: 錯誤:缺少結尾的 " 字元
snprintf(buf, 1024, "%s", CHANGESET);
^
mosquitto.c:271:37: 錯誤:expected expression before ‘)’ token
snprintf(buf, 1024, "%s", CHANGESET);
^
該問題的原因是檔案:changeset的格式不對,可在centos環境下,按照如下方式修改此檔案的格式:
使用vi開啟此檔案,然後使用:
:set ff=unix
重新設定一下此檔案的格式,然後儲存退出即可
問題五:xsltproc: Command not found
mosquitto編譯的時候出現問題:xsltproc: Command not found
如下圖所示:
解決辦法:安裝libxslt
yum -y install libxslt
問題六:
./mosquitto_internal.h:40:20: error: ares.h: No such file or directory
解決辦法:
- 方法1關掉:則要到configure.mk檔案中,把配置項WITH_SRV關掉,再編譯就行了如下:
WITH_SRV=no
- 方法2啟用:
cd <SRC> # i.e. your source code homewget http://c-ares.haxx.se/download/c-ares-1.10.0.tar.gztar xvf c-ares-1.10.0.tar.gzcd c-ares-1.10.0./configuremakesudo make install
相關推薦
SQLyog遠端連線mysql時出現1130的解決辦法
SQLyog遠端連線mysql時出現1130的解決辦法 在遠端主機上執行:msyql -u roo -p :(password) 進入mysql: use mysql 一般會出現:You must reset your password using ALTER USER statement
struts2下載檔案點選取消時出現異常的解決辦法
前言 Struts2的檔案下載Action與普通的Action並沒有什麼太大的不同,僅僅是該Action需要提供一個返回InputStream流的方法,該輸入流代表了被下載檔案的入口,同時在配置檔案中配置Action的result型別為stream。 檔
(javascript)Vue啟動時常見錯誤及其解決辦法
(vue.js)vue npm run dev 執行錯誤(1/2) 錯誤一: ERROR F
python用open()函式開啟.py等文件時出現編碼錯誤解決辦法
UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 94: illegal multibyte sequence 出現
pdf2swf轉換ppt時出現錯誤的解決辦法
1)執行命令列 Process p = Runtime.getRuntime().exec("pdf2swf "+dir + fileName+" -o "+ dir + ret+" -T 9 -f -q -s poly2bitmap"); 注意紅色字型地方,轉換pp
國產手機安裝Google服務框架後出現“無法登入 與google伺服器通訊時出現問題”的解決辦法
由於大家都懂的“國情”因素,國內對於國外的網路訪問也是處於封鎖狀態,作為一個開發者,如果沒有學會烹飪“佛跳牆”,那麼他的程式人生是不完美的。 言歸正傳,國產手機都會把Android手機做一次節育,但是對於需要做國外Google相關服務的時候,就焦頭爛額了(沒錯,
ArcGIS Engine 修改 PageLayout 中地圖比例尺時出現的Bug解決辦法
原文地址:https://gis.stackexchange.com/questions/9943/mapscale-not-being-persisted-properly-in-mxd-when-programmatically-changed-outsi?answert
關於Android中Dialog show跟dismiss時出現crash的解決辦法
最近在做專案的時候,越來越多的開發者反饋SDK Dialog的show以及dismiss導致程式crash,出現的問題是傳遞進來的Activity被finish或者重建(橫豎屏切換)了。下面分別對這兩種情況說明以及解決辦法。 在Dialog.show時出現c
MYSQL數據庫導入數據時出現亂碼的解決辦法
col 註意 ref das 同名 直接 對話 對話框 粘貼 首先在mysql的操作工具中新建同名數據庫,編碼utf-8新建數據庫時一定要註意生成原數據庫相同的編碼形式, ◆方法一: 通過修改mysql安裝文件中my.ini中參數 –default-chara
mosquitto 使用時出現的一些問題及其解決辦法
問題一:問題描述: 在centos7上編譯mosquitto原始碼時,出現以下問題: make[1]: 進入目錄“/home/jason/mosquitto-1.2/man” xsltproc mosquitto.8.xml warning: failed to lo
jquery ajax 請求中多出現一次OPTIONS請求及其解決辦法
安全 htm 及其 就是 跨域請求 ons 什麽 get ati http://www.tangshuang.net/2271.html 在上一篇《服務端php解決jquery ajax跨域請求restful api問題及實踐》中,我簡單介紹了如何通過服務端解決jquer
關於導出Excel出現異常的解決辦法。:System.UnauthorizedAccessException: 檢索 COM 類工廠中 CLSID 為 {000209FF-0000-0000-C000-000000000046} 的組件時失敗
size 本地 ESS spa 電腦 步驟 我的電腦 service 交互式 異常信息為:System.UnauthorizedAccessException: 檢索 COM 類工廠中 CLSID 為 {000209FF-0000-0000-C000-00000000004
vue專案出現空格警告的原因及其解決辦法
原因: 因為你的Webpack 配置中大概是使用了 eslint-loader,這是用來規範程式碼風格的,在多人協作或大專案中推薦使用,不想要則可以在 webpack.config.js 中去掉。eslint是語法檢查工具,但限制太過於嚴格,作為開發人員,大部分人還是無法適應這
當在DOS下視窗下顯示Mysql資料庫資訊時,中文內容出現亂碼的解決辦法
出現亂碼的原因:在DOS視窗預設字符集為GBK格式,如果當前Mysql設定的預設編碼格式為非GBK(比如資料庫設定為UTF8),則可能就出現中文亂碼現象,因此在輸出資訊之前,須執行以下語句: SET NAMES gbk 該語句相當於是執行了以下三條語句: SET chara
初學vue出現空格警告的原因及其解決辦法
初學vue自己新建一個vue專案來做學習demo。不過在編寫程式碼時一直出現空格不規範的警告。嚴重影響初學者的熱情。錯誤如下圖所示。(這樣的錯誤很多,但大概翻譯成中文的意思都是說空格使用不規範。)這是因為你使用 ESLint,用來規範程式碼風格的。你的 Webpack 配置中
ArcGIS API for Flex製作程式釋出後出現錯誤:"訪問 URL 時遇到安全性錯誤" 解決辦法嘗試(學習筆記)
問題: 前不久利用ArcGIS API for Flex做了一個程式,在Flash Builder中執行時能夠正常顯示地圖,並不報出錯誤,然後利用IIS釋出後進行瀏覽就出現錯誤[RPC Fault faultString="訪問 URL 時遇到安全性錯誤" faultCo
maven聚合專案專案間依賴時,出現錯誤的解決辦法
純手打,轉載請附上本文網址!!! 例如自己的專案taotao maven聚合專案專案間依賴時 打包時候要先在聚合工程裡面(從外向裡)整體install,再到子工程裡install mvn clean install 一定要從頂層project向裡,否則會出現錯誤 [INF
SQL Server2008建立使用者時,出現錯誤,解決辦法
在Windows2003或更高版本中.SQL Server2008可以使用Windows的密碼策略..新密碼必須符合以下原則密碼不得包含全部或部分使用者賬戶名.密碼長度至少為8個字元.密碼包含大寫字母,小寫字母,數字,非字母數字.最長為128個字元可以通過如下設定..執行-
安裝Photoshop時提示安裝過程中出現錯誤的解決辦法
應該是C盤中殘留之前版本的Photoshop檔案,導致當前版本安裝不了。 使用工具Search Everything搜尋,把C盤中所有Photoshop的檔案資料夾都刪除,然後就可以了。 同理,Ado
搭建AD域環境時 出現錯誤:未能為域xx.xx.xx建立GPO 出現擴充套件錯誤 解決辦法
今天在Window Server 2003 SP2 企業版 搭建Active Directory (活動目錄 )時,建立到一半,就報錯, 錯誤資訊如下: 由於以下原因,操作失敗: 未能為域 oayaling.oa.cn 建立GPO。 “出現了擴充套件錯誤。” 從安裝D