-
Notifications
You must be signed in to change notification settings - Fork 1
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
Test building a casa-distro environment in a Conda environment #345
Comments
I have been able to build an environment from scratch (using an AppTainer container) and install dependencies mainly with Mamba (C++ implementation of Conda packaging system). Not counting sources download, the whole process to get ready to start I am stuck with PyQt configuration in CMake since there is no It is possible to test my very experimental build system. There is a recipe here. |
In sip >= 6, the sip command is not |
I am pleased to hear that because these
|
This looks good... except that |
I do not see PyQt6 packaged in conda-forge but there are older |
There was a bug in |
Well, after some fighting, I had been able to finish a |
Great ! Using which |
The bad one. But I am stuck on a compilation error on aims-free that may be due to a change in gcc (12.2.0 in conda-forge). I am writing an issue in aims-free and I am also rewriting the scripts to download end build everything (and get the error). I tried to download the source separately with git submodules but it is not appropriate, I will just make a script for now. |
Anatomis is being compiled ! There will be problems due to sip but this is very promising. And the time to be able to launch |
So we have to distinguish between sip6 and Qt6 in brainvisa-cmake in order to build for sip6+Qt5. |
allows to select sip6 with Qt5. Not tested bewond that... (brainvisa/casa-distro#345)
allows to select sip6 with Qt5. Not tested bewond that... (brainvisa/casa-distro#345)
I have pushed an experimental change to allow to switch to sip6 while using Qt5. In
I have not tested beyond the selection of |
I will give a try to your solution for sip 6. However, I am stuck on a problem that may be difficult to solve. There is one library that I had to install with
For glibc, I will try to find-out what kind of system is used to build conda-forge packages (I suspect it is CentOS 6 or 7). Using a system with a more recent Ubuntu may solve some glibc problems. There are so few system dependencies ( |
For sip6 at least in pip installs of PyQt5, there is a mismatch in sip ABI versions of the module lib and includes (well I'm not sure yet of what happens, I'm still struggling with it). So if it doesn't work straight for you, hold on... For libGL, it is needed by Qt5 ( |
I can't make it work using pip installs. There seems to be a discrepancy between the sip runtime module and the sip-build tool. I can compile pyaims but not run it, it fails with a sip ABI mismatch error. By the way I have discovered the existence of sip5 which doesn't appear on riverbankcomputing site... and it did not work any better. I'm giving up. Hope you're more lucky using conda. |
Well, not really. On the OpenGL side I still have undefined symbols (I got rid of glibc symbols using CentOS 7 but got other problems) but as you can see in CMake log below, I can try to add option to use GLVND. I can also try your suggestion to find a gldispatch library. On the sip side, I switched back to sip 6 merged your mods but there are two errors in
|
I think the |
I edited my previous post, I wrote |
I don't remember exactly but I think the typedef was here because depending on sip/abi/python versions it was not defined as the same type: The errors you get seem to mean (to me) that there is a discrepency between the sip ABI / sip.h file, and the generated code.
If not, you should ;) |
It is working ! I now have to fix OpenGL for libanatomist. By the way, I noticed that the generation of sip files is now slow and always done twice when running |
Wondeful !! |
If it goes to the end of the build (it is a bit long because everything is compiles each time I make a change in any CMakeLists.txt) it will be possible to package all our software. But I let others handle the Windows and Mac platforms... |
For OpenGL compilation, I had to do two things:
I still have a sip compilation problem in Axon:
This is probably due to the use of |
Yes, probaby. Can you try using |
This is it. The recipe given in this page allowed me to compile everything from scratch. Since OpenGL is the only dependency, the resulting directory may be used "as is" in another system. To be tested... The directory size is 12 Gb including 3.6 Gb for Next may be:
|
I had been able to create a runtime Conda environment, to launch
(1)
(2)
|
Point2 should be fixed but I have not reproduced point 1 yet. The |
…(i.e. for activated Conda environment)
Conda is a packaging system that is widely used in research (e.g. FSL is now distributed through Conda). At first sight, it seems to provide a complete self-content environment that is not limited to Python-related packages. If we succeed in building a casa-distro environment based on a Conda environment, it could make it possible to have a fully modular environment that would be highly compatible with a standard packaging system of the Python community.
The first thing to do could be to start from a Miniforge environment and build our software on the top of it without using a container. If it is successful, we would have the possibility to build conda package for a specific system and to bring Apptainer in the game as a minimal read-only base system using a read-write conda environment.
The text was updated successfully, but these errors were encountered: