[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