[Info-vax] What would you miss if DECnet got the chop? Was: "bad select 38" (OpenSSL on VMS)

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Tue Sep 20 13:17:20 EDT 2016


On 2016-09-20 16:11:12 +0000, Chris said:

> On 09/20/16 13:26, John E. Malmberg wrote:
> 
>> rsync as last I looked at the source needs one of:
>> 
>> A. A working fork for straight port.
> 
> That sounds like the hard bit, the rest being not too difficult 
> perhaps. If VMS has TCP/IP, one assumes that it has a socket library 
> already ?

fork() is not available on OpenVMS, and has little direct relationship 
to the socket API.   Code that uses fork() can range from fairly easy 
to port, to basically impossible.   The stuff that's easy to port 
doesn't really use fork(), so it can be replaced with some combination 
of the vfork() and exec() calls.


>> B. A C Compiler that support a thread local storage qualifier, which 
>> would allow a pass with an editor to do most of the work to convert it 
>> to threads.
> 
> The first question being, is there a fairly up to date gcc and 
> associated tools for VMS ?.

I'd tend to expect that approach would add as many complications as 
it'll remove.   While there are gcc ports around, gcc is gcc and 
self-contained not really tied into any of the underlying interfaces 
and tools on the target platform, and OpenVMS is rather more different 
from most GNU/Linux boxes.   Off-hand, I don't know if gcc is tied into 
the OpenVMS debugger, into the threading libraries, or other pieces of 
the environment, for instance.

>> C. A major bit of work to identify which static variables are used for 
>> sending, and which for receiving and then put them in a thread context 
>> variable.
>> 
>> I got pretty far with step C before I needed to move on to other things.
>> 
>> I have a proof of concept port which in spite of both threads sharing 
>> static variables with out coordination actually works about 95% of the 
>> time.
> 
> You must have put a lot of work into that and probably noone knew about 
> it :-). If VSI haven't the time right now to do this, why not an open 
> source collaboration group for VMS, organised and run by the users, 
> perhaps with input and help from VSI ?.

There are monthly discussions that John has been a frequent if not 
regular participant, and those discussions have included folks from HPE 
in past years, and have picked up some folks from VSI.

Or should I rephrase that reply to assume you have asked "What sorts of 
OpenVMS open source discussions are happening?"   If you're interested 
in that, then search for some of the postings here from Bill Pedersen 
here, as he's the fellow that's been coordinating that.   The last 
posting here was from a week or so ago, and details and a recording 
from a recent call are available at:

<https://sourceforge.net/p/vms-ports/discussion/call_topics/>
<http://ccsscorp.com/osoovms_audio/2016-08-18%20Open%20Source%20On%20OpenVMS%20Conference%20Call.mp3> 


I'd be surprised if rsync wasn't discussed in some of the calls over 
the past few years, as it's not at all foreign to folks, but not yet 
available on OpenVMS.

You'll likely also find some discussions of porting apps to OpenVMS 
over at the PORTING_TO_VMS notes conference, at the decuserve server.   
telnet to decuserve.org and follow the proverbial bouncing ball to get 
yourself a login over there.   Or ssh registrations at decuserve.org if 
you prefer to avoid splattering your network traffic all over the place.

Here's a list of links and resources, if you've not already found it:

<http://labs.hoffmanlabs.com/node/69>

>  I haven't programmed anything on VMS since the mid 1990's, but there 
> must be enough people around with the skills and time to contribute to 
> such a group. As I said, the first project needs to be the abstraction 
> layer, never mind how incomplete it is to start with, but proof of 
> concept and a way forward. Would be much better to put effort into 
> that, rather than ticking off ports one by one.
> Teamwork is the way forward, but it needs someone to build and manage 
> the organisational structure first...

Have a look at <https://sourceforge.net/p/vms-ports/> and related 
resources, and at the monthly calls.    There's also having enough 
folks with enough software and enough tools and enough time.   Open 
source doesn't arise out of a vacuum, after all.    There just aren't 
many folks using OpenVMS in general, much less working on all that much 
open source on OpenVMS.   Open source itself is increasingly funded by 
various vendors, too — Microsoft is now one of the top contributors to 
open source over on github for instance, and Redhat, IBM and others all 
contribute source code and staff and time for open source work.

If you're interested, probably start by getting Python and other tools 
going, as well as getting GNV installed somewhere on an OpenVMS server 
you're using.   Or use the GNV environment on decuserve, and develop 
there.  Why Python?   Python is the path into the common DVCS packages 
on OpenVMS.


-- 
Pure Personal Opinion | HoffmanLabs LLC 




More information about the Info-vax mailing list