-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
[Build]: Does not build on musl libc #24368
Comments
I don't think this Linux distribution and musl lib are being supported. @ilya-lavrenov to offer more insights. Thanks! |
The condition here is that the project lists only Linux as a dependency, but actually also has a dependency on GLIBC, which is an implementation of the system C API or libc. What you refer to as Linux distributions are actually GNU/Linux style system distributions, where Linux is only the kernel. GNU was developed at a time when there were no free UNIX operating systems like BSD. By the time they had completed a POSIX userspace, Linus Torvalds had created the Linux kernel, and the GNU team added compatibility with Linux as its kernel, and that's how the idea of GNU/Linux distributions was made (in contrast to complete OS projects like BSD or Android). So GNU/Linux is a stand in for any kind of OS that consists of a POSIX userland paired with the Linux kernel (pretty much in the same manner as JCB, Kleenex or Band-Aid). Most distros like Ubuntu and RHEL use the GNU glibc, while there are others that use musl libc. The name Linux is more widely used to describe these systems because people found GNU/Linux weird to pronounce, and many people also hated the Richard Stallman, the founder of GNU and FSF, and did not want to associate with it. Many distributions like Ubuntu and RHEL also use systemd software suite as the Initialization System and Service Manager, which often comes as a hard dependency, but OpenVINO is less likely to have dependencies on it, as it is a low-level framework. Perhaps compatibility with musl should be added as a patch downstream, but it can certainly be helpful if any hard dependencies can be removed. Alpine Linux OCI image is popularly used as a base for containers because it's lightweight, due to its use of musl libc and Busybox system utilities. |
@blacklightpy is it possible to use some docker image on typical glib-based Linux (let's say Ubuntu 22.04) to reproduce the issue with musl libc? |
I'll try that. |
glibc is not mandatory for OpenVINO. I think you can add detection of musl libc version in a similar way and add second path to OpenVINO cmake scripts. |
In the container, I get
My CMake configure command was EDIT: The CMake configure was incomplete, let me see. EDIT: Fixed it, somehow the files in the |
which docker image do you use? |
Ubuntu 24.04. |
How can I use musl libc in Ubuntu 24.04? |
You cannot use musl directly in Ubuntu because it provides the Void Linux: EDIT: I'll get the dependency lists needed for XBPS (package manager) if you're testing Void. |
The dependencies are: EDIT: |
Also you should use enter with And for |
Also my build inside the Ubuntu container failed like:
But I don't think this has anything to do with musl, since it links to glibc. |
Could you please support of these dependencies to https://github.com/openvinotoolkit/openvino/blob/master/install_build_dependencies.sh ? Based on it, I will try to compile OpenVINO. |
@blacklightpy I've made initial support in PR #24428 |
@ilya-lavrenov it passed configuration stage and started building. |
@ilya-lavrenov building in parallel crashed by compositor, and building in TTY also would not let me do anything else. I'll have to retry with just 2 cores, but it'll probably take some time. Meanwhile I've added the dependency lists to your fork in my PR as requested. |
I've merged your PR, thank you. |
Sure, lemme see. I like tracking down package names. |
I saw that you added Anyways, I've added it to Alpine Linux's dependency list too. |
### Details: - Added support of MUSL Linux ### Tickets: - Closes #24368 --------- Co-authored-by: Jyothish Kumar M S <jeevanms15@gmail.com>
@blacklightpy thank you. Could you please send PR directly to OpenVINO official repo? My PR was merged to master |
Alright |
### Details: - Added Alpine Linux dependencies to install list ### Tickets: - #24368
OpenVINO Version
Master Branch
Operating System
Other (Please specify in description)
Hardware Architecture
x86 (64 bits)
Target Platform
Build issue description
Code doesn't build on musl, as it is hardcoded to GLIBC at many points.
I'm using Void Linux musl libc edition.
musl libc is also used in Alpine Linux.
pipx install openvino
isn't working for me either, as it says no matching distribution found or something of that sort. I guess I'll use the container image in the meantime.Here are the references:
Build script or step-by-step to reproduce
Do CMake. It won't configure.
Relevant log output
Issue submission checklist
The text was updated successfully, but these errors were encountered: