realthunder / FreeCAD

Link branch FreeCAD
Other
763 stars 45 forks source link

[Problem] "conda install freecad-rt" fails because "smesh-rt" still depends on "boost-cpp to 1.78.0" instead of newer "boost-cpp to 1.82.0" ??? #945

Open ACREtheMaker opened 7 months ago

ACREtheMaker commented 7 months ago

Is there an existing issue for this?

Version

0.20 (Release)

Full version info

see the description below, this is a specific installation issue.

Subproject(s) affected?

Core

Problem description

I am on wind64 (AMD) and want to install freecad-rt via Anaconda but I am getting conflicts, which I manually resolved until I got to one last problem which I require Realthunder's help with.

(CondaEnv_CAE) PS C:\Users\ME> conda install 'cuda[version=12.3.2, subdir=win-64]'

(CondaEnv_CAE) PS C:\Users\ME> conda install 'cupy[version=13.0.0, subdir=win-64, build=py311hc5e6136_1]'

(CondaEnv_CAE) PS C:\Users\ME> conda install 'pycuda[version=2024.1, subdir=win-64, build=py311hb43e914_2]'

(CondaEnv_CAE) PS C:\Users\ME> conda install 'freecad-rt[version=20240123stable, build=py311h2e52968_3, subdir=win-64]'

The situation is as follows, ERROR from Anaconda Powershell

Channels:
 - nvidia
 - realthunder
 - conda-forge
 - defaults
Platform: win-64
Collecting package metadata (repodata.json): done
Solving environment: failed

LibMambaUnsatisfiableError: Encountered problems while solving:
  - package freecad-rt-20240123stable-py311h2e52968_3 requires smesh-rt >=9.9.0.0,<9.9.1.0a0, but none of the providersd

Could not solve for environment specs
The following packages are incompatible
├─ boost-cpp 1.82.*  is installable with the potential options
│  ├─ boost-cpp 1.82.0, which can be installed;
│  └─ boost-cpp 1.82.0 would require
│     └─ libboost <0 , which can be installed;
├─ freecad-rt ==20240123stable py311h2e52968_3 is not installable because it requires
│  └─ smesh-rt >=9.9.0.0,<9.9.1.0a0 , which requires
│     └─ boost-cpp >=1.78.0,<1.78.1.0a0 , which conflicts with any installable versions previously reported;
└─ libboost is not installable because it conflicts with any installable versions previously reported.
win-64/freecad-rt-20240123stable-py311h2e52968_3.tar.bz2

I also do not understand why it is claiming boost-cpp 1.82.0 requires libboost to be <0 and conflicts with libboost 1.82.0 as on the repository page it has no such constraint: https://anaconda.org/conda-forge/boost-cpp/files/modal/info/65222e3400f5e77121bd4cd1

PLEASE ADVISE

Anything else?

I already tried installing freecad-rt first with conda and then installing PyCuda but it would degrade PyCuda and my Cuda toolkit in Anaconda to an older 11.8 which isn't an elegant solution.

Code of Conduct

ACREtheMaker commented 7 months ago

A minor improvement was made but I still have this issue. Using this code ...

conda config --set channel_priority strict
conda install boost boost-cpp libboost libboost-devel libboost-headers libboost-python libboost-python-devel

... as recommended on https://github.com/conda-forge/boost-feedstock I now have boost-cpp (1.82.0) and libboost (1.82.0) without any conflicts. I then tried to install freecad-rt again and now get this ...

(CondaEnv_CAE) PS C:\Users\ME> conda install --dry-run 'freecad-rt[version=20240123stable, build=py311h2e52968_3, subdir=win-64]'
Channels:
 - conda-forge
 - nvidia
 - realthunder
 - defaults
Platform: win-64
Collecting package metadata (repodata.json): done
Solving environment: failed

LibMambaUnsatisfiableError: Encountered problems while solving:
  - package freecad-rt-20240123stable-py311h2e52968_3 requires smesh-rt >=9.9.0.0,<9.9.1.0a0, but none of the providersd
Could not solve for environment specs
The following packages are incompatible
├─ freecad-rt ==20240123stable py311h2e52968_3 is installable and it requires
│  └─ smesh-rt >=9.9.0.0,<9.9.1.0a0 , which requires
│     └─ boost-cpp >=1.78.0,<1.78.1.0a0 , which can be installed;
└─ libboost-headers is not installable because there are no viable options
   ├─ libboost-headers 1.82.0 would require
   │  └─ boost-cpp 1.82.0* , which conflicts with any installable versions previously reported;
   ├─ libboost-headers 1.83.0 would require
   │  └─ boost-cpp 1.83.0* , which conflicts with any installable versions previously reported;
   └─ libboost-headers 1.84.0 would require
      └─ boost-cpp 1.84.0* , which conflicts with any installable versions previously reported.

So now all I need is for freecad-rt to be compatible with boost-rt 1.82.0 instead of <=1.78.*