macOS build instructions - outdated?

Having trouble installing or compiling FreeCAD? Get help here.
Chamfer036
Posts: 8
Joined: Sat May 04, 2019 8:08 pm
Location: France

Re: macOS build instructions - outdated?

Postby Chamfer036 » Sat May 18, 2019 9:57 am

I've just updated the wiki to remove the outdated instructions, and it builds 8-)
jia
Posts: 6
Joined: Tue Feb 11, 2020 11:05 am

Re: macOS build instructions - outdated?

Postby jia » Tue Feb 11, 2020 11:52 am

Chamfer036 wrote:
Sat May 18, 2019 9:57 am
I've just updated the wiki to remove the outdated instructions, and it builds 8-)
Hi Chamfer036,

It is outdated, again.

I'm building FreeCAD git master on macOS Catalina, when I run

Code: Select all

brew install --only-dependencies freecad
I got that
python@2 was deleted from homebrew/core
And the FreeCAD version is 0.17 in the Homebrew 'tap'.

May you please let me know how to build the least FreeCAD on least macOS?

Thank you.
chrisb
Posts: 26864
Joined: Tue Mar 17, 2015 9:14 am

Re: macOS build instructions - outdated?

Postby chrisb » Tue Feb 11, 2020 9:46 pm

looo is the expert in compiling on MacOS.
looo wrote:ping
User avatar
looo
Posts: 3424
Joined: Mon Nov 11, 2013 5:29 pm

Re: macOS build instructions - outdated?

Postby looo » Wed Feb 12, 2020 8:37 am

jia wrote:
Tue Feb 11, 2020 11:52 am
brew install --only-dependencies freecad
Sry I have no idea how brew works. The brew specialist is @pertel94.
jia
Posts: 6
Joined: Tue Feb 11, 2020 11:05 am

Re: macOS build instructions - outdated?

Postby jia » Thu Feb 13, 2020 1:58 am

looo wrote:
Wed Feb 12, 2020 8:37 am
jia wrote:
Tue Feb 11, 2020 11:52 am
brew install --only-dependencies freecad
Sry I have no idea how brew works. The brew specialist is @pertel94.

Hi looo,

May you please give me the manual build steps on macOS?

We hope @pertel94 will update the home-brew repo and the macOS build wiki page.

Thank you.
peterl94
Posts: 1000
Joined: Thu May 23, 2013 7:31 pm
Location: United States

Re: macOS build instructions - outdated?

Postby peterl94 » Thu Feb 13, 2020 3:16 am

jia wrote:
Thu Feb 13, 2020 1:58 am
We hope @pertel94 will update the home-brew repo
Sorry, that is not likely. I consider Conda to be the official way to install dependencies for FreeCAD now. I have been away from FreeCAD development for too long to contribute anything useful to this discussion, sorry.
User avatar
looo
Posts: 3424
Joined: Mon Nov 11, 2013 5:29 pm

Re: macOS build instructions - outdated?

Postby looo » Thu Feb 13, 2020 4:07 am

jia wrote:
Thu Feb 13, 2020 1:58 am
looo wrote:
Wed Feb 12, 2020 8:37 am
jia wrote:
Tue Feb 11, 2020 11:52 am
brew install --only-dependencies freecad
Sry I have no idea how brew works. The brew specialist is @pertel94.

Hi looo,

May you please give me the manual build steps on macOS?
https://github.com/FreeCAD/FreeCAD_Cond ... y-sans-cis
jia
Posts: 6
Joined: Tue Feb 11, 2020 11:05 am

Re: macOS build instructions - outdated?

Postby jia » Thu Feb 13, 2020 4:29 pm

Hi looo,

I read you instructions and still have some questions.

This is what I did:
Step1, install miniconda.

Step2, run

Code: Select all

conda install conda-build
to install conda-build for Miniconda didn't offer conda-build.

Step3,

Code: Select all

conda config --add channels conda-forge
and

Code: Select all

conda config --add channels freecad/label/dev
to add channels.

Step4, download MacOSX10.12.sdk, extract and put it under /opt/MacOSX10.12.sdk.

Step5, create ~/conda_build_config.yaml and copy this into it.

Code: Select all

CONDA_BUILD_SYSROOT:  
      - /opt/MacOSX10.12.sdk        # [osx]
Step6, get into the FreeCAD source directory.

Step7,

Code: Select all

conda build . --python=3.7
then I get a error

Code: Select all

conda_build.exceptions.DependencyNeedsBuildingError: Unsatisfiable dependencies for platform osx-64: {'toolchain'}
Step8, edit package/conda/meta.yaml, remove all win/linux lines, and the `toolchain` line.

Step9,

Code: Select all

conda build . --python=3.7
again, and get lots of conflicts

Code: Select all

Package expat conflicts for:
cmake -> libarchive -> expat[version='>=2.2.4,<3.0a0']
git -> expat[version='2.2.*|>=2.2.5,<2.3.0a0|>=2.2.9,<2.3.0a0|>=2.2.6,<3.0a0|>=2.2.5,<3.0a0']
coin3d -> expat[version='>=2.2.5,<2.3.0a0']
smesh -> vtk[version='>=8.2.0,<8.2.1.0a0'] -> expat[version='2.2.*|>=2.2.5,<2.3.0a0|>=2.2.6,<3.0a0|>=2.2.5,<3.0a0']
vtk=8.1 -> expat[version='2.2.*|>=2.2.5,<2.3.0a0|>=2.2.6,<3.0a0|>=2.2.5,<3.0a0']
cmake -> expat[version='2.2.*|>=2.2.5,<2.3.0a0|>=2.2.6,<3.0a0|>=2.2.5,<3.0a0']
pivy -> coin3d -> expat[version='>=2.2.5,<2.3.0a0']

Package freetype conflicts for:
occt=7.2.0 -> freetype=2.8
smesh -> occt[version='>=7.4.0,<7.5.0a0'] -> freetype[version='2.8.*|2.8.1.*|>=2.8.1,<2.9.0a0|>=2.9.1,<3.0a0|>=2.8,<2.9.0a0']
netgen -> occt[version='>=7.4.0,<7.5.0a0'] -> freetype[version='2.8.*|>=2.8.1,<2.9.0a0|>=2.9.1,<3.0a0']
matplotlib -> freetype[version='2.6.*|>=2.9.1,<3.0a0|>=2.8,<2.9.0a0']
vtk=8.1 -> freetype[version='2.8.*|2.8.1.*|>=2.8.1,<2.9.0a0|>=2.9.1,<3.0a0|>=2.8,<2.9.0a0']

Package libcxxabi conflicts for:
python=3.7 -> libcxx[version='>=4.0.1'] -> libcxxabi[version='4.0.1|4.0.1|8.0.0|8.0.0|8.0.0|8.0.0|8.0.1',build='hebd6815_0|1|3|4|0|2|hcfea43d_1']
pivy -> libcxx[version='>=4.0.1'] -> libcxxabi[version='4.0.1|4.0.1|8.0.0|8.0.0|8.0.0|8.0.0|8.0.1',build='hebd6815_0|1|3|4|0|2|hcfea43d_1']
ninja -> libcxx[version='>=4.0.1'] -> libcxxabi[version='4.0.1|4.0.1|8.0.0|8.0.0|8.0.0|8.0.0|8.0.1',build='hebd6815_0|1|3|4|0|2|hcfea43d_1']
doxygen -> libcxx[version='>=4.0.1'] -> libcxxabi[version='4.0.1|4.0.1|8.0.0|8.0.0|8.0.0|8.0.0|8.0.1',build='hebd6815_0|1|3|4|0|2|hcfea43d_1']
smesh -> libcxx[version='>=4.0.1'] -> libcxxabi[version='4.0.1|4.0.1|8.0.0|8.0.0|8.0.0|8.0.0|8.0.1',build='hebd6815_0|1|3|4|0|2|hcfea43d_1']
eigen -> libcxx[version='>=4.0.1'] -> libcxxabi[version='4.0.1|4.0.1|8.0.0|8.0.0|8.0.0|8.0.0|8.0.1',build='hebd6815_0|1|3|4|0|2|hcfea43d_1']
pyside2=5.6 -> libcxx[version='>=4.0.1'] -> libcxxabi[version='4.0.1|4.0.1|8.0.0|8.0.0|8.0.0|8.0.0|8.0.1',build='hebd6815_0|1|3|4|0|2|hcfea43d_1']
hdf5 -> libcxx[version='>=4.0.1'] -> libcxxabi[version='4.0.1|4.0.1|8.0.0|8.0.0|8.0.0|8.0.0|8.0.1',build='hebd6815_0|1|3|4|0|2|hcfea43d_1']
swig -> libcxx[version='>=4.0.1'] -> libcxxabi[version='4.0.1|4.0.1|8.0.0|8.0.0|8.0.0|8.0.0|8.0.1',build='hebd6815_0|1|3|4|0|2|hcfea43d_1']
matplotlib -> libcxx[version='>=4.0.1'] -> libcxxabi[version='4.0.1|4.0.1|8.0.0|8.0.0|8.0.0|8.0.0|8.0.1',build='hebd6815_0|1|3|4|0|2|hcfea43d_1']
qt=5.6 -> libcxx[version='>=4.0.1'] -> libcxxabi[version='4.0.1|4.0.1|8.0.0|8.0.0|8.0.0|8.0.0|8.0.1',build='hebd6815_0|1|3|4|0|2|hcfea43d_1']
cmake -> libcxx[version='>=4.0.1'] -> libcxxabi[version='4.0.1|4.0.1|8.0.0|8.0.0|8.0.0|8.0.0|8.0.1',build='hebd6815_0|1|3|4|0|2|hcfea43d_1']
vtk=8.1 -> libcxx[version='>=4.0.1'] -> libcxxabi[version='4.0.1|4.0.1|8.0.0|8.0.0|8.0.0|8.0.0|8.0.1',build='hebd6815_0|1|3|4|0|2|hcfea43d_1']
xerces-c=3.2 -> libcxx[version='>=4.0.1'] -> libcxxabi[version='4.0.1|4.0.1|8.0.0|8.0.0|8.0.0|8.0.0|8.0.1',build='hebd6815_0|1|3|4|0|2|hcfea43d_1']
coin3d -> libcxx[version='>=4.0.1'] -> libcxxabi[version='4.0.1|4.0.1|8.0.0|8.0.0|8.0.0|8.0.0|8.0.1',build='hebd6815_0|1|3|4|0|2|hcfea43d_1']
netgen -> libcxx[version='>=4.0.1'] -> libcxxabi[version='4.0.1|4.0.1|8.0.0|8.0.0|8.0.0|8.0.0|8.0.1',build='hebd6815_0|1|3|4|0|2|hcfea43d_1']
pybind11 -> libcxx[version='>=4.0.1'] -> libcxxabi[version='4.0.1|4.0.1|8.0.0|8.0.0|8.0.0|8.0.0|8.0.1',build='hebd6815_0|1|3|4|0|2|hcfea43d_1']

Package zlib conflicts for:
occt=7.2.0 -> freetype=2.8 -> zlib[version='1.2.11|>=1.2.11,<1.3.0a0']
swig -> boost-cpp=1.64 -> zlib[version='1.2.*|>=1.2.11,<1.3.0a0|1.2.11']
cmake -> zlib[version='1.2.*|1.2.11|1.2.11.*|>=1.2.11,<1.3.0a0']
smesh -> python[version='>=3.6,<3.7.0a0'] -> zlib[version='1.2.*|1.2.11|1.2.8|1.2.11.*']
netgen -> zlib[version='>=1.2.11,<1.3.0a0']
coin3d -> boost-cpp[version='>=1.70.0,<1.70.1.0a0'] -> zlib[version='1.2.11|>=1.2.11,<1.3.0a0']
qt=5.6 -> libpng[version='>=1.6.34,<1.7.0a0'] -> zlib==1.2.11
matplotlib -> zlib[version='>=1.2.11,<1.3.0a0']
netgen -> python[version='>=3.6,<3.7.0a0'] -> zlib[version='1.2.*|1.2.11|1.2.8']
matplotlib -> python[version='>=3.6,<3.7.0a0'] -> zlib[version='1.2.*|1.2.11|1.2.8|1.2.11.*']
git -> zlib[version='1.2.*|1.2.11|1.2.11.*|>=1.2.11,<1.3.0a0|1.2.8']
vtk=8.1 -> zlib[version='1.2.*|1.2.11.*|>=1.2.11,<1.3.0a0']
smesh -> zlib[version='>=1.2.11,<1.3.0a0']
qt=5.6 -> zlib[version='>=1.2.11,<1.3.0a0']
python=3.7 -> zlib[version='>=1.2.11,<1.3.0a0']
ninja -> python[version='>=3.8,<3.9.0a0'] -> zlib[version='1.2.*|1.2.11|>=1.2.11,<1.3.0a0|1.2.8|1.2.11.*']
vtk=8.1 -> python[version='>=2.7,<2.8.0a0'] -> zlib[version='1.2.11|1.2.8']
pybind11 -> python[version='>=3.7,<3.8.0a0'] -> zlib[version='1.2.*|1.2.11|>=1.2.11,<1.3.0a0|1.2.8|1.2.11.*']
pivy -> python[version='>=3.8,<3.9.0a0'] -> zlib[version='1.2.*|1.2.11|1.2.11.*|>=1.2.11,<1.3.0a0|1.2.8']
pyside2=5.6 -> libxml2[version='>=2.9.9,<2.10.0a0'] -> zlib[version='1.2.*|1.2.11|>=1.2.11,<1.3.0a0|1.2.8|1.2.11.*']
zlib=1.2
hdf5 -> zlib[version='1.2.*|1.2.11|>=1.2.11,<1.3.0a0|1.2.8']

Package libcxx conflicts for:
coin3d -> libcxx[version='>=4.0.1|>=9.0.1']
python=3.7 -> libcxx[version='>=4.0.1|>=9.0.0|>=9.0.1']
swig -> libcxx[version='>=4.0.1']
cmake -> libcxx[version='>=4.0.1|>=9.0.0|>=9.0.1']
vtk=8.1 -> expat[version='>=2.2.5,<2.3.0a0'] -> libcxx[version='>=9.0.0|>=9.0.1']
coin3d -> expat[version='>=2.2.5,<2.3.0a0'] -> libcxx[version='>=9.0.0']
pybind11 -> python[version='>=3.6,<3.7.0a0'] -> libcxx
smesh -> libcxx[version='>=4.0.1|>=9.0.0|>=9.0.1']
swig -> pcre[version='>=8.41,<9.0a0'] -> libcxx[version='>=9.0.0|>=9.0.1']
ninja -> libcxx[version='>=4.0.1|>=9.0.0|>=9.0.1']
occt=7.2.0 -> freeimage -> libcxx[version='>=4.0.1|>=9.0.0']
smesh -> python[version='>=3.6,<3.7.0a0'] -> libcxx
pivy -> python[version='>=3.6,<3.7.0a0'] -> libcxx
hdf5 -> libcxx[version='>=4.0.1|>=9.0.0']
vtk=8.1 -> libcxx[version='>=4.0.1']
pivy -> libcxx[version='>=4.0.1|>=9.0.0|>=9.0.1']
xerces-c=3.2 -> libcxx[version='>=4.0.1|>=9.0.1']
pyside2=5.6 -> python[version='>=3.6,<3.7.0a0'] -> libcxx[version='>=9.0.0|>=9.0.1']
gcc -> gmp[version='>=4.3.2'] -> libcxx[version='>=4.0.1|>=9.0.1']
netgen -> python[version='>=3.8,<3.9.0a0'] -> libcxx[version='>=9.0.1']
matplotlib -> matplotlib-base==3.1.3=py38h11da6c2_0 -> libcxx[version='>=9.0.0|>=9.0.1']
pyside2=5.6 -> libcxx[version='>=4.0.1']
netgen -> libcxx[version='>=4.0.1|>=9.0.0']
eigen -> libcxx[version='>=4.0.1|>=9.0.0']
hdf5 -> openmpi[version='>=4.0,<4.1.0a0'] -> libcxx[version='>=9.0.1']
git -> expat[version='>=2.2.9,<2.3.0a0'] -> libcxx[version='>=4.0.1|>=9.0.0|>=9.0.1']
doxygen -> libcxx[version='>=4.0.1|>=9.0.0']
ninja -> python[version='>=3.6,<3.7.0a0'] -> libcxx
pybind11 -> libcxx[version='>=4.0.1|>=9.0.0|>=9.0.1']
qt=5.6 -> libcxx[version='>=4.0.1']
matplotlib -> libcxx[version='>=4.0.1']
boost-cpp=1.66.0 -> icu=58 -> libcxx[version='>=4.0.1']

Package openssl conflicts for:
pyside2=5.6 -> python[version='>=3.6,<3.7.0a0'] -> openssl[version='1.0.*|>=1.0.2o,<1.0.3a|>=1.0.2p,<1.0.3a|>=1.1.1a,<1.1.2a|>=1.1.1d,<1.1.2a|>=1.1.1c,<1.1.2a|>=1.0.2n,<1.0.3a|>=1.0.2m,<1.0.3a|>=1.0.2l,<1.0.3a|>=1.1.1b,<1.1.2a']
pybind11 -> python[version='>=3.7,<3.8.0a0'] -> openssl[version='1.0.*|>=1.0.2o,<1.0.3a|>=1.0.2p,<1.0.3a|>=1.1.1a,<1.1.2a|>=1.1.1d,<1.1.2a|>=1.1.1c,<1.1.2a|>=1.1.1b,<1.1.2a|>=1.0.2n,<1.0.3a|>=1.0.2m,<1.0.3a|>=1.0.2l,<1.0.3a']
pivy -> python[version='>=3.8,<3.9.0a0'] -> openssl[version='1.0.*|>=1.0.2o,<1.0.3a|>=1.0.2p,<1.0.3a|>=1.1.1a,<1.1.2a|>=1.1.1d,<1.1.2a|>=1.0.2n,<1.0.3a|>=1.0.2m,<1.0.3a|>=1.1.1c,<1.1.2a|>=1.1.1b,<1.1.2a|>=1.0.2l,<1.0.3a']
smesh -> python[version='>=3.6,<3.7.0a0'] -> openssl[version='1.0.*|>=1.0.2o,<1.0.3a|>=1.0.2p,<1.0.3a|>=1.1.1a,<1.1.2a|>=1.1.1d,<1.1.2a|>=1.1.1c,<1.1.2a|>=1.0.2n,<1.0.3a|>=1.0.2m,<1.0.3a|>=1.0.2l,<1.0.3a|>=1.1.1b,<1.1.2a']
vtk=8.1 -> python[version='>=3.7,<3.8.0a0'] -> openssl[version='1.0.*|>=1.0.2o,<1.0.3a|>=1.0.2p,<1.0.3a|>=1.1.1a,<1.1.2a|>=1.1.1d,<1.1.2a|>=1.1.1c,<1.1.2a|>=1.1.1b,<1.1.2a|>=1.0.2n,<1.0.3a|>=1.0.2m,<1.0.3a|>=1.0.2l,<1.0.3a']
git -> libcurl[version='>=7.65.3,<8.0a0'] -> openssl[version='>=1.1.1b,<1.1.2a|>=1.1.1c,<1.1.2a']
git -> openssl[version='1.0.*|>=1.0.2o,<1.0.3a|>=1.0.2p,<1.0.3a|>=1.1.1a,<1.1.2a|>=1.1.1d,<1.1.2a|>=1.0.2n,<1.0.3a|>=1.0.2m,<1.0.3a']
matplotlib -> python[version='>=3.8,<3.9.0a0'] -> openssl[version='1.0.*|>=1.0.2o,<1.0.3a|>=1.0.2p,<1.0.3a|>=1.1.1a,<1.1.2a|>=1.1.1d,<1.1.2a|>=1.1.1c,<1.1.2a|>=1.0.2n,<1.0.3a|>=1.0.2m,<1.0.3a|>=1.0.2l,<1.0.3a|>=1.1.1b,<1.1.2a']
python=3.7 -> openssl[version='>=1.0.2o,<1.0.3a|>=1.0.2p,<1.0.3a|>=1.1.1a,<1.1.2a|>=1.1.1d,<1.1.2a|>=1.1.1c,<1.1.2a|>=1.1.1b,<1.1.2a']
netgen -> python[version='>=3.8,<3.9.0a0'] -> openssl[version='1.0.*|>=1.0.2o,<1.0.3a|>=1.0.2p,<1.0.3a|>=1.1.1a,<1.1.2a|>=1.1.1d,<1.1.2a|>=1.1.1c,<1.1.2a|>=1.0.2n,<1.0.3a|>=1.0.2m,<1.0.3a|>=1.0.2l,<1.0.3a|>=1.1.1b,<1.1.2a']
cmake -> libcurl[version='>=7.64.1,<8.0a0'] -> openssl[version='1.0.*|>=1.0.2o,<1.0.3a|>=1.1.1a,<1.1.2a|>=1.1.1d,<1.1.2a|>=1.1.1c,<1.1.2a|>=1.1.1b,<1.1.2a|>=1.0.2p,<1.0.3a|>=1.0.2m,<1.0.3a|>=1.0.2l,<1.0.3a']
ninja -> python[version='>=3.8,<3.9.0a0'] -> openssl[version='1.0.*|>=1.0.2o,<1.0.3a|>=1.0.2p,<1.0.3a|>=1.1.1a,<1.1.2a|>=1.1.1d,<1.1.2a|>=1.1.1c,<1.1.2a|>=1.1.1b,<1.1.2a|>=1.0.2n,<1.0.3a|>=1.0.2m,<1.0.3a|>=1.0.2l,<1.0.3a']

Package libblas conflicts for:
matplotlib -> numpy=1.11 -> libblas[version='>=3.8.0,<4.0a0']
nomkl -> blas=[build=openblas] -> libblas==3.8.0[build='4_openblas|6_openblas|13_openblas|14_openblas|12_openblas|11_openblas|10_openblas|9_openblas|8_openblas|7_openblas|5_openblas']

Package hdf5 conflicts for:
hdf5
vtk=8.1 -> hdf5[version='1.10.1.*|>=1.10.4,<1.10.5.0a0|1.8.18|1.8.18.*|>=1.10.2,<1.10.3.0a0|>=1.8.20,<1.9.0a0|>=1.8.18,<1.8.19.0a0|>=1.10.1,<1.10.2.0a0']
vtk=8.1 -> libnetcdf[version='>=4.6.2,<4.7.0a0'] -> hdf5[version='*|*|*|1.10.1|1.10.2.*|>=1.10.3,<1.10.4.0a0|>=1.10.5,<1.10.6.0a0|1.8.17|1.8.17.*|1.8.17.*|>=1.10.5,<1.10.6.0a0|>=1.10.5,<1.10.6.0a0',build='nompi_*|mpi_mpich_*|mpi_mpich_*|mpi_openmpi_*|mpi_openmpi_*']
smesh -> vtk[version='>=8.2.0,<8.2.1.0a0'] -> hdf5[version='1.10.1.*|>=1.10.4,<1.10.5.0a0|>=1.10.5,<1.10.6.0a0|>=1.10.2,<1.10.3.0a0|>=1.8.20,<1.9.0a0|1.8.18|1.8.18.*|>=1.8.18,<1.8.19.0a0|>=1.10.1,<1.10.2.0a0']

Package libxml2 conflicts for:
pyside2=5.6 -> libxml2[version='>=2.9.8,<2.10.0a0|>=2.9.9,<2.10.0a0']
cmake -> libarchive -> libxml2[version='>=2.9.10,<2.10.0a0|>=2.9.9,<2.10.0a0|>=2.9.8,<2.10.0a0|>=2.9.7,<2.10.0a0|>=2.9.4,<2.10.0a0']
vtk=8.1 -> libxml2[version='2.9.*|>=2.9.8,<2.10.0a0|>=2.9.7,<2.10.0a0']
pyside2=5.6 -> libxslt[version='>=1.1.32,<2.0a0'] -> libxml2[version='2.9.*|>=2.9.7,<2.10.0a0|>=2.9.4,<2.10.0a0']
smesh -> vtk[version='>=8.2.0,<8.2.1.0a0'] -> libxml2[version='2.9.*|>=2.9.10,<2.10.0a0|>=2.9.9,<2.10.0a0|>=2.9.8,<2.10.0a0|>=2.9.7,<2.10.0a0']
pivy -> pyside2 -> libxml2[version='>=2.9.10,<2.10.0a0|>=2.9.9,<2.10.0a0|>=2.9.8,<2.10.0a0']

Package libpng conflicts for:
smesh -> vtk[version='>=8.2.0,<8.2.1.0a0'] -> libpng[version='>=1.6.23,<1.7|>=1.6.32,<1.6.35|>=1.6.34,<1.7.0a0|>=1.6.35,<1.7.0a0|>=1.6.37,<1.7.0a0|>=1.6.36,<1.7.0a0']
occt=7.2.0 -> freetype=2.8 -> libpng[version='>=1.6.32,<1.6.35|>=1.6.34,<1.7.0a0|>=1.6.32,<1.7.0a0']
vtk=8.1 -> libpng[version='>=1.6.23,<1.7|>=1.6.32,<1.6.35|>=1.6.34,<1.7.0a0|>=1.6.35,<1.7.0a0']
vtk=8.1 -> libtheora -> libpng[version='>=1.6.32,<1.7.0a0|>=1.6.37,<1.7.0a0']
matplotlib -> libpng[version='>=1.6.23,<1.7|>=1.6.37,<1.7.0a0|>=1.6.36,<1.7.0a0|>=1.6.35,<1.7.0a0|>=1.6.34,<1.7.0a0|>=1.6.32,<1.7.0a0']
qt=5.6 -> libpng[version='>=1.6.32,<1.7.0a0|>=1.6.34,<1.7.0a0|>=1.6.35,<1.7.0a0']
matplotlib -> freetype=2.6 -> libpng[version='1.6.*|>=1.6.21,<1.7|>=1.6.32,<1.6.35']
pyside2=5.6 -> qt[version='>=5.6.2,<5.7.0a0'] -> libpng[version='>=1.6.32,<1.7.0a0|>=1.6.34,<1.7.0a0|>=1.6.35,<1.7.0a0']
pivy -> qt[version='>=5.12.5,<5.13.0a0'] -> libpng[version='>=1.6.32,<1.7.0a0|>=1.6.34,<1.7.0a0|>=1.6.35,<1.7.0a0']

Package ca-certificates conflicts for:
vtk=8.1 -> python[version='>=2.7,<2.8.0a0'] -> ca-certificates
pyside2=5.6 -> python[version='>=2.7,<2.8.0a0'] -> ca-certificates
ninja -> python[version='>=2.7,<2.8.0a0'] -> ca-certificates
pivy -> python[version='>=2.7,<2.8.0a0'] -> ca-certificates
python=3.7 -> openssl[version='>=1.1.1a,<1.1.2a'] -> ca-certificates
git -> openssl[version='>=1.1.1a,<1.1.2a'] -> ca-certificates
matplotlib -> python[version='>=2.7,<2.8.0a0'] -> ca-certificates
pybind11 -> python[version='>=2.7,<2.8.0a0'] -> ca-certificates

Package python conflicts for:
matplotlib -> python[version='2.7.*|3.4.*|3.5.*|>=2.7,<2.8.0a0|>=3.6,<3.7.0a0|>=3.8,<3.9.0a0|>=3.7,<3.8.0a0|>=3.5,<3.6.0a0']
pyside2=5.6 -> python[version='2.7.*|3.5.*|3.6.*|>=2.7,<2.8.0a0|>=3.6,<3.7.0a0|>=3.7,<3.8.0a0|>=3.5,<3.6.0a0']
netgen -> python[version='3.5.*|3.6.*|>=3.5,<3.6.0a0|>=3.6,<3.7.0a0|>=3.8,<3.9.0a0|>=3.7,<3.8.0a0']
smesh -> netgen -> python[version='3.5.*|3.6.*|>=2.7,<2.8.0a0']
smesh -> python[version='>=3.5,<3.6.0a0|>=3.6,<3.7.0a0|>=3.8,<3.9.0a0|>=3.7,<3.8.0a0']
matplotlib -> cycler -> python[version='3.6.*|<3']
vtk=8.1 -> future -> python[version='2.7.*|3.4.*|3.5.*|3.6.*|>=3.8,<3.9.0a0']
pybind11 -> python[version='2.7.*|3.5.*|3.6.*|>=2.7,<2.8.0a0|>=3.6,<3.7.0a0|>=3.7,<3.8.0a0|>=3.8,<3.9.0a0|>=3.5,<3.6.0a0|3.4.*']
pivy -> python[version='2.7.*|3.5.*|3.6.*|>=2.7,<2.8.0a0|>=3.8,<3.9.0a0|>=3.7,<3.8.0a0|>=3.6,<3.7.0a0|>=3.5,<3.6.0a0']
python=3.7
swig -> boost -> python[version='2.7.*|3.5.*|3.6.*|>=2.7,<2.8.0a0|>=3.8,<3.9.0a0|>=3.6,<3.7.0a0|>=3.7,<3.8.0a0|>=3.5,<3.6.0a0|3.4.*']
vtk=8.1 -> python[version='>=2.7,<2.8.0a0|>=3.7,<3.8.0a0|>=3.6,<3.7.0a0|>=3.5,<3.6.0a0']
ninja -> python[version='>=2.7,<2.8.0a0|>=3.6,<3.7.0a0|>=3.7,<3.8.0a0|>=3.8,<3.9.0a0|>=3.5,<3.6.0a0']

Package boost-cpp conflicts for:
swig -> boost -> boost-cpp[version='1.63.0|1.64.0|1.65.0|1.65.1|1.66.0|1.67.0|1.67.0.*|1.68.0.*|1.69.0.*|1.70.0.*']
coin3d -> boost-cpp[version='1.66.0|>=1.66.0,<1.66.1.0a0|>=1.67.0,<1.67.1.0a0|>=1.68.0,<1.68.1.0a0|>=1.70.0,<1.70.1.0a0']
boost-cpp=1.66.0
swig -> boost-cpp=1.64
smesh -> boost-cpp[version='1.66.*|>=1.66.0,<1.67.0a0|>=1.67.0,<1.67.1.0a0|>=1.68.0,<1.68.1.0a0|>=1.70.0,<1.70.1.0a0']
pivy -> coin3d -> boost-cpp[version='1.66.0|>=1.66.0,<1.66.1.0a0|>=1.67.0,<1.67.1.0a0|>=1.68.0,<1.68.1.0a0|>=1.70.0,<1.70.1.0a0']

Package libiconv conflicts for:
cmake -> libarchive -> libiconv[version='>=1.15,<1.16.0a0|>=1.15,<2.0a0']
pyside2=5.6 -> libxml2[version='>=2.9.9,<2.10.0a0'] -> libiconv[version='1.15|>=1.15,<1.16.0a0|>=1.15,<2.0a0']
vtk=8.1 -> libxml2[version='>=2.9.8,<2.10.0a0'] -> libiconv[version='1.15|>=1.15,<1.16.0a0|>=1.15,<2.0a0']
git -> libiconv[version='1.15|1.15.*|>=1.15,<1.16.0a0|>=1.15,<2.0a0']
doxygen -> libiconv[version='>=1.15,<1.16.0a0']

Package icu conflicts for:
smesh -> boost-cpp[version='>=1.70.0,<1.70.1.0a0'] -> icu[version='58.*|>=58.2,<59.0a0|>=64.2,<65.0a0']
swig -> boost-cpp=1.64 -> icu[version='56.*|58.*|>=64.2,<65.0a0|>=58.2,<59.0a0']
qt=5.6 -> icu[version='>=58.2,<59.0a0']
boost-cpp=1.66.0 -> icu=58
xerces-c=3.2 -> icu[version='58.*|>=58.2,<59.0a0|>=64.2,<65.0a0']
pivy -> qt[version='>=5.12.5,<5.13.0a0'] -> icu[version='>=58.2,<59.0a0|>=64.2,<65.0a0']
vtk=8.1 -> libxml2[version='>=2.9.8,<2.10.0a0'] -> icu[version='56.*|58.*|>=58.2,<59.0a0|>=64.2,<65.0a0']
coin3d -> boost-cpp[version='>=1.70.0,<1.70.1.0a0'] -> icu[version='58.*|>=58.2,<59.0a0|>=64.2,<65.0a0']
pyside2=5.6 -> libxml2[version='>=2.9.9,<2.10.0a0'] -> icu[version='56.*|58.*|>=58.2,<59.0a0|>=64.2,<65.0a0']

Package vtk conflicts for:
smesh -> vtk[version='8.*|>=8.1.1,<8.1.2.0a0|>=8.1.2,<8.1.3.0a0|>=8.2.0,<8.2.1.0a0']
vtk=8.1

Package ncurses conflicts for:
pivy -> python[version='>=3.8,<3.9.0a0'] -> ncurses[version='>=6.0,<7.0a0|>=6.1,<6.2.0a0|>=6.1,<7.0a0']
python=3.7 -> ncurses[version='>=6.1,<7.0a0']
matplotlib -> python[version='>=3.8,<3.9.0a0'] -> ncurses[version='>=6.0,<7.0a0|>=6.1,<6.2.0a0|>=6.1,<7.0a0']
qt=5.6 -> sqlite[version='>=3.26.0,<4.0a0'] -> ncurses[version='5.9|5.9.*|>=6.1,<6.2.0a0']
ninja -> python[version='>=3.8,<3.9.0a0'] -> ncurses[version='>=6.0,<7.0a0|>=6.1,<6.2.0a0|>=6.1,<7.0a0']
pybind11 -> python[version='>=3.7,<3.8.0a0'] -> ncurses[version='>=6.0,<7.0a0|>=6.1,<6.2.0a0|>=6.1,<7.0a0']
cmake -> ncurses[version='5.9.*|>=6.1,<6.2.0a0|>=6.1,<7.0a0|6.*']
netgen -> python[version='>=3.8,<3.9.0a0'] -> ncurses[version='>=6.0,<7.0a0|>=6.1,<6.2.0a0|>=6.1,<7.0a0']
vtk=8.1 -> python[version='>=3.7,<3.8.0a0'] -> ncurses[version='>=6.0,<7.0a0|>=6.1,<7.0a0|>=6.1,<6.2.0a0']
smesh -> python[version='>=3.6,<3.7.0a0'] -> ncurses[version='>=6.0,<7.0a0|>=6.1,<6.2.0a0|>=6.1,<7.0a0']
pyside2=5.6 -> python[version='>=3.6,<3.7.0a0'] -> ncurses[version='>=6.0,<7.0a0|>=6.1,<6.2.0a0|>=6.1,<7.0a0']
python=3.7 -> readline[version='>=8.0,<9.0a0'] -> ncurses[version='5.9.*|>=6.1,<6.2.0a0|>=6.0,<7.0a0|6.0.*']

Package curl conflicts for:
git -> curl[version='>=7.44.0,<8|>=7.59.0,<8.0a0|>=7.64.0,<8.0a0|>=7.64.1,<8.0a0']
cmake -> curl[version='>=7.44.0,<8|>=7.59.0,<8.0a0|>=7.61.1,<8.0a0']
vtk=8.1 -> libnetcdf[version='>=4.6.2,<4.7.0a0'] -> curl[version='>=7.44.0,<8|>=7.59.0,<8.0a0|>=7.64.1,<8.0a0|>=7.54.1,<8']

Package bzip2 conflicts for:
coin3d -> boost-cpp[version='>=1.70.0,<1.70.1.0a0'] -> bzip2[version='1.0.*|>=1.0.6,<2.0a0|>=1.0.8,<2.0a0']
smesh -> boost-cpp[version='>=1.70.0,<1.70.1.0a0'] -> bzip2[version='1.0.*|>=1.0.6,<2.0a0|>=1.0.8,<2.0a0']
ninja -> python[version='>=3.7,<3.8.0a0'] -> bzip2[version='>=1.0.6,<2.0a0|>=1.0.8,<2.0a0']
boost-cpp=1.66.0 -> bzip2=1.0
cmake -> bzip2[version='1.0.*|>=1.0.6,<2.0a0|>=1.0.8,<2.0a0']
python=3.7 -> bzip2[version='>=1.0.6,<2.0a0|>=1.0.8,<2.0a0']
pybind11 -> python[version='>=3.7,<3.8.0a0'] -> bzip2[version='>=1.0.6,<2.0a0|>=1.0.8,<2.0a0']
matplotlib -> python[version='>=3.6,<3.7.0a0'] -> bzip2[version='>=1.0.6,<2.0a0|>=1.0.8,<2.0a0']
swig -> boost-cpp=1.64 -> bzip2[version='1.0.*|>=1.0.8,<2.0a0|>=1.0.6,<2.0a0']
pivy -> python[version='>=3.7,<3.8.0a0'] -> bzip2[version='>=1.0.6,<2.0a0|>=1.0.8,<2.0a0']
pyside2=5.6 -> python[version='>=3.6,<3.7.0a0'] -> bzip2[version='>=1.0.6,<2.0a0|>=1.0.8,<2.0a0']
netgen -> python[version='>=3.6,<3.7.0a0'] -> bzip2[version='>=1.0.6,<2.0a0|>=1.0.8,<2.0a0']
vtk=8.1 -> libnetcdf[version='>=4.6.2,<4.7.0a0'] -> bzip2[version='>=1.0.6,<2.0a0|>=1.0.8,<2.0a0']

Package jpeg conflicts for:
smesh -> vtk[version='>=8.2.0,<8.2.1.0a0'] -> jpeg[version='9.*|>=9b,<10a|>=9c,<10a']
vtk=8.1 -> jpeg[version='9.*|>=9b,<10a|>=9c,<10a']
pivy -> qt[version='>=5.12.5,<5.13.0a0'] -> jpeg[version='>=9b,<10a|>=9c,<10a']
pyside2=5.6 -> qt[version='>=5.6.2,<5.7.0a0'] -> jpeg[version='>=9b,<10a|>=9c,<10a']
qt=5.6 -> jpeg[version='>=9b,<10a|>=9c,<10a']

Package libgfortran conflicts for:
nomkl -> blas=[build=openblas] -> libgfortran[version='>=3.0.1,<4.0.0.a0|>=4.0.0,<5.0.0.a0']
hdf5 -> libgfortran[version='>=3.0,<4.0.0.a0|>=3.0.1,<4.0.0.a0|>=4.0.0,<5.0.0.a0']
pivy -> libgcc -> libgfortran==3.0.1
vtk=8.1 -> hdf5[version='>=1.10.4,<1.10.5.0a0'] -> libgfortran[version='>=3.0,<4.0.0.a0|>=3.0.1,<4.0.0.a0']
matplotlib -> numpy=1.11 -> libgfortran[version='>=3.0,<4.0.0.a0|>=3.0.1,<4.0.0.a0']

Package occt conflicts for:
netgen -> occt[version='7.2.*|>=7.3.0,<7.4.0a0|>=7.4.0,<7.5.0a0']
smesh -> occt[version='7.2.*|>=7.2.0,<7.3.0a0|>=7.3.0,<7.4.0a0|>=7.4.0,<7.5.0a0']
occt=7.2.0

Package tbb conflicts for:
occt=7.2.0 -> tbb
smesh -> vtk[version='>=8.2.0,<8.2.1.0a0'] -> tbb[version='>=2019.0,<2020.0a0|>=2019.1|>=2019.2|>=2019.3']
netgen -> occt[version='>=7.4.0,<7.5.0a0'] -> tbb[version='>=2019.0,<2020.0a0|>=2019.0|>=2019.2|>=2019.4|>=2019.7|>=2019.9']
vtk=8.1 -> tbb[version='>=2019.0|>=2019.3|>=2019.1']
smesh -> tbb[version='>=2019.0|>=2019.4|>=2019.7|>=2019.9']

Package krb5 conflicts for:
git -> curl[version='>=7.64.1,<8.0a0'] -> krb5[version='1.14.*|>=1.14.6,<1.15.0a0|>=1.16.1,<1.17.0a0|>=1.16.3,<1.17.0a0|>=1.16.4,<1.17.0a0|>=1.17.1,<1.18.0a0|>=1.16.2,<1.17.0a0']
cmake -> libcurl[version='>=7.64.1,<8.0a0'] -> krb5[version='1.14.*|>=1.14.6,<1.15.0a0|>=1.16.1,<1.17.0a0|>=1.16.3,<1.17.0a0|>=1.16.4,<1.17.0a0|>=1.17.1,<1.18.0a0|>=1.16.2,<1.17.0a0']

Package qt conflicts for:
pivy -> qt[version='5.6.*|>=5.12.1,<5.13.0a0|>=5.12.5,<5.13.0a0|>=5.9.7,<5.10.0a0|>=5.6.2,<5.7.0a0|>=5.6,<5.7.0a0']
qt=5.6
pivy -> soqt -> qt=5
pyside2=5.6 -> qt[version='5.6.*|>=5.6.2,<5.7.0a0']

Package mpfr conflicts for:
gcc -> mpc[version='>=0.8.1'] -> mpfr[version='3.*|4.*|>=4.0.1,<5.0a0|>=4.0.2,<5.0a0']
gcc -> mpfr[version='>=2.4.2']

Package zstd conflicts for:
cmake -> libarchive -> zstd[version='>=1.3.3,<1.3.4.0a0|>=1.4.0,<1.4.1.0a0|>=1.4.4,<1.4.5.0a0|>=1.3.7,<1.3.8.0a0']
vtk=8.1 -> libtiff[version='>=4.0.9,<5.0a0'] -> zstd[version='>=1.3.3,<1.3.4.0a0|>=1.4.0,<1.4.1.0a0|>=1.4.3,<1.4.4.0a0|>=1.4.4,<1.4.5.0a0|>=1.3.7,<1.3.8.0a0']

Package libedit conflicts for:
qt=5.6 -> sqlite[version='>=3.26.0,<4.0a0'] -> libedit[version='>=3.1.20170329,<3.2.0a0|>=3.1.20181209,<3.2.0a0']
python=3.7 -> sqlite[version='>=3.30.1,<4.0a0'] -> libedit[version='>=3.1.20170329,<3.2.0a0|>=3.1.20181209,<3.2.0a0']

Package tk conflicts for:
vtk=8.1 -> python[version='>=3.7,<3.8.0a0'] -> tk[version='8.5.*|8.6.*|>=8.6.10,<8.7.0a0|>=8.6.9,<8.7.0a0|>=8.6.8,<8.7.0a0|>=8.6.7,<8.7.0a0']
smesh -> python[version='>=3.6,<3.7.0a0'] -> tk[version='8.5.*|8.6.*|>=8.6.8,<8.7.0a0|>=8.6.9,<8.7.0a0|>=8.6.7,<8.7.0a0|>=8.6.10,<8.7.0a0']
pybind11 -> python[version='>=3.7,<3.8.0a0'] -> tk[version='8.5.*|8.6.*|>=8.6.10,<8.7.0a0|>=8.6.9,<8.7.0a0|>=8.6.8,<8.7.0a0|>=8.6.7,<8.7.0a0']
python=3.7 -> tk[version='>=8.6.10,<8.7.0a0|>=8.6.9,<8.7.0a0|>=8.6.8,<8.7.0a0|>=8.6.7,<8.7.0a0']
pyside2=5.6 -> python[version='>=3.6,<3.7.0a0'] -> tk[version='8.5.*|8.6.*|>=8.6.8,<8.7.0a0|>=8.6.9,<8.7.0a0|>=8.6.7,<8.7.0a0|>=8.6.10,<8.7.0a0']
pivy -> python[version='>=3.8,<3.9.0a0'] -> tk[version='8.5.*|8.6.*|>=8.6.10,<8.7.0a0|>=8.6.9,<8.7.0a0|>=8.6.8,<8.7.0a0|>=8.6.7,<8.7.0a0']
netgen -> python[version='>=3.8,<3.9.0a0'] -> tk[version='8.5.*|8.6.*|>=8.6.10,<8.7.0a0|>=8.6.9,<8.7.0a0|>=8.6.8,<8.7.0a0|>=8.6.7,<8.7.0a0']
matplotlib -> python[version='>=3.8,<3.9.0a0'] -> tk[version='8.5.*|8.6.*|>=8.6.10,<8.7.0a0|>=8.6.9,<8.7.0a0|>=8.6.8,<8.7.0a0|>=8.6.7,<8.7.0a0']
git -> tk[version='8.*|>=8.6.10,<8.7.0a0|>=8.6.9,<8.7.0a0|>=8.6.8,<8.7.0a0|>=8.6.7,<8.7.0a0']
ninja -> python[version='>=3.8,<3.9.0a0'] -> tk[version='8.5.*|8.6.*|>=8.6.10,<8.7.0a0|>=8.6.9,<8.7.0a0|>=8.6.8,<8.7.0a0|>=8.6.7,<8.7.0a0']

Package pip conflicts for:
matplotlib -> python[version='>=3.8,<3.9.0a0'] -> pip
pybind11 -> python[version='>=3.7,<3.8.0a0'] -> pip
netgen -> python[version='>=3.8,<3.9.0a0'] -> pip
smesh -> python[version='>=3.6,<3.7.0a0'] -> pip
python=3.7 -> pip
ninja -> python[version='>=3.8,<3.9.0a0'] -> pip
vtk=8.1 -> python[version='>=3.7,<3.8.0a0'] -> pip
pyside2=5.6 -> python[version='>=3.6,<3.7.0a0'] -> pip
pivy -> python[version='>=3.8,<3.9.0a0'] -> pip

Package sqlite conflicts for:
qt=5.6 -> sqlite[version='>=3.20.1,<4.0a0|>=3.24.0,<4.0a0|>=3.25.3,<4.0a0|>=3.26.0,<4.0a0']
python=3.7 -> sqlite[version='>=3.24.0,<4.0a0|>=3.25.1,<4.0a0|>=3.25.2,<4.0a0|>=3.25.3,<4.0a0|>=3.26.0,<4.0a0|>=3.28.0,<4.0a0|>=3.30.1,<4.0a0|>=3.29.0,<4.0a0|>=3.27.2,<4.0a0']
ninja -> python[version='>=3.8,<3.9.0a0'] -> sqlite[version='3.13.*|3.20.*|>=3.24.0,<4.0a0|>=3.25.1,<4.0a0|>=3.25.2,<4.0a0|>=3.25.3,<4.0a0|>=3.26.0,<4.0a0|>=3.28.0,<4.0a0|>=3.30.0,<4.0a0|>=3.30.1,<4.0a0|>=3.29.0,<4.0a0|>=3.27.2,<4.0a0|>=3.23.1,<4.0a0|>=3.22.0,<4.0a0|>=3.20.1,<4.0a0|3.9.*']
pyside2=5.6 -> python[version='>=3.6,<3.7.0a0'] -> sqlite[version='3.13.*|3.20.*|>=3.24.0,<4.0a0|>=3.25.2,<4.0a0|>=3.25.3,<4.0a0|>=3.26.0,<4.0a0|>=3.28.0,<4.0a0|>=3.30.1,<4.0a0|>=3.29.0,<4.0a0|>=3.23.1,<4.0a0|>=3.22.0,<4.0a0|>=3.20.1,<4.0a0|>=3.25.1,<4.0a0|>=3.27.2,<4.0a0|>=3.30.0,<4.0a0|3.9.*']
vtk=8.1 -> python[version='>=3.7,<3.8.0a0'] -> sqlite[version='3.13.*|3.20.*|>=3.24.0,<4.0a0|>=3.25.1,<4.0a0|>=3.25.2,<4.0a0|>=3.25.3,<4.0a0|>=3.26.0,<4.0a0|>=3.28.0,<4.0a0|>=3.30.1,<4.0a0|>=3.29.0,<4.0a0|>=3.27.2,<4.0a0|>=3.30.0,<4.0a0|>=3.23.1,<4.0a0|>=3.22.0,<4.0a0|>=3.20.1,<4.0a0|3.9.*']
matplotlib -> python[version='>=3.8,<3.9.0a0'] -> sqlite[version='3.13.*|3.20.*|>=3.24.0,<4.0a0|>=3.25.2,<4.0a0|>=3.25.3,<4.0a0|>=3.26.0,<4.0a0|>=3.28.0,<4.0a0|>=3.30.0,<4.0a0|>=3.30.1,<4.0a0|>=3.29.0,<4.0a0|>=3.23.1,<4.0a0|>=3.22.0,<4.0a0|>=3.20.1,<4.0a0|>=3.25.1,<4.0a0|>=3.27.2,<4.0a0|3.9.*']
pivy -> python[version='>=3.8,<3.9.0a0'] -> sqlite[version='3.13.*|3.20.*|>=3.24.0,<4.0a0|>=3.25.2,<4.0a0|>=3.25.3,<4.0a0|>=3.26.0,<4.0a0|>=3.28.0,<4.0a0|>=3.29.0,<4.0a0|>=3.30.0,<4.0a0|>=3.30.1,<4.0a0|>=3.27.2,<4.0a0|>=3.23.1,<4.0a0|>=3.22.0,<4.0a0|>=3.20.1,<4.0a0|>=3.25.1,<4.0a0|3.9.*']
netgen -> python[version='>=3.8,<3.9.0a0'] -> sqlite[version='3.13.*|3.20.*|>=3.24.0,<4.0a0|>=3.25.2,<4.0a0|>=3.25.3,<4.0a0|>=3.26.0,<4.0a0|>=3.28.0,<4.0a0|>=3.30.0,<4.0a0|>=3.30.1,<4.0a0|>=3.29.0,<4.0a0|>=3.23.1,<4.0a0|>=3.22.0,<4.0a0|>=3.20.1,<4.0a0|>=3.25.1,<4.0a0|>=3.27.2,<4.0a0|3.9.*']
pybind11 -> python[version='>=3.7,<3.8.0a0'] -> sqlite[version='3.13.*|3.20.*|>=3.24.0,<4.0a0|>=3.25.1,<4.0a0|>=3.25.2,<4.0a0|>=3.25.3,<4.0a0|>=3.26.0,<4.0a0|>=3.28.0,<4.0a0|>=3.30.1,<4.0a0|>=3.29.0,<4.0a0|>=3.27.2,<4.0a0|>=3.23.1,<4.0a0|>=3.22.0,<4.0a0|>=3.20.1,<4.0a0|>=3.30.0,<4.0a0|3.9.*']
smesh -> python[version='>=3.6,<3.7.0a0'] -> sqlite[version='3.13.*|3.20.*|>=3.24.0,<4.0a0|>=3.25.2,<4.0a0|>=3.25.3,<4.0a0|>=3.26.0,<4.0a0|>=3.28.0,<4.0a0|>=3.30.1,<4.0a0|>=3.29.0,<4.0a0|>=3.23.1,<4.0a0|>=3.22.0,<4.0a0|>=3.20.1,<4.0a0|>=3.30.0,<4.0a0|>=3.25.1,<4.0a0|>=3.27.2,<4.0a0|3.9.*']

Package jsoncpp conflicts for:
vtk=8.1 -> jsoncpp[version='1.8.1.*|>=1.8.1,<1.8.2.0a0|>=1.8.4,<1.8.5.0a0']
cmake -> jsoncpp
smesh -> vtk[version='>=8.2.0,<8.2.1.0a0'] -> jsoncpp[version='1.8.1.*|>=1.8.1,<1.8.2.0a0|>=1.8.4,<1.8.5.0a0']

Package numpy conflicts for:
matplotlib -> matplotlib-base==3.1.0=py36habd5b94_0 -> numpy[version='>=1.11.3,<2.0a0|>=1.9.3,<2.0a0']
swig -> boost -> numpy[version='1.11.*|1.12.*|1.13.*|>=1.11|>=1.14.6,<2.0a0|>=1.9.3,<2.0a0|>=1.8|>=1.9|>=1.7']
matplotlib -> numpy[version='1.10.*|1.11.*|>=1.14.6,<2.0a0']

Package setuptools conflicts for:
python=3.7 -> pip -> setuptools
matplotlib -> setuptools

Package pyside2 conflicts for:
pivy -> pyside2
pyside2=5.6

Package libboost conflicts for:
swig -> boost-cpp -> libboost[version='1.65.1|1.65.1|1.67.0',build='h8182a68_3|hcc95346_4|hebc422b_4']
coin3d -> boost-cpp[version='>=1.67.0,<1.67.1.0a0'] -> libboost==1.67.0=hebc422b_4
smesh -> boost-cpp[version='>=1.67.0,<1.67.1.0a0'] -> libboost==1.67.0=hebc422b_4

Package isl conflicts for:
gcc -> cloog==0.18.0 -> isl==0.12.2
gcc -> isl[version='>=0.10,<=0.14']

Package cloog conflicts for:
gcc -> cloog==0.18.0
pivy -> libgcc -> cloog==0.18.0

Package coin3d conflicts for:
pivy -> coin3d
coin3d

Package gmp conflicts for:
gcc -> cloog==0.18.0 -> gmp[version='5.1.2|>=6.1.2,<7.0a0|>=5.0.1,<7|>=6.1.2']
gcc -> gmp[version='>=4.3.2']

Package libcurl conflicts for:
cmake -> curl[version='>=7.61.1,<8.0a0'] -> libcurl[version='7.57.0|7.58.0|7.59.0|7.60.0|7.61.0|7.61.1|7.61.1|7.61.1|7.62.0|7.62.0|7.63.0|7.63.0|7.64.0|7.64.0|7.64.0|7.64.1|7.65.2|7.65.3|7.68.0|7.68.0|7.67.0|7.65.3|7.65.2|7.64.1|7.64.0|7.63.0|7.63.0|7.62.0',build='hf30b1f0_0|hf30b1f0_0|h051b688_2|h76de61e_1002|h76de61e_1000|h76de61e_0|he376013_2|h16faf7d_0|h16faf7d_0|h709d2b2_0|h16faf7d_0|h16faf7d_4|hbdb9355_0|h76de61e_1000|hbdb9355_0|hbdb9355_2|h051b688_0|h051b688_0|h051b688_0|h051b688_0|h051b688_0|h051b688_1000|h051b688_0|h051b688_0|hf30b1f0_0|hf30b1f0_0|hf30b1f0_0|hf30b1f0_0']
cmake -> libcurl[version='>=7.59.0,<8.0a0|>=7.61.0,<8.0a0|>=7.64.0,<8.0a0|>=7.64.1,<8.0a0']

Package openmpi conflicts for:
vtk=8.1 -> hdf5[version='>=1.10.4,<1.10.5.0a0'] -> openmpi[version='>=3.1,<3.2.0a0|>=4.0.2,<4.1.0a0|>=4.0.1,<4.1.0a0|>=4.0,<4.1.0a0']
hdf5 -> openmpi[version='>=3.1,<3.2.0a0|>=4.0,<4.1.0a0']

Package pcre conflicts for:
swig -> pcre[version='>=8.41,<9.0a0']
git -> pcre[version='>=8.41,<9.0a0|>=8.43,<9.0a0']

Package netgen conflicts for:
netgen
smesh -> netgen
So I guess I need a proper meta.yaml, or something missed? It is my first time using conda.

May you please give me a hand?

Thank you.
Last edited by jia on Thu Feb 13, 2020 10:15 pm, edited 1 time in total.
User avatar
looo
Posts: 3424
Joined: Mon Nov 11, 2013 5:29 pm

Re: macOS build instructions - outdated?

Postby looo » Thu Feb 13, 2020 5:00 pm

@jia which branch of the freecad-feedstock are you using?
Please use https://github.com/looooo/freecad-feedstock

Btw. please edit your post and use </> (code-display) instead of " (Quote text) for code.
jia
Posts: 6
Joined: Tue Feb 11, 2020 11:05 am

Re: macOS build instructions - outdated?

Postby jia » Fri Feb 14, 2020 4:50 am

looo wrote:
Thu Feb 13, 2020 5:00 pm
@jia which branch of the freecad-feedstock are you using?
Please use https://github.com/looooo/freecad-feedstock

Btw. please edit your post and use </> (code-display) instead of " (Quote text) for code.
edited.

And, thank you for your repo, I built it successfully.

but when I run it from bin/freecad, I found that I still need some libs.

Code: Select all

dyld: Library not loaded: @rpath/libpython3.8.dylib
  Referenced from: /Users/jia/miniconda3/conda-bld/osx-64/fcab/./bin/freecad
  Reason: image not found
[1]    12489 abort      ./bin/freecad

then I copied the libs from the miniconda3/pkgs/, when I run it again, and got

Code: Select all

During initialization the error "No module named 'freecad'" occurred
[1]    12876 abort      ./bin/freecad
Then I compared with the FreeCAD.dmg,
my build has only

Code: Select all

Ext   Mod   bin   info  lib   share
The release dmg has

Code: Select all

Ext              etc              mkspecs          sbin
Mod              freecad-doc.icns phrasebooks      share
bin              freecad.icns     plugins          ssl
cmake            lib              qml              translations
conda-meta       libexec          qt.conf          var
doc              man              resources
So, how can I make my build executable? or make a releasable dmg? I wanna test some change.

I noticed there is a FreeCAD/package/makepkg script, but it looks outdated too.

These are my meta.yaml and build.sh modified from your repo.

Code: Select all

package:
    name: freecad
    version: 0.19.pre

source:
    path: /Users/jia/Desktop/FreeCAD

build:
    number: 97
    skip: true  # [py<38]

requirements:
    build:
        - clang
        - cmake
        - ninja
        - git
    host:
        - boost-cpp
        - python
        - qt
        - occt
        - xerces-c
        - zlib
        - vtk
        - swig
        - eigen
        - pybind11
        - coin3d
        - pivy
        - pyside2
        - smesh
        - netgen
        - doxygen
        - hdf5
        - tbb-devel
        - blas * openblas
        - freetype
        - pcl
        - six
        - ply
    run:
        - pyside2
        - vtk
        - occt
        - qt
        - xerces-c
        - zlib
        - boost-cpp
        - hdf5
        - python
        - coin3d
        - pivy
        - smesh
        - netgen
        - freetype
        - numpy
        - six
        - pyyaml
        - pcl
        - ply
    run_constrained:
        - __osx >={{ MACOSX_DEPLOYMENT_TARGET|default("10.9") }}  # [osx]

#test:
#    commands:
#        - FreeCADCmd -t 0

about:
    home: https://www.freecadweb.org/
    license: LGPL2.1
    license_family: LGPL
    license_file: LICENSE
    summary: 'FreeCAD is a parametric 3D modeler made primarily to design real-life objects of any size. '
    description: |
        FreeCAD is a general purpose feature-based, parametric 3D modeler for
        CAD, MCAD, CAx, CAE and PLM, aimed directly at mechanical engineering
        and product design but also fits a wider range of uses in engineering,
        such as architecture or other engineering specialties. It is 100% Open
        Source (LGPL2+ license) and extremely modular, allowing for very
        advanced extension and customization.
        FreeCAD is based on OpenCASCADE, a powerful geometry kernel, features an
        Open Inventor-compliant 3D scene representation model provided by the
        Coin 3D library, and a broad Python API. The interface is built with Qt.
        FreeCAD runs exactly the same way on Windows, Mac OSX, BSD and Linux
        platforms.
    doc_url: https://www.freecadweb.org/wiki/Main_Page
    dev_url: https://github.com/FreeCAD/FreeCAD

extra:
    recipe-maintainers:
        - looooo

Code: Select all

mkdir -p build
cd build

declare -a CMAKE_PLATFORM_FLAGS

if [[ ${HOST} =~ .*linux.* ]]; then
  echo "adding hacks for linux"
  # temporary workaround for vtk-cmake setup
  # should be applied @vtk-feedstock
  sed -i 's#/home/conda/feedstock_root/build_artifacts/vtk_.*_build_env/x86_64-conda_cos6-linux-gnu/sysroot/usr/lib.*;##g' ${PREFIX}/lib/cmake/vtk-8.2/Modules/vtkhdf5.cmake
  # temporary workaround for qt-cmake:
  sed -i 's|_qt5gui_find_extra_libs(EGL.*)|_qt5gui_find_extra_libs(EGL "EGL" "" "")|g' $PREFIX/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake
  sed -i 's|_qt5gui_find_extra_libs(OPENGL.*)|_qt5gui_find_extra_libs(OPENGL "GL" "" "")|g' $PREFIX/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake
  CMAKE_PLATFORM_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE="${RECIPE_DIR}/cross-linux.cmake")
fi


if [[ ${HOST} =~ .*darwin.* ]]; then
  # add hacks for osx here!
  echo "adding hacks for osx"
  ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk

  # install space-mouse
  curl -o /tmp/3dFW.dmg -L 'http://www.3dconnexion.com/index.php?eID=sdl&ext=tx_iccsoftware&oid=a273bdbc-c289-e10d-816b-567043331c9e&filename=3DxWareMac_v10-4-1_r2428.dmg'
  hdiutil attach -readonly /tmp/3dFW.dmg
  sudo installer -package /Volumes/3Dconnexion\ Software/Install\ 3Dconnexion\ software.pkg -target /
  diskutil eject /Volumes/3Dconnexion\ Software
  CMAKE_PLATFORM_FLAGS+=(-DFREECAD_USE_3DCONNEXION:BOOL=ON)
  CMAKE_PLATFORM_FLAGS+=(-D3DCONNEXIONCLIENT_FRAMEWORK:FILEPATH="/Library/Frameworks/3DconnexionClient.framework")
fi

cmake -G "Ninja" \
      -D BUID_WITH_CONDA:BOOL=ON \
      -D CMAKE_BUILD_TYPE=Release \
      -D CMAKE_INSTALL_PREFIX:FILEPATH=$PREFIX \
      -D CMAKE_PREFIX_PATH:FILEPATH=$PREFIX \
      -D CMAKE_LIBRARY_PATH:FILEPATH=$PREFIX/lib \
      -D CMAKE_INSTALL_LIBDIR:FILEPATH=$PREFIX/lib \
      -D CMAKE_INCLUDE_PATH:FILEPATH=$PREFIX/include \
      -D BUILD_QT5:BOOL=ON \
      -D FREECAD_USE_OCC_VARIANT="Official Version" \
      -D OCC_INCLUDE_DIR:FILEPATH=$PREFIX/include \
      -D USE_BOOST_PYTHON:BOOL=OFF \
      -D FREECAD_USE_PYBIND11:BOOL=ON \
      -D BUILD_ENABLE_CXX11:BOOL=ON \
      -D SMESH_INCLUDE_DIR:FILEPATH=$PREFIX/include/smesh \
      -D FREECAD_USE_EXTERNAL_SMESH=ON \
      -D BUILD_FLAT_MESH:BOOL=ON \
      -D BUILD_WITH_CONDA:BOOL=ON \
      -D PYTHON_EXECUTABLE:FILEPATH=$PREFIX/bin/python \
      -D BUILD_FEM_NETGEN:BOOL=ON \
      -D BUILD_PLOT:BOOL=OFF \
      -D BUILD_SHIP:BOOL=OFF \
      -D OCCT_CMAKE_FALLBACK:BOOL=OFF \
      -D FREECAD_USE_QT_DIALOG:BOOL=ON \
      -D BUILD_DYNAMIC_LINK_PYTHON:BOOL=OFF \
      -D Boost_NO_BOOST_CMAKE:BOOL=ON \
      -D FREECAD_USE_PCL:BOOL=ON \
      -D INSTALL_TO_SITEPACKAGES:BOOL=ON \
      ${CMAKE_PLATFORM_FLAGS[@]} \
      ..

echo "FREECAD_USE_3DCONNEXION=${FREECAD_USE_3DCONNEXION}"

ninja install
rm -r ${PREFIX}/share/doc/FreeCAD     # smaller size of package!
mv ${PREFIX}/bin/FreeCAD ${PREFIX}/bin/freecad
mv ${PREFIX}/bin/FreeCADCmd ${PREFIX}/bin/freecadcmd
Thank you.