Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added Alpine Linux dependencies to install list #24455

Merged
merged 3 commits into from May 15, 2024

Conversation

blacklightpy
Copy link
Contributor

Details:

  • Added Alpine Linux dependencies to install list

Tickets:

@blacklightpy blacklightpy requested review from a team as code owners May 9, 2024 17:13
@sys-openvino-ci sys-openvino-ci added the ExternalPR External contributor label May 9, 2024
@ilya-lavrenov
Copy link
Contributor

I've tried in alpine docker image:

fetch https://dl-cdn.alpinelinux.org/alpine/v3.19/community/x86_64/APKINDEX.tar.gz
ERROR: unable to select packages:
  opencl-2023.04.17-r1:
    breaks: opencl-icd-loader-dev-2.3.2-r1[opencl-icd-loader=2.3.2-r1]
    satisfies: opencl-dev-2023.04.17-r1[opencl=2023.04.17-r1]
  opencl-dev-2023.04.17-r1:
    conflicts: opencl-icd-loader-dev-2.3.2-r1[pc:OpenCL=3.0]
    satisfies: world[opencl-dev]
  opencl-icd-loader-dev-2.3.2-r1:
    conflicts: opencl-dev-2023.04.17-r1[pc:OpenCL=3.0]
    satisfies: world[opencl-icd-loader-dev]
/openvino/install_build_dependencies.sh: line 279: snappy-dev: command not found
/openvino/install_build_dependencies.sh: line 281: py3-pip: command not found
/openvino/install_build_dependencies.sh: line 283: py3-virtualenv: command not found
/openvino/install_build_dependencies.sh: line 284: python3-dev: command not found
/openvino/install_build_dependencies.sh: line 285: py3-pybind11-dev: command not found
/openvino/install_build_dependencies.sh: line 286: libffi-dev: command not found
/openvino/install_build_dependencies.sh: line 288: py3-enchant: command not found
BusyBox v1.36.1 (2023-11-07 18:53:09 UTC) multi-call binary.

Usage: wget [-cqS] [--spider] [-O FILE] [-o LOGFILE] [--header STR]
        [--post-data STR | --post-file FILE] [-Y on/off]
        [-P DIR] [-U AGENT] [-T SEC] URL...

Retrieve files via HTTP or FTP

        --spider        Only check URL existence: $? is 0 if exists
        --header STR    Add STR (of form 'header: value') to headers
        --post-data STR Send STR using POST method
        --post-file FILE        Send FILE using POST method
        -c              Continue retrieval of aborted transfer
        -q              Quiet
        -P DIR          Save to DIR (default .)
        -S              Show server response
        -T SEC          Network read timeout is SEC seconds
        -O FILE         Save to FILE ('-' for stdout)
        -o LOGFILE      Log messages to FILE
        -U STR          Use STR for User-Agent header
        -Y on/off       Use proxy
/openvino/install_build_dependencies.sh: line 291: git-lfs: command not found
/openvino/install_build_dependencies.sh: line 293: flatbuffers-dev: command not found
/openvino/install_build_dependencies.sh: line 295: enchant2: command not found
/openvino/install_build_dependencies.sh: line 297: nlohmann-json: command not found
/openvino/install_build_dependencies.sh: line 310: --version: command not found
Connecting to proxy-dmz.intel.com:911 (10.102.248.16:911)
wget: error getting response: Invalid argument
chmod: cmake-3.26.0-linux-x86_64.sh: No such file or directory
/openvino/install_build_dependencies.sh: line 328: ./cmake-3.26.0-linux-x86_64.sh: No such file or directory

snappy-dev
`# For Python API` \
py3-pip `#(includes py3-setuptools)`\
py3-wheel
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please, add back slashes

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

slashes are still not fixed

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I didn't add the changes yet. I'm figuring out which OpenCL ICD Loader to use first.

@ilya-lavrenov ilya-lavrenov added this to the 2024.2 milestone May 9, 2024
@ilya-lavrenov ilya-lavrenov self-assigned this May 9, 2024
@blacklightpy
Copy link
Contributor Author

Oops, I was sleepy and just finished it up hastily.

I'll do it again. Should've tested with the container first.

@blacklightpy
Copy link
Contributor Author

So here is the condition, there is opencl, which is the Khronos official ICD Loader, and opencl-icd-loader, which is a free software ICD loader by OCL-dev/ocl-icd.

An ICD loader loads the OpenCL runtime (ICD). Here we have two loader implementations to choose from.

Differences

opencl-dev provides the pkg-config descriptors OpenCL, OpenCL-Headers and OpenCL-CLHPP, while opencl-icd-loader-dev only provides the descriptors OpenCL and ocl-icd.

In addition to the pkg-config files, opencl-dev also provides the CMake files (cmake/OpenCLHeaders/OpenCLHeaders*.cmake and cmake/OpenCLHeadersCpp/OpenCLHeadersCpp*.cmake)

We can install opencl-headers alongside opencl-icd-loader-dev, while opencl-dev depends on it.

If you install opencl-icd-loader-dev, you won't get the OpenCL-Headers or OpenCL-CLHPP pkg-config files, but you still have opencl-headers. It contains the headers and hpp files, save for the pkg-config files and CMake files.

Which one to choose 🤔

onednn-dev requires opencl-headers and opencl-icd-loader-dev. According to this post, OpenVINO also uses the ocl-icd (which is opencl-icd-loader-dev in Alpine Linux). But the thirdparty/ocl folder in this repo seems to be using the Khronos ICD Loader.

@blacklightpy
Copy link
Contributor Author

blacklightpy commented May 10, 2024

I think what Alpine Linux should've done would've been to either package the OpenCL-CLHPP and OpenCL-Headers .pc files in opencl-headers package, and remove them from opencl-dev so that we could use either of them and have the pkg-config files.

In Void Linux, the ICD Loader is from OCL-dev/ocl-icd, but it works with Khronos OCL Headers.

@blacklightpy
Copy link
Contributor Author

blacklightpy commented May 10, 2024

I suppose Khronos ICD Loader is the new and superior version, and OCL-dev only exists because older packages were built with it. I'll use that one.

@blacklightpy
Copy link
Contributor Author

Ready @ilya-lavrenov

@ilya-lavrenov
Copy link
Contributor

Hi @blacklightpy
Thank you! I've tested it locally and it works.

@ilya-lavrenov ilya-lavrenov merged commit 026ac9e into openvinotoolkit:master May 15, 2024
75 of 76 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants