Page 1 of 1

Can I use this system to try to compile InfoZip?

PostPosted: Sun 04 May 2014, 06:44
by tbrennan
I found a really old (1999) version of InfoZip's ZIP and UNZIP commands for MVS pre-compiled in XMIT format, but from an untrusted source. I see the Dezhi system has a C compiler installed. I'm wondering if it would be ok if I were to load the source code for those programs from info-zip.org (latest source updates are from around 2009) and attempt to compile them - and if that works, make a new XMIT package. This doesn't require system resources other than the C compiler - and some CPU time. I think I can do this all under my TSO id (no system datasets needed, no APF auth). It may take multiple attempts depending on the condition of the source code and my abilities.

Re: Can I use this system to try to compile InfoZip?

PostPosted: Sun 04 May 2014, 07:12
by prino
Tom,

That's exactly one of the purposes for which FanDeZhi is set up, and Ze'ev Atlas used it for to port PCRE to z/OS.

The C compiler is in the CEE.* datasets, and there may even be a newer one in C.* datasets. CPU time on FanDeZhi is free, so whether you need to compile it one time, or 42 times, you can do so.

Re: Can I use this system to try to compile InfoZip?

PostPosted: Sun 04 May 2014, 22:27
by tbrennan
Thanks! I spent some hours on it today with fairly good results so far. I'm going to guess that nobody has tried to compile this code on MVS for about a decade, or if they did, Google can't find their notes and updates. The original source needed some minor changes, and the JCL needed some mods too. But the resulting programs under my id seem to work fine with my simple tests so far. One test showed the zip EBCDIC-ASCII conversion (something really important) didn't work at all and that surprised me. Looks like some code changes added in 2004 caused that bug, so I coded a workaround that effectively disables the new code. That by itself gives me a good clue that nobody has re-compiled this source for MVS in at least 10 years (unless they updated their own copy of the source and did not notify the Info-Zip folks).

So I'll test some more and make any more mods as needed, then I'll see if I can make a blog page or something that Google can find to show my notes to the next poor soul, and also try to contact the Info-Zip folks about changes needed for MVS.

By the way, Info-Zip touts itself as one of the most platform-independent programs out there, and if you look at the C code you can see why. It's simply covered with conditional compile statements (#ifdef, etc.) for various platforms. So I can totally understand how a change to one platform might be tested successfully, and still cause an error on another platform that is not compiled or tested as often.