[zeromq-dev] OpenVMS port

Martin Sustrik sustrik at fastmq.com
Thu Feb 12 12:09:39 CET 2009

Hi all,

I'm moving the discussion on ongoing porting of 0MQ to OpenVMS to the 
mailing list in case people would like to join in.

At the moment the code can be compiled (we'll merge the tweaks into the 
mainline shortly) although only by hand (there's no GNU autotools port 
for OpenVMS):

$ define/job zmq DISK$ODS5DISK:[HINTJENS.zmq-05.libzmq.zmq]
$ set verify
$ cxx/define=__USE_STD_IOSTREAM/names=(as_is,shortened) tcp_socket.cpp
$ cxx/define=__USE_STD_IOSTREAM/names=(as_is,shortened) ysocketpair.cpp
$ cxx/define=__USE_STD_IOSTREAM/names=(as_is,shortened) amqp_decoder.cpp
$ cxx/define=__USE_STD_IOSTREAM/names=(as_is,shortened) amqp_marshaller.cpp
$ cxx/define=__USE_STD_IOSTREAM/names=(as_is,shortened) 
$ lib/create libzmq.olb
$ lib/repl/log libzmq.olb *.obj;
$ purge/log

Brett Cameron comments:

Given more time I would probably put together a command procedure to do 
the equivalent of GNU autotools (such things aren't available on 
OpenVMS), the end product of which would be the OpenVMS equivalent of a 
Makefile (well, multiple makefiles I guess) that one could then use to 
do the build. HP provides a product called mms which approximates make, 
and there is a piece of free software called mmk which does pretty much 
the same thing. I would suggest that mmk would be the way to go, as it 
is freely available, although that being said, most of the OpenVMS 
customers that would be interested in 0MQ would most likely have mms.

Pavol Malosek comments:

I would go with some kind of scrips for building libzmq on OpenVMS. We
will provide platform.hpp file which will be necessary to copy (can be
done by the script) into libzmq/zmq directory and make apropriate
ZMQ_HAVE_OPENVMS changes in sources.
In the case that cxx and link work on every VMS system this would be the
easiest solution to maintain for non VMS people (like we are:).

One more comment from my side:

We should give a though to which components of the system will be 
supported on OpenVMS platform. My guess is:

- AMQP support
- chat example
- exchange example (actually, there are stock exchanges running on 
OpenVMS, so this may be interesting)
- C language binding

As for other features, AFAIK there's no support for PGM reliable 
multicast in OpenVMS. I'm not sure about support for SCTP. Possibly some 
proprietary implementation? Anyway, it's not a priority.

Videoconferencing example is Linux-only, no chance of running it on OpenVMS.

As for the language bindings, .NET is Win32-only. There are Java & 
Python ports for OpenVMS, so we can consider having the bindings for 
these two languages. However, as building it won't be a trivial task I 
would postpone it until there's an actual interest in the feature.


More information about the zeromq-dev mailing list