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

Missing packages in Conda distribution #357

Open
6 of 7 tasks
denisri opened this issue Jan 8, 2024 · 8 comments
Open
6 of 7 tasks

Missing packages in Conda distribution #357

denisri opened this issue Jan 8, 2024 · 8 comments
Labels
bug Something isn't working v3.0 changes that will only be integrated in casa-distro v3.0.0

Comments

@denisri
Copy link
Contributor

denisri commented Jan 8, 2024

The Conda distribution is starting to work. However some optional packages are missing for a full-featured brainvisa distribution.
This ticket will list missing optional packages and try to find solutions.

  • python torch and torchvision modules, which exist on condaforge but apparently cause installation conflicts
  • python pygltflib module for .glb binary variant of GLTF format. This module doesn't exist as a condaforge package, but may be installed using pip. Is it OK to mix conda and pip ?
  • python dracopy module for GLTF/GLB meshes compression
  • python webp module for GLTF/GLB textures compression
  • gltf-transform tool for GLTF/GLB meshes compression
  • virtualgl for off-screen 3D rendering and other uses
  • xvfb for off-screen rendering (headless Anatomist...)
@denisri denisri added bug Something isn't working v3.0 changes that will only be integrated in casa-distro v3.0.0 labels Jan 8, 2024
@sapetnioc
Copy link
Member

With an up-to-date Conda environment, I have been able to install pytorch and torchvision without conflict. I check them but I did not test their use.

@sapetnioc
Copy link
Member

We can install pip packages from conda packages using scripts that are called after installation. This is not the recommended way of doing things but it works for installation. It will make uninstallation difficult because we can only remove the pip package without knowing if another package needs it or if the user decided to manually install the package.

@sapetnioc
Copy link
Member

For dracopy, there is a draco package in conda-forge. However, the package contains symlinks for the commands draco-decoder and draco_encoder but they are not installed. Therefore, for my installation only draco_decoder-1.5.7 and draco_encoder-1.5.7 are available in PATH. Despite this bug, there is more in the Conda package than in the pip one (e.g. CMake files). I will make a dependency on the conda package.

@sapetnioc
Copy link
Member

For webp there is a conda package pywebp. I will make a dependency on the Conda package.

@sapetnioc
Copy link
Member

For pygltflib, I will use the pip version.

sapetnioc added a commit that referenced this issue Feb 27, 2024
@sapetnioc
Copy link
Member

Pip dependencies are now supported and checked software had been included in casa-distro source and in test packages.

@sapetnioc
Copy link
Member

I have been able to create a conda package for virtualgl. I added code to create a repository called brainvisa-forge on setup and to create a brainvisa-virtualgl package in that repository. This repository is added in the list of conda repositories. Therefore brainvisa-virtualgl can be used as a dependency. I added a brainvisa-forge specific list of dependencies that we can define for our packages.

@sapetnioc
Copy link
Member

There is a package on conda-forge containing xvfb : xorg-x11-server-xvfb-cos7-x86_64
It is specific to an architecture (x86_64) and a low level libraries (cos7 for CentOS 7). These packages are not installed in the standard path. Therefore I modified bv_env in brainvisa-cmake to add this specific directory in the PATH in conda environment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working v3.0 changes that will only be integrated in casa-distro v3.0.0
Projects
None yet
Development

No branches or pull requests

2 participants