Difference between revisions of "Mosquitto from Source"
Jump to navigation
Jump to search
Line 51: | Line 51: | ||
* <code>sudo make install</code> | * <code>sudo make install</code> | ||
== '''<span style="color: rgb(132, 63, 161);">Enable it as a systemd service:</span>''' == | |||
* <code>sudo cp service/systemd/mosquitto.service.simple /etc/systemd/system/mosquitto.service</code> | |||
* <code>sudo vi /etc/systemd/system/mosquitto.service</code> | |||
Fix the location in line 8. | |||
The install step on Debian puts the executable in '''/usr/local/sbin''' not '''/usr/sbin''' | |||
* <code>sudo systemctl daemon-reload</code> | |||
* <code>sudo systemctl restart mosquitto.service</code> | |||
= '''<span style="color: rgb(186, 55, 42); text-decoration: underline;">To be done:</span>'''= | = '''<span style="color: rgb(186, 55, 42); text-decoration: underline;">To be done:</span>'''= | ||
Revision as of 18:39, 2 March 2024
The required tools:
apt install git build-essential autoconf cmake
Get the source:
git clone https://github.com/eclipse/mosquitto.git
The prerequisites:
apt install libc-ares-dev libwebsockets-dev libssl-dev xsltproc docbook-xsl libsystemd-dev libwrap0-dev openssl
- # cJSON
git clone https://github.com/DaveGamble/cJSON
cd cJSON
mkdir build
cd build
cmake ..
make
sudo make install
cd ../..
- # uthash / utlist
git clone https://github.com/troydhanson/uthash
cp uthash/src/* mosquitto/include
- # For testing
apt install python3-psutil
git clone https://gitlab.com/cunity/cunit.git
cd cunit
mkdir local-build
cd local-build
cmake ..
cmake --build .
sudo make install
cd ../..
Build it:
cd mosquitto
make
Test it:
make test
or
make check
Note: There are a fairly large number of tests that bring this to a grinding halt unless you comment them out. MUCH more research is needed...
24/1474 tests fail...
18 of those make the test procedure halt...
Install it:
sudo make install
Enable it as a systemd service:
sudo cp service/systemd/mosquitto.service.simple /etc/systemd/system/mosquitto.service
sudo vi /etc/systemd/system/mosquitto.service
Fix the location in line 8.
The install step on Debian puts the executable in /usr/local/sbin not /usr/sbin
sudo systemctl daemon-reload
sudo systemctl restart mosquitto.service