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

Fix imagecodecs issue #15

Open
tcompa opened this issue Sep 13, 2023 · 3 comments
Open

Fix imagecodecs issue #15

tcompa opened this issue Sep 13, 2023 · 3 comments
Labels
bug Something isn't working

Comments

@tcompa
Copy link
Collaborator

tcompa commented Sep 13, 2023

Branching from #13

Where I got stuck

Task installation seems to get a bit tricky. At first, I struggle with figuring out which Python version to use (3.9 and 3.10 were not available in the container. But 3.11 was available.

The larger issue is that we're running into a bug while installing imagecodecs:

      Compiling imagecodecs/_aec.pyx because it changed.
      [1/1] Cythonizing imagecodecs/_aec.pyx
      building 'imagecodecs._aec' extension
      creating build/temp.linux-aarch64-cpython-311
      creating build/temp.linux-aarch64-cpython-311/imagecodecs
      gcc -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -Iimagecodecs -I/home/fractal-share/tasks/.fractal/fractal-tasks-core0.10.1/venv/include -I/usr/local/include/python3.11 -I/tmp/pip-build-env-g4bzjo3a/overlay/lib/python3.11/site-packages/numpy/core/include -c imagecodecs/_aec.c -o build/temp.linux-aarch64-cpython-311/imagecodecs/_aec.o
      In file included from /tmp/pip-build-env-g4bzjo3a/overlay/lib/python3.11/site-packages/numpy/core/include/numpy/ndarraytypes.h:1929,
                       from /tmp/pip-build-env-g4bzjo3a/overlay/lib/python3.11/site-packages/numpy/core/include/numpy/ndarrayobject.h:12,
                       from /tmp/pip-build-env-g4bzjo3a/overlay/lib/python3.11/site-packages/numpy/core/include/numpy/arrayobject.h:5,
                       from imagecodecs/_aec.c:1177:
      /tmp/pip-build-env-g4bzjo3a/overlay/lib/python3.11/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: #warning "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
         17 | #warning "Using deprecated NumPy API, disable it with " \
            |  ^~~~~~~
      imagecodecs/_aec.c:1184:10: fatal error: libaec.h: No such file or directory
       1184 | #include "libaec.h"
            |          ^~~~~~~~~~
      compilation terminated.
      error: command '/usr/bin/gcc' failed with exit code 1
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for imagecodecs
ERROR: Could not build wheels for imagecodecs, which is required to install pyproject.toml-based projects
@tcompa
Copy link
Collaborator Author

tcompa commented Sep 13, 2023

To-do:

  • Always install libaec-dev in the server container, through apt.

This should also make the linux/ARM combination work (to be checked!).

@tcompa
Copy link
Collaborator Author

tcompa commented Sep 13, 2023

* Always install `libaec-dev` in the server container, through `apt`.

This was already done (by mistake, as I only wanted to update something else in that same file), as part of 99d0e67.

Thus it would be useful to re-test the failing steps (make run and then fractal-tasks-core collection) with the current main on a ARM machine (cc @jluethi). In principle the newly-added system library may fix the reported issue, but we cannot immediately verify it.

@tcompa
Copy link
Collaborator Author

tcompa commented Oct 6, 2023

As of the latest commits in main, the only supported way to run the demos (at least for the moment) is

make run-demos

This results in

  • an active postgres session
  • fractal-server on port 8000
  • fractal-web on port 5173
  • A git-clone of the demos, a trigger of fractal-tasks-core collection, an execution of example 01

The whole process may take 5-10 minutes. The monitoring can be done from the terminal, or (as soon as it is up) from fractal-web. Once fractal-web is up, the step that typically take the longest is the task collection (maybe somewhat slower in the containers than when it's directly on the host machine - to check).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant