[DONE] conda: update to gcc7 and py3.7

Having trouble installing or compiling FreeCAD? Get help here.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
looo
Veteran
Posts: 3941
Joined: Mon Nov 11, 2013 5:29 pm

Re: [wip] conda: update to gcc7 and py3.7

Post by looo »

finally FreeCAD on linux with py37 seems to work nicely. I am not yet sure if I have patched the dynamic exception specifications the right way [1], but smesh compiled and netgen meshing is enabled in freecad. The tests are also working. Only one error reported because I didn't have gmsh installed. Also there are still python3 problems which are not leading to a negative test.

If anyone wants to try (only linux64 for now):

Code: Select all

conda create -n freecad_gcc freecad blas=*=openblas python=3.7 -c freecad/label/testing -c freecad -c conda-forge
But I didn't see any improvements compared to gcc4.8. So I don't know if it makes sense to update the conda-based-appimage soon.

Sometimes one has to go two steps back to see the obvious way to proceed. I nearly gave up on porting to gcc7/py3.7. But now I belive future looks quite bright, as the current build tools will hopefully stay the same for a while.

So, what is next?
- vtk8.2.0 needs to be solved: there are problems currently with windows and linux, maybe going back to 8.1.2 + patches for pyside2
- waiting for @trelau to merge patches for smesh (maybe someone can review this [1], and maybe we should also apply it to the internal smesh)
- In the long run it would be nice if freecad could be compiled with c++14 and c++17 although it also works with c++11 for now. Maybe someone feels motivated to investigate.
- make a brake from packaging and try to make a mental update to come back with a fresh mind :D


[1] https://github.com/LaughlinResearch/SMESH/pull/13
User avatar
looo
Veteran
Posts: 3941
Joined: Mon Nov 11, 2013 5:29 pm

Re: [wip] conda: update to gcc7 and py3.7

Post by looo »

some updates (I am still fighting :D ):

- vtk8.2.0 is coming soon (hopefully) https://github.com/conda-forge/vtk-feedstock/pull/76
- occt was rerendered with latest conda-smithy
- gmsh 4.1.5 is coming https://github.com/conda-forge/gmsh-feedstock/pull/6

smesh is still not updated. Somehow the cmake-setup of the new toolchain doesn't allow to link to symlinks (like the vtk-package has)
https://github.com/conda-forge/smesh-feedstock/pull/21
https://github.com/conda-forge/vtk-feedstock/issues/77

No idea how to solve this. I hope conda-developers have a look. Temporary I added a workaround for smesh which links directly to the libraries and not to the symlinks:
https://github.com/looooo/smesh-feedsto ... -vtk.patch

But the same has to be done for FreeCAD too. So not a good workaround. And there is another problem with the smesh osx-builds:

Code: Select all

ninja: error: '/Users/distiller/miniconda3/conda-bld/netgen_1548802582949/_build_env/lib/libz.dylib', needed by 'libNETGENPlugin.8.3.0.3.dylib', missing and no known rule to make it
I am not yet sure how to fix this. netgen is not dependent on libz and there is no requirement specified. So maybe this is again related to changing conda things. So maybe a rerendering will fix this:
btw.: isn't it nice how rerendering works in the conda-world:
asking for rerendering: https://github.com/conda-forge/netgen-f ... /issues/19 will result in a bot creating a PR which rerenders the feedstock: https://github.com/conda-forge/netgen-feedstock/pull/20
User avatar
looo
Veteran
Posts: 3941
Joined: Mon Nov 11, 2013 5:29 pm

Re: [wip] conda: update to gcc7 and py3.7

Post by looo »

Finally I found the smesh problem. Something in between cmake and the clang compiler went wrong and the c++-feature detection is not working. The compiler is for sure able to compile c++11 / c++14 specific stuff. So it was possible to add the features with a cmake-patch.

The second problem reported previously (netgen/smesh) was fixed by making netgen depending on zlib and by adding this option to the build-script:

Code: Select all

-D CMAKE_PREFIX_PATH=$PREFIX
Now I am trying to build freecad with the new-compilers, but I expect this won't work out of the box.
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: [wip] conda: update to gcc7 and py3.7

Post by triplus »

looo wrote: Mon Mar 04, 2019 3:15 pm some updates (I am still fighting :D ):
Keep on the good fight!
User avatar
looo
Veteran
Posts: 3941
Joined: Mon Nov 11, 2013 5:29 pm

Re: [wip] conda: update to gcc7 and py3.7

Post by looo »

triplus wrote: Tue Mar 05, 2019 4:33 pm Keep on the good fight!
The fight is won, the mini happily compiles freecad :D
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: [wip] conda: update to gcc7 and py3.7

Post by triplus »

looo wrote: Tue Mar 05, 2019 4:57 pm The fight is won, the mini happily compiles freecad :D
Good to hear that.
chrisb
Veteran
Posts: 53919
Joined: Tue Mar 17, 2015 9:14 am

Re: [wip] conda: update to gcc7 and py3.7

Post by chrisb »

looo wrote: Tue Mar 05, 2019 4:57 pm The fight is won, the mini happily compiles freecad :D
:D :D
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: [wip] conda: update to gcc7 and py3.7

Post by triplus »

Miniconda just got a whole new meaning. ;)
User avatar
looo
Veteran
Posts: 3941
Joined: Mon Nov 11, 2013 5:29 pm

Re: [wip] conda: update to gcc7 and py3.7

Post by looo »

:D
package is uploaded. Feel free to try.

Code: Select all

conda create -n freecad-clang4.0 freecad -c freecad/label/testing -c freecad -c conda-forge
chrisb
Veteran
Posts: 53919
Joined: Tue Mar 17, 2015 9:14 am

Re: [wip] conda: update to gcc7 and py3.7

Post by chrisb »

You mean a new FreeCAD version is ready? I saw only the well known 15525.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Post Reply