z/OS Tools & Language

Expand all | Collapse all

Make 4.1 not working

  • 1.  Make 4.1 not working

    Posted 03-30-2017 12:02

    Having installed
    Tool: make
    Version: 4.1
    Build Number: 0002

    now running make I get rubbish characters



    Actually the output is ascii and when translated is:
    make: *** No targets specified and no makefile found. Stop.

    So it looks to me that make 4.1 is unusable. Or did I miss anything?


  • 2.  RE: Make 4.1 not working

    Posted 03-30-2017 13:22

    How are you accessing USS?

    I was unable to reproduce this when logging in via either telnet or SSH. I could reproduce it when logging into TSO and then using omvs to access the shell.

    The problem can be corrected by setting _BPXK_AUTOCVT=ON

  • 3.  RE: Make 4.1 not working

    Posted 03-30-2017 13:27

    I log in via ssh and it happens. Doesn’t matter if _BPXK_AUTOCVT=ON is set or not.

  • 4.  RE: Make 4.1 not working

    Posted 03-30-2017 13:30

    I should add that in the same session invoking make 4.0 works ok.

  • 5.  RE: Make 4.1 not working

    Posted 03-30-2017 13:55

    Are you using PuTTY to log in via ssh or some other tool? I am using PuTTY (from Windows) to log in via both SSH and telnet, and don’t see the problem. What shell are you using?

    Also, what does your environment look like? Can you run:

    env | sort

    and provide the output?

    4.1 was ported using enhanced ASCII support, so it’s not too surprising that 4.0 and 4.1 would exhibit different behavior, but both 4.0 and 4.1 are working OK for me.

  • 6.  RE: Make 4.1 not working

    Posted 03-30-2017 14:23

    I 'm using OpenSSH in Fedora Linux to log into z/OS UNIX.

  • 7.  RE: Make 4.1 not working

    Posted 03-30-2017 14:26

    I tried to minimize the environment by deleting the ~/.profile. So, only /etc/profile will be sourced.

    SSH_CLIENT= 41690 22
    SSH_CONNECTION= 41690 22

  • 8.  RE: Make 4.1 not working

    Posted 03-30-2017 15:25

    I tried using openssh from Linux as well; still works.

    The one potentially significant difference in our environments is that I have this set:


    Further, I cannot unset it. See: https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.2.0/com.ibm.zos.v2r2.cbcpx01/cbc1p2351.htm

    To quote that, in part:

    The _CEE_RUNOPTS environment variable has a unique behavior. It can be unset, or modified, but will be re-created or added to across an exec to effect the propagation of invocation Language Environment runtime options. This behavior is designed specifically to allow runtime options such as TRACE to take effect for parts of an application which are not invoked directly by the user. Without this behavior, the external TRACE option could not be propagated to parts of an application that are executed using one of the exec family of functions.

    I think this is because I have my login shell set to bash 2.03, rather than /bin/sh.

    So, can you try:

    • exporting that variable: export _CEE_RUNOPTS="POS(ON) FILET(AUTOCVT,AUTOTAG)", and then trying make 4.1
    • invoking bash after you log in, and then trying make 4.1

    – Jerry

  • 9.  RE: Make 4.1 not working

    Posted 03-30-2017 15:48


    1. Exporting _CEE_RUNOPTS=“POS(ON) FILET(AUTOCVT,AUTOTAG)” didn’t help. Still ascii garbage when calling make 4.1
    2. invoking bash 4.2.53, then exporting _CEE_RUNOPTS=“POS(ON) FILET(AUTOCVT,AUTOTAG)” and make 4.1 works ok.

    Please note, that also bash 4.3.46 isn’t usable as it requires to tag each ebcdic file it sources as such.


  • 10.  RE: Make 4.1 not working

    Posted 03-30-2017 15:52

    Things are really weird

    1. I log into z/OS Unix having /bin/sh as shell. No CEERUNOPTS setting.
      make 4.1 yields garbage
    2. Now invoking bash 4.2.53, and exporting CEERUNOPTS. No garbage with make 4.1
    3. Then leaving bash (Ctri-d) and being back into /bin/sh. make 4.1 still works ok.


    – Manfred

  • 11.  RE: Make 4.1 not working

    Posted 03-30-2017 16:10

    When you log in via SSH, one of the environment variables that gets set is SSH_TTY. Just for grins, can you:

    • log in
    • run ls -lT $SSH_TTY
    • invoke bash (4.2.53, or 2.03, I don’t think it matters)
    • run ls -lT $SSH_TTY
    • try make 4.1. Do you get garbage?
    • run ls -lT $SSH_TTY
    • export _CEE_RUNOPTS
    • try make 4.1
    • run ls -lT $SSH_TTY
    • exit bash (returning to your original login shell)
    • run ls -lT $SSH_TTY

    I am speculating (handwave, handwave…) that make 4.1 is setting a file tag on the pseudo-tty that persists after it exits.

    This is a very weird problem. It may make more sense for us to work on this together with a screen share session. I can’t do that today, but we could try it tomorrow. PM me if you want to try that.

    – Jerry

  • 12.  RE: Make 4.1 not working

    Posted 03-31-2017 08:59

    Updating with a portion of a note from Manfred:

    Hi Jerry,
    Your assumption was correct: make 4.1 tags the$SSH_TTY file as ascii:
    t ISO8859-1 T=on crw–w---- 1 DEMNT15 TTY 2, 0 Mar 31 12:27 /dev/ttyp0000

  • 13.  RE: Make 4.1 not working

    Posted 03-31-2017 09:50

    Just to let you know: When doing relogon the $SSH_TTY file is no longer tagged.

  • 14.  RE: Make 4.1 not working

    Posted 03-31-2017 10:01

    Did you get the same ptty or a different one?

    – Jerry

  • 15.  RE: Make 4.1 not working

    Posted 03-31-2017 10:36

    The same one, and then untagged when logged in again.

    – Manfred