I’m a long-time z/OS sysprog, a fairly decent knowledge of Linux & USS (with shell scripting and Perl etc) but new to compiling open-source products from their source.
I’d like to get the open source product Graphviz (www.graphviz.org) running under USS just so I can use it’s command-line facilities.
Does anyone have any advice about how to start and would the Rocket tools Autoconf and Automake help?
Hi, Steve. I suspect that you will find starting from automake/autoconf to be a difficult and frustrating process, but it’s worth a shot.
If you have access to a Linux system (either x86 or Linux on z), a somewhat easier, but much more ad hoc, approach might be something like this:
We (Rocket) are working on getting the whole automake/autoconf/libtool chain working more reliably, but it’s not entirely there yet.
Sorry for ignoring this for so long. Thanks for taking the time to write this - I’m going to try and build this on my Mac (would that be OK?) and see how I get on.
As I’ve never built anything on Linux (but I’m familiar with the compile/link concepts from plenty of experience on z/OS) what sort of hacking might be required?
Have you found any open source tools that simply cannot be compiled to run under USS?
It’s not so much that things can’t be compiled; rather, it’s difficult to get to the point of even starting the build. The xlc compiler’s command line processing and options are very different from the more common gcc/clang. There is not full support for C++11 (though there aren’t THAT many tools that require C++), and of course the ASCII/EBCDIC issue hangs over everything.
Much of what we do at Rocket isn’t just getting code to compile, but getting it to work well in the context of z/OS.
I hope (famous last words!) that this tool will play nicely under USS as it just has a command-line interface with an input file and an output file, so the compile might be the sticking point.
I downloaded the Graphviz tarball, uploaded it to USS and unzipped it (using your tool) and un-TAR’d it and ran the CONFIGURE scrit. That failed due (I think) to the x’05’ ‘tab’ characters which I edited and changed to x’09’. It failed again with
./configure 227: FSUM7332 syntax error: got Word, expecting )
I’d really like to get this working - especially to help raise the profile of the mainframe within my company and to show what it’s capable of - if you could help me get this working I’ll donate $50 to a charity of Rocket’s choice (this is not a joke!)
chtag -r -tc819 .
I think I managed this with ‘chtag -R -tc819 .’ and ‘set _BPXK_AUTOCVT=ON’ which improved things slightly - I now get
./configure: line 1: unexpected EOF while looking for matching `]’
./configure: line 2: syntax error: unexpected end of file
when running the ‘configure’ script
Long story short but setting up various environmental variables and I’ve got ‘configure’ to run but it stops now with:
configure: error: C++ preprocessor “/lib/cpp” fails sanity check
I’ve attached the ‘config.log’ as a word doc (txt files not allowed?)
I don’t seem to have a ‘cpp’ program on my system except in /usr/lpp/Jave/J7… which is the IBM Java package.
config.log.docx (62.6 KB)
OK - managed to get ‘configure’ to complete (but have not checked config.log for errors’. Couldn’t run ‘make’ until I found that in a samplib directory somewhere and copied it to my path.
However - running the ‘make’ command just results in the following errors:
MCZ:/software/Graphviz/graphviz-2.40.1$ /software/Graphviz/graphviz-2.40.1: make
make: Makefile: line 914: Warning – FSUM9433 Duplicate entry [AUTHORS] in prerequisite list
make: Makefile: line 914: Warning – FSUM9433 Duplicate entry [COPYING] in prerequisite list
make: Makefile: line 914: Warning – FSUM9433 Duplicate entry [ChangeLog] in prerequisite list
make: Makefile: line 914: Warning – FSUM9433 Duplicate entry [NEWS] in prerequisite list
make: Makefile: line 914: Warning – FSUM9433 Duplicate entry [config/depcomp] in prerequisite list
make: Makefile: line 914: Warning – FSUM9433 Duplicate entry [config/config.rpath] in prerequisite list
make: Makefile: line 1238: Error – FSUM8232 Expecting macro or rule defn, found neither
Anyone there interested in following my steps to get configure to run and then seeing if they can find out what’s wrong with the ‘make’ process?
It’s possible that graphviz presumes GNU make, which has features not present in /bin/make on z/OS. There’s a Rocket port available.
Thanks Jerry - I’ll try and give the Rocket ‘Make’ a go. Bit new to all this - why can’t the open source world use SMP/E??
We are planning to use SMP/E since 2020