Mosquitto/Paho

Project update
a few months ago, I got new PCSI-files for Mosquitto and Paho-C, to update the environment. Copied the old examples since the new code-set requires another project to be installed and I haven’t done so yet. But building the samples doen’t work as expected, since there has been a change in the object library:

$ link/threads paho_c_pub.obj,paho$root:[lib]libmqttv3c.olb/lib
%LINK-W-NUDFSYMS, 6 undefined symbols:
%LINK-I-UDFSYM, MQTTAsync_connect
%LINK-I-UDFSYM, MQTTAsync_createWithOptions
%LINK-I-UDFSYM, MQTTAsync_destroy
%LINK-I-UDFSYM, MQTTAsync_disconnect
%LINK-I-UDFSYM, MQTTAsync_send
%LINK-I-UDFSYM, MQTTAsync_setCallbacks
%LINK-W-USEUNDEF, undefined symbol MQTTAsync_connect referenced
in psect $LINK$ offset %X00000060
in module paho_c_pub file PAHO$ROOT:[000000.examples]paho_c_pub.OBJ;2
%LINK-W-USEUNDEF, undefined symbol MQTTAsync_send referenced
in psect $LINK$ offset %X000001C0
in module paho_c_pub file PAHO$ROOT:[000000.examples]paho_c_pub.OBJ;2
%LINK-W-USEUNDEF, undefined symbol MQTTAsync_disconnect referenced
in psect $LINK$ offset %X000001E0
in module paho_c_pub file PAHO$ROOT:[000000.examples]paho_c_pub.OBJ;2
%LINK-W-USEUNDEF, undefined symbol MQTTAsync_destroy referenced
in psect $LINK$ offset %X000001F0
in module paho_c_pub file PAHO$ROOT:[000000.examples]paho_c_pub.OBJ;2
%LINK-W-USEUNDEF, undefined symbol MQTTAsync_setCallbacks referenced
in psect $LINK$ offset %X00000250
in module paho_c_pub file PAHO$ROOT:[000000.examples]paho_c_pub.OBJ;2
%LINK-W-USEUNDEF, undefined symbol MQTTAsync_createWithOptions referenced
in psect $LINK$ offset %X000002C0
in module paho_c_pub file PAHO$ROOT:[000000.examples]paho_c_pub.OBJ;2


That is: on most on them. Some were fine.

It turned out that where the older version had one object library, the new one has four:
$ dir .olb

Directory PAHO$ROOT:[lib]

libmqttv3a.olb;1 libmqttv3as.olb;1 libmqttv3c.olb;1 libmqttv3cs.olb;1

Total of 4 files.
$ lib/list libmqttv3a.olb, libmqttv3as.olb
%DCL-W-NOLIST, list of parameter values not allowed - check use of comma (,)
\LIBMQTTV3A.OLB,LIBMQTTV3AS\
$ lib/list libmqttv3a.olb
Directory of ALPHA OBJECT library PAHO$ROOT:[lib]libmqttv3a.olb;1 on 5-AUG-2018 20:23:23
Creation date: 29-MAR-2018 03:33:21 Creator: Librarian A09-32
Revision date: 29-MAR-2018 03:33:21 Library format: 3.0
Number of modules: 18 Max. key length: 128
Other entries: 251 Preallocated index blocks: 213
Recoverable deleted blocks: 0 Total index blocks used: 24
Max. Number history records: 20 Library history records: 1

Clients
Heap
LinkedList
Log
MQTTAsync
MQTTPacket
MQTTPacketOut
MQTTPersistence
MQTTPersistenceDefault
MQTTProtocolClient
MQTTProtocolOut
Messages
Socket
SocketBuffer
StackTrace
Thread
Tree
utf-8
$ lib/list libmqttv3as.olb
Directory of ALPHA OBJECT library PAHO$ROOT:[lib]libmqttv3as.olb;1 on 5-AUG-2018 20:23:28
Creation date: 29-MAR-2018 03:35:05 Creator: Librarian A09-32
Revision date: 29-MAR-2018 03:35:05 Library format: 3.0
Number of modules: 19 Max. key length: 128
Other entries: 277 Preallocated index blocks: 213
Recoverable deleted blocks: 0 Total index blocks used: 27
Max. Number history records: 20 Library history records: 1

Clients
Heap
LinkedList
Log
MQTTAsync
MQTTPacket
MQTTPacketOut
MQTTPersistence
MQTTPersistenceDefault
MQTTProtocolClient
MQTTProtocolOut
Messages
SSLSocket
Socket
SocketBuffer
StackTrace
Thread
Tree
utf-8
$ lib/list libmqttv3c.olb
Directory of ALPHA OBJECT library PAHO$ROOT:[lib]libmqttv3c.olb;1 on 5-AUG-2018 20:23:49
Creation date: 29-MAR-2018 03:32:52 Creator: Librarian A09-32
Revision date: 29-MAR-2018 03:32:52 Library format: 3.0
Number of modules: 18 Max. key length: 128
Other entries: 245 Preallocated index blocks: 213
Recoverable deleted blocks: 0 Total index blocks used: 25
Max. Number history records: 20 Library history records: 1

Clients
Heap
LinkedList
Log
MQTTClient
MQTTPacket
MQTTPacketOut
MQTTPersistence
MQTTPersistenceDefault
MQTTProtocolClient
MQTTProtocolOut
Messages
Socket
SocketBuffer
StackTrace
Thread
Tree
utf-8
$ lib/list libmqttv3cs.olb
Directory of ALPHA OBJECT library PAHO$ROOT:[lib]libmqttv3cs.olb;1 on 5-AUG-2018 20:23:53
Creation date: 29-MAR-2018 03:34:12 Creator: Librarian A09-32
Revision date: 29-MAR-2018 03:34:12 Library format: 3.0
Number of modules: 19 Max. key length: 128
Other entries: 271 Preallocated index blocks: 213
Recoverable deleted blocks: 0 Total index blocks used: 29
Max. Number history records: 20 Library history records: 1

Clients
Heap
LinkedList
Log
MQTTClient
MQTTPacket
MQTTPacketOut
MQTTPersistence
MQTTPersistenceDefault
MQTTProtocolClient
MQTTProtocolOut
Messages
SSLSocket
Socket
SocketBuffer
StackTrace
Thread
Tree
utf-8
$

So I need to find out which library is to be used. But I won’t get any further without changing code, or install RabbitMQ (which holds MQTT as well). I may have to consult Brett for advise.

On the other hand: the image in the Mosquitto package works fine, as well as the sample executables that come with the paho package. (the server is started with OpenVMS, via systartup_vms.com. But that was already set up when the original PCSI-files wore run to install them)

Published by

SYSMGR

SYSMGR - or System Manager. On VMS, this is what a System Adminsitrator is on Unix and Windows - and a bit more. A VMS user, developer and system manager for years, alsmost as long as I'm in IT.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.