Python

Python

Python

 View Only
  • 1.  Missing libzz64.so when running Python 3.10

    Posted Tue January 16, 2024 10:15 AM

    Hi all,

    We've seen some unexpected behavior after upgrading a Python 3.10 install to Python 3.11.5 (both done via pax) on our zOS 2.5 system (on a z14). We first noticed the problem when trying to simply run pip from the USS command line, but the install_test.sh script also shows the failure:

    # ./install_test.sh
    + EXPECTED=hello, world!
    + + python3 -c print('hello, world!')
    + 1<TMP> /tmp/shdhaDEfFhA
    OUTPUT=hello, world!
    + [ hello, world! != hello, world! ]
    + python3 -c import os; import numpy; import cryptography
    CEE3501S The module libzz64.so was not found.
             From entry point _PyImport_FindSharedFuncptr at compile unit offset +000000000AEC4750 at entry offset +00000000000000F0 at address 000000000AEC4750.
    #

    I understand that libzz64.so belongs to zlib, but I can't find that specific library anywhere on our system. The closest I get is to a static libzz.a file installed under /usr/lpp/hzc/lib. 

    I currently have a ticket open with IBM support who tells me zlib should have been provided as part of our system install. Our sys progs who built the system haven't been able to track down a specific zlib component that was part of that install. 

    Has anyone seen this error before with Python 3.11 or have any ideas how we might solve it?

    Thanks,

    Tony



    ------------------------------
    Tony Partin
    ------------------------------


  • 2.  RE: Missing libzz64.so when running Python 3.10

    Posted Tue January 16, 2024 11:03 AM

    Hi,

    Those libraries should be coming from /lib, as documented here:  
    https://www.ibm.com/docs/en/zos/2.5.0?topic=compression-running-zlib

    for convenience:
    Path for the zlib archive file:
    /lib/libzz.a

    Path for 31-bit non-xplink dynamic library files:
    /lib/libzz.so
    /lib/libzz.x

    Path for 31-bit xplink dynamic library files:
    /lib/libzzX.so
    /lib/libzzX.x

    Path for 64-bit dynamic library files:
    /lib/libzz64.so
    /lib/libzz64.x

    Path for the zlib header files:
    /usr/include/



    ------------------------------
    Steven Pitman
    ------------------------------



  • 3.  RE: Missing libzz64.so when running Python 3.10

    Posted Tue January 16, 2024 04:17 PM

    Thanks for the reply, Steven.

    It seems those were missed when our systems were set up. 

    I got a reply on the support ticket I opened that suggested PTF UJ09020 (since superseded by UJ92275). It looks like those will provide us with the missing libraries -- assuming there aren't other dependencies on the PTF we're missing. Once we're able to get that installed, I think it will resolve this issue.

    BTW, for anyone who may have run into the same zlib issue - the description in the title is wrong. It is actually Python 3.11 (or 3.12) that fails with this error. The description in my original post is correct. It seems the zlib dependency was introduced in 3.11.

    Thanks,

    Tony



    ------------------------------
    Tony Partin
    ------------------------------