Python

Python

Python

 View Only
Expand all | Collapse all

CEE3501S The module libpython3.8.so was not found

  • 1.  CEE3501S The module libpython3.8.so was not found

    Posted Fri June 24, 2022 07:40 AM

    xxxx:/home/user ==> uname -a
    OS/390 xxxx 27.00 04 8561
    xxxx:/home/user ==> python --version
    Python 3.9.9
    xxxx:/home/user ==> cat fileOpen-zOS.py
    #!/usr/lpp/python39/bin/python
    from zoautil_py import datasets
    from zoautil_py.types import DDStatement

    dataset_name = f"SYS3.BBISS.UBBPARM(CFGTOM)"
    print(" open for z/OS dataset\n", dataset_name)

    line = datasets.read(dataset_name)
    print(line)

    @xxxx:/home/user ==> python fileOpen-zOS.py
    CEE3501S The module libpython3.8.so was not found.
    From compile unit TOROLABA:./Python/dynload_shlib.c at entry point _PyImport_FindSharedFuncptr at statement 100 at compile unit offset +00000000270D0E18 at entry offset +0000000000000290 at address 00000000270D0E18.
    [1] + Done(137) python fileOpen-zOS.py
    67175159 Killed /WWW/opera/python/bin/python
    @xxxx:/home/user ==>

    It looks like zoautils are linked with python 3.8. 

    libpython3.8.so does not exist on my system. Only the 3.9 version:
    xxxx:/home/user ==> ls -l /usr/lpp/python39/lib/*
    -rwxr-xr-x 1 BPXROOT OMVSGRP 13881344 Feb 2 11:01 /usr/lpp/python39/lib/libpython3.9.so

    What's wrong here ?



    ------------------------------
    Matthias Rabast
    ------------------------------


  • 2.  RE: CEE3501S The module libpython3.8.so was not found

    Posted Wed July 13, 2022 02:06 AM

    Hello Matthias Rabast,

    From what I can see here it looks like ZOAU had not been completely configured.

    Under the current design (it will change in future) there are two ways to complete the ZOAU Python code installation, one is with a PIP installation which will dynamically compile and link the ZOAU source to the version of Python you are using (3.9.9) but this does require a z/OS compatible C compiler where most use XLC, there is an open source compiler I can also point you to if you decide that is of interest.

    The second way is to use the "pre-compiled" binaries ZOAU includes and this is for those who don't have a supported compiler available. ​​

    The documentation is here under option 6 under "pip installation method" , there is also the second method in the same doc under "PYTHONPATH environment method", please note that you must choose ONE or the OTHER methods, do not try to use both.

    For further reading to choosing which method is best for you , please have a look at this post I made some time ago.

    The reason you are seeing the libpython3.8.so is because ZOAU is 'down compiled' for portability, the steps in the docs will help resolve this.
    I should inform you that you will need to have your IBM®Open Enterprise SDK for Python mounted as RW because either method listed above will need to write into the python mount. 

    • If you choose the  `pip` installation; it will compile source and write into /usr/lpp/IBM/cyp/v3r9/pyz/lib/python3.9/site-packages
    • If you choose the pre-compiled installation; it will make a symbolic link similar to /usr/lpp/IBM/cyp/v3r9/pyz/lib/libpython3.8.so ----> /usr/lpp/IBM/cyp/v3r9/pyz/lib/libpython3.9.so.

    If you think you have installed the ZOAU Python package, please provide the output from the below commands and we can go from there.

    pip3 list
    pip3 show zoautil-py


    Once you have gone through the links, if you need more help, please feel free to reach out to us. I will be monitoring this thread.



    ------------------------------
    DEMETRIOS DIMATOS
    ------------------------------