-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Docker build fails on installing pydantic-core [linux/arm/v7] #3887
Comments
If I'm not wrong alpine linux is musl and there does not exists a pre-build musl for pydantic-core .. may it helps when we install it by the alpine package manager? |
Alpine Linux uses musl libc (instead of glibc). However, there is no pre-build of the pydantic-core python package for musl lib on armv7. Alternatively this patch installs py3-pydantic-core from Alpine packages [1] [1] https://pkgs.alpinelinux.org/package/edge/community/armv7/py3-pydantic-core - closes: searxng#3887 Signed-off-by: Markus Heiser <[email protected]>
Hi @vojkovic, Can I let you handle the fix since your PR broke the docker CI? Thanks |
Alpine Linux uses musl libc (instead of glibc). However, there is no pre-build of the pydantic-core python package for musl lib on armv7. Alternatively this patch installs py3-pydantic-core from Alpine packages [1] [1] https://pkgs.alpinelinux.org/package/edge/community/armv7/py3-pydantic-core - closes: #3887 Signed-off-by: Markus Heiser <[email protected]>
PR #3889 (comment) did not solve the issue / I reopen this bug report. |
See: #3889 (comment) |
Can't we install Cargo in the Dockerfile in order to solve the issue? |
FYI: Bugfix is on the way: |
What an awesome timing! |
@return42 pydantic/pydantic-core#1477 Merged! |
Yeah :-) .. merged! .. but we still have to wait for a new release of |
Ahh, shame - looks like the last release was last month, so I hope we can see a new release from them soon. What's your opinion on temporarily disabling armv7 builds until the new release comes? |
What about doing what I explained in #3887 (comment) then use the prebuilt pip release when it is available. |
Before we investigate to much, we should wait, the next pydantic version is on the way --> pydantic/pydantic#10605 (comment) |
Then we should revert #3727 until the new pydantic version is out. No new docker images are being built, that's a big issue! |
Personally I don't want to merge quirks or destroy the history of the SearXNG core when it is about a deployment problem on a rare used architecture ..
Yeah, I fully agree .. but I also still waiting about a PR from the docker user group .. if none PR comes, we have to wait the new pydantic version is released at some day .. I see the community of docker users as responsible for dealing with this problem / the problem is not in SearXNG core. |
Docker is the most used way to install SearXNG. We should certainly not block the entire Docker build due to a new feature. All Docker builds are broken in all CPU architectures because Docker build expect all the CPU architectures to be built successfully in order to create a new Docker image. Obviously this is a big issue and should be handled like if it was part of the core. If 80% of our users can't update their installation, how are they going to get the new code changes??? This doesn't make any sense... Thinking the contrary is like thinking "it works on my machine, I don't care about the others". I don't have time to invest into any long fixes, I can recommend things, but I'm busy on other open source projects (and personal ones). Hence, why I haven't really pushed anyway for fixing this. IMO if something broke an essential part of SearXNG, we shouldn't keep it for too long. It has been 7 days with a broken Docker build. It's worse than having reverted commits into the git log...
I can say the same for LXC support! Like who cares about a software that has a direct and better replacement: Docker! Jokes aside... If you start to support something, then you continue to support it until it is really possible. You adapt your code so that it's still compatible. The only time you can drop the support for something is when a major feature won't work on this device or CPU architecture or software AND you can't do anything about it, there is no choice. And dropping the support for something should be made with an announcement, not silently because a new code change doesn't work with it. |
Sorry I can't help .. I don't have the docker nor the GH CI action knowledge for .. but I still awaiting PRs.
Dropping architectures was never an option of this issue.
The plan is to remove the LXC part from SearXNG in the near future. |
@return42 The Dockerfile can cater to all the architectures if you conditionally ignore pydantic in the requirements.txt for the arm build (32-bit) like this.
This should allow the docker builds to resume in the meantime as you await an unknown release date from pydantic. Would you want a PR for it? |
@rhee876527 yes, why not .. everything that helps is welcome :) However, I have to say that I don't have any know-how about the docker (& -hub) ecosystem , I can't estimate what effects this has for docker users and therefore I can't help if there are questions in the review .. |
I reopen this issue since #3936 is just an interim solution. |
FYI new docker builds are available: https://hub.docker.com/r/searxng/searxng/tags I think the final solution to this issue will be the move from pydantic to msgspec / see testers are welcome ;-) |
Docker build fails on installing pydantic-core / see report from CI:
@vojkovic pointed out wheel
pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
at pydantic-core/2.20.1/#filesThe text was updated successfully, but these errors were encountered: