Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Unable to dynamically download and install manifests - library not found/path issue #131

Closed
@magnetikonline

Description

@magnetikonline

Describe the bug
A clear and concise description of what the bug is.

Which version of the action are you using?

  • v1
  • v2
  • Some other tag (such as v2.0.1 or master)

Environment

  • self-hosted
  • Linux
  • Windows
  • Mac

Our self hosted runners are using a Ubuntu 18.04 base distro image.

Python Versions
Please list all of the effected versions of Python (3.8.2, etc.)

  • 3.7.5
  • But really, any version which is not installed already to our self hosted runners.

To Reproduce
Setup workflow with the following run action:

- name: Test Setup Python
   uses: actions/setup-python@v2
   with:
      python-version: '3.7.5'

The error received is:

Create Python 3.7.5 folder
Copy Python binaries to hostedtoolcache folder
Create additional symlinks (Required for the UsePythonVersion Azure Pipelines task and the setup-python GitHub Action)
Upgrading PIP...
##[error]./python: error while loading shared libraries: libpython3.7m.so.1.0: cannot open shared object file: No such file or directory
##[error]The process '/bin/bash' failed with exit code 127

This is the same deal with other editions, during install the Python library can't be located - I'm not sure if the issue lies with the Action itself, or the packaged Python installers from https://github.com/actions/python-versions that need modification.

I have been pre-loading specific Python versions to our self hosted runner - and in those cases I've been able to set LD_LIBRARY_PATH to get installs to take - not sure if this needs to be done by default for all manifests? Example, with a Python manifest downloaded and unzipped:

export LD_LIBRARY_PATH="/home/runner/_work/_tool/Python/3.7.5/x64/lib"
bash ./setup.sh

This will successfully install.

So I wonder, is the solution to append the installed library path to LD_LIBRARY_PATH in the context of ./setup.sh to provide a hint to pip where to locate required Python libs?

E.g. here: https://github.com/actions/python-versions/blob/ca3edf54460c3581d7285dd0fba82fa7d9215b6b/installers/nix-setup-template.sh#L51

Screenshots
If applicable, add screenshots to help explain your problem.

Screen Shot 2020-08-14 at 10 40 01 pm

Additional context
Feels somewhat related to #115

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions