Hi,
I use Seafile CE with docker, and I just try to update it to 13.0.15 (from 13.0.12), but Seafile doesn’t start after the upgrade.
After a bit of investigation, it seems to be the Numpy fault. Numpy should have been updated in the container to the v2.4.0, and doesn’t support anymore my CPU. I think it’s this Numpy issue: illegal instruction on import · Issue #30492 · numpy/numpy · GitHub
For now, I just downgraded Seafile, but it’s sad if I can’t anymore run newer version of Seafile because of this new Numpy limitation. I’ll continue to investigate the problem.
1 Like
Same problem here, thanks for posting!
Did you file a bug in github? At least, I believe that there should be a mention of the new requirement for SSE4.2 in the system requirements section of the docs, and also in the upgrade notes.
Yes, the problem should be mentioned in the doc. If I remember well, the Seafile Team prefer we mention issues here than on GitHub, @daniel.pan can you look at this?
I found a workaround for now, by compiling numpy on my machine using pip.
Here are some (not very detailed) instructions on how to do it:
-
modify the seafile-server.yml to add a new shared volume, like:
/opt/seafile-pip:/shared2
-
restart docker containers
-
open a shell in the seafile container:
$ docker exec -it seafile /bin/bash
-
remove pre-compiled numpy and copy pip packages to the new shared volume:
$ pip3 uninstall numpy
$ cp -r /usr/local/lib/python3.12/dist-packages/* /shared2
-
modify again the seafile-server.yml to make the shared volume replace the pip directory:
/opt/seafile-pip: /usr/local/lib/python3.12/dist-packages/
-
restart docker containers
-
re-open a shell in the seafile container:
$ docker exec -it seafile /bin/bash
-
compile numpy for your computer (this can take a lot of time):
$ pip install --no-binary numpy numpy -Csetup-args=-Dcpu-baseline=none
-
restart docker
-
test
One drawback is that you must update yourself all pip packages. Maybe this can be improved by just mounting the numpy directory instead of all pip modules…
I decided to use this workaround during the time to find a more recent CPU, because I think this problem will append more and more with time, not only with Seafile…
I will take a look at it.
1 Like