- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我曾尝试在 Arch 和 CentOS 7 上编译 Mosquitto,但每次我都会遇到同样的错误。我想测试 Websocket 功能。
这是我在 CentOS 上使用的程序:
yum group install "Development Tools"
yum install cmake openssl-devel cmake
yum install uuid-devel libxslt docbook5-style-xsl.noarch docbook-style-xsl.noarch
git clone https://github.com/warmcat/libwebsockets.git
cd libwebsockets/
mkdir build;cd build
cmake ..
make
make install
git clone https://git.eclipse.org/r/mosquitto/org.eclipse.mosquitto
cd org.eclipse.mosquitto/
git checkout origin/1.4
vi config.mk
Change "WITH_WEBSOCKETS:=yes"
make
这就是它在 Arch 和 CentOS 上消失的地方:
make[1]: Entering directory '/home/install/org.eclipse.mosquitto/src'
cc -Wall -ggdb -O2 -I. -I.. -I../lib -DVERSION="\"1.4\"" -DTIMESTAMP="\"2015-05-04 17:17:55+0200\"" -DWITH_BROKER -DWITH_TLS -DWITH_TLS_PSK -DWITH_UUID -DWITH_BRIDGE -DWITH_PERSISTENCE -DWITH_MEMORY_TRACKING -DWITH_SYS_TREE -DWITH_WEBSOCKETS -DWITH_EC -c mosquitto.c -o mosquitto.o
In file included from /usr/include/unistd.h:25:0,
from mosquitto.c:22:
/usr/include/features.h:148:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
# warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
mosquitto.c: In function ‘main’:
mosquitto.c:275:101: error: expected expression before ‘,’ token
_mosquitto_log_printf(NULL, MOSQ_LOG_INFO, "mosquitto version %s (build date %s) starting", VERSION, TIMESTAMP);
mosquitto.c:290:54: error: expected expression before ‘)’ token
snprintf(buf, 1024, "mosquitto version %s", VERSION);
mosquitto.c:368:88: error: expected expression before ‘)’ token
_mosquitto_log_printf(NULL, MOSQ_LOG_INFO, "mosquitto version %s terminating", VERSION);
Makefile:15: recipe for target 'mosquitto.o' failed
make[1]: *** [mosquitto.o] Error 1
make[1]: Leaving directory '/home/install/org.eclipse.mosquitto/src'
Makefile:21: recipe for target 'mosquitto' failed
make: *** [mosquitto] Error 2
如果有人可以指出我做错了什么或遗漏了什么?
最佳答案
正如@hardillb 所说,版本定义是问题所在。如果我添加行
#define VERSION
到 mosquitto.c,然后我可以重现您看到的错误,但也会收到有关重新定义 VERSION 的警告。
如果我从 config.mk 中删除 VERSION 的定义,则会收到有关 VERSION 未定义的错误。
这两个都有道理。
您似乎正在发生的事情是,编译器忽略了命令行定义 -DVERSION="\"1.4.1\""
并将其替换为 -DVERSION=
,或者没有正确解析字符串。这没有意义。
其他人已经设法在 Arch 上编译,并且 CentOS7 repository有一个二进制版本 - 但没有 websockets。
经过一些调查,最近的 libwebsockets 代码中似乎存在错误。 This changeset引入了一些变化,这意味着 libwebsockets 正在为自己声明宏 VERSION
,这对图书馆来说不是很礼貌。如果您使用已发布的 libwebsockets 版本,编译应该没有任何问题。
关于mqtt - 编译 Mosquitto 1.4 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30033874/
我想在 RPi 上的 docker 中运行 eclipse-mosquitto mqtt 服务器。 我用来运行它的命令是: docker run --name mqtt --restart=alway
我有一个运行多个 Docker 容器的 linux 系统。其中之一是从 mosquitto 1.6.7 docker 镜像运行的 mosquitto 容器。 我无法控制 Mosquitto 容器的创建
我正在尝试使用 TLS 通过 mqtt 进行通信。我的系统中安装了 ubuntu。为了使用 TLS,我使用以下链接创建了证书: http://www.embedded101.com/Blogs/Pao
我已经在我的 ARM 目标板上实现了 mosquitto。 我在Makefile中添加了-DWITH_SRV,因为我需要在我的系统中添加SRV Loopup函数。 但是返回错误 fatal error
我正在为 mosquitto MQTT 代理(版本 1.5)实现一个插件,我正在努力访问我的插件实现中指向 mosquitto 客户端结构的指针的某些元素: #include ... int mos
在mosquitto broker中,有一些写事件日志文件的配置。我正在使用以下配置并运行代理。 log_type all log_dest file /root/Files/mosquitto.lo
我正在使用 mosquitto 作为 MQTT 代理,虽然它提供了广泛的日志记录功能,但我无法找到如何将实际主题的消息记录到文件中(甚至是按主题排序的文件树,甚至数据库)。我看到了 log_desc
我有一个负载均衡器,即 aws elb 所有的 pub/sub 都将通过那个 elb 来 elb 下的两个蚊子经纪人 A 和蚊子经纪人 B 一个 mosquitto 代理在这两个代理之间同步主题(mo
Mosqitto ( http://mosquitto.org/ ) 支持哪些消息队列? 另外我想知道在 MQTT 协议(protocol)中,为每个主题创建不同的消息队列,或者在内存限制的情况下可以
我已经在我的 ubuntu 机器上安装了 mosquitto 服务器和客户端软件包。当我运行命令“mosquitto”来运行 mosquitto 服务器时,我收到错误“错误:地址已在使用中”。为什么我
我正在尝试增加 Mosquitto 代理的最大打开文件连接。但是我读到增加的并发连接不仅仅由 Mosquitto 控制。 根据我们的研究,我们决定 100k 并发连接,我们的目标是 1.6 GB RA
我正在使用 C 语言的 mosquitto 代理和 Paho 客户端库。我希望代理只允许发布一定数量的消息,并阻止任何超过该数量的消息。我尝试将配置中的最大飞行消息选项设置为某个数字,但它不起作用。在
我一直在尝试使用 mosquitto lib 开发 C 代码,通过 TLS 在 mosquitto 代理上发布消息。我在 mosquitto 端配置了 TLS,效果很好。我能够使用 mosquitto
我有一个在 Android 中运行的 MQTT 客户端,以及一个在服务器中运行的 MQTT 代理。我的问题是我们将在哪里使用应用程序,我们有一些连接断开,所以我的网络应用程序需要知道客户端的当前状态。
我在使用 libmosquitto 开发 iOS 应用程序时遇到了一些问题 在我的代码中AppDelegate.swift import UIKit @UIApplicationMain class
我想知道是否有一种方法可以将 Mosquitto 配置为在连接到外部客户端时需要 TLS 和客户端证书,而不需要内部客户端的 TLS 和客户端证书。我应该对 CA(证书颁发机构)或 .conf 文件做
我正在使用 mosquitto 1.4.10。 我有一个客户端,可以批量向同一主题发布多条消息(例如,每批 50 条消息)。客户端将每隔几秒发送一次每个批处理(例如,每 5 秒)。发送一批或几批后,在
我想在更改时重新加载 mosquitto 密码文件。是否可以在 Windows 上发送 SIGHUP(“信号挂断”)或类似的 mosquitto 服务器? 最佳答案 这是可以做到的。首先,您必须设置
我如何制作一个像 mosquitto-auth-plug 这样的插件用于授权,或者一个用于存储消息有效负载或其他用途的插件?我应该用 C 编写还是可以使用 python? 最佳答案 任何用于 mosq
我已经实现了一个不安全的 mosquitto 代理,它可以通过端口 1883 定期发送大量数据(每分钟约 200kb 文件)。 由于我已经实现了 TLS,尽管设置了 message_size_limi
我是一名优秀的程序员,十分优秀!