[done for master / waiting for freecad 0.19 release] conda: python3.8 is coming

This subforum is specifically to discuss packaging issues on different platforms (windows, mac, linux), and using different packaging systems (conda, etc...)
User avatar
looo
Posts: 3014
Joined: Mon Nov 11, 2013 5:29 pm

[done for master / waiting for freecad 0.19 release] conda: python3.8 is coming

Postby looo » Sun Nov 03, 2019 9:24 pm

As I just received the first PR's for python3.8 I thought it might be interesting for others to see the status of the freecad-related packages. I guess the migration won't introduce too much troubles and we will see a python3.8-freecad-build in early December.

- [x] netgen: https://github.com/conda-forge/netgen-feedstock/pull/25
- [x] ifcopenshell: https://github.com/conda-forge/ifcopens ... ock/pull/3
- [x] libredwg: https://github.com/conda-forge/libredwg ... ock/pull/6
- [x] pyside2: https://github.com/conda-forge/pyside2- ... ck/pull/55 # needs a rebuild
- [x] pivy: https://github.com/conda-forge/pivy-feedstock/pull/19
- [x] vtk: https://github.com/conda-forge/vtk-feedstock/pull/93
- [x] smesh: https://github.com/conda-forge/smesh-feedstock/pull/26
- [x] solvespace: osx still missing
- [ ] freecad: https://github.com/conda-forge/freecad- ... ck/pull/30

more coming soon...
Last edited by looo on Tue Jan 14, 2020 12:39 pm, edited 7 times in total.
please help with my conda-packaging efforts: https://liberapay.com/looooo/
minimalistic blog: https://looooo.github.io/mini-blog/
User avatar
Kunda1
Posts: 6215
Joined: Thu Jan 05, 2017 9:03 pm

Re: [WIP] conda: python3.8 is coming

Postby Kunda1 » Tue Nov 05, 2019 12:19 am

Thanks for the 'play by play'!
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features
User avatar
looo
Posts: 3014
Joined: Mon Nov 11, 2013 5:29 pm

Re: [WIP] conda: python3.8 is coming

Postby looo » Fri Nov 08, 2019 5:33 pm

The PR's for freecad came faster than expected... :D Btw.: this will not yet affect the 0.19_pre packages which are used for dmg/appimage. Only the more official package from conda-forge will be build with py3.8 + py3.7. So we are able to do some testing before updating the 0.19_pre-feedstock.
please help with my conda-packaging efforts: https://liberapay.com/looooo/
minimalistic blog: https://looooo.github.io/mini-blog/
User avatar
sgrogan
Posts: 5534
Joined: Wed Oct 22, 2014 5:02 pm

Re: [WIP] conda: python3.8 is coming

Postby sgrogan » Fri Nov 08, 2019 5:44 pm

looo wrote:
Fri Nov 08, 2019 5:33 pm
The PR's for freecad came faster than expected... :D Btw.: this will not yet affect the 0.19_pre packages which are used for dmg/appimage. Only the more official package from conda-forge will be build with py3.8 + py3.7. So we are able to do some testing before updating the 0.19_pre-feedstock.
How to install?
You're amazing looo.
Noticed this as well, related to the enhancements idea: https://www.python.org/downloads/release/python-380/
User avatar
looo
Posts: 3014
Joined: Mon Nov 11, 2013 5:29 pm

Re: [WIP] conda: python3.8 is coming

Postby looo » Fri Nov 08, 2019 6:40 pm

sgrogan wrote:
Fri Nov 08, 2019 5:44 pm
How to install?
You're amazing looo.
Noticed this as well, related to the enhancements idea: https://www.python.org/downloads/release/python-380/
FreeCAD itself is not done yet, some homework is necessary:

Code: Select all

In file included from ../src/Base/swigpyrun.cpp:41:0:
../src/Base/swigpyrun.inl: In function 'void Swig_python::cleanupSWIG_T(const char*)':
../src/Base/swigpyrun.inl:75:31: error: invalid use of incomplete type 'PyInterpreterState {aka struct _is}'
     PyObject *modules = interp->modules;
                               ^~
In file included from $PREFIX/include/python3.8/genobject.h:11:0,
                 from $PREFIX/include/python3.8/Python.h:121,
                 from ../src/Base/PyExport.h:42,
                 from ../src/Base/swigpyrun.cpp:25:
$PREFIX/include/python3.8/pystate.h:20:8: note: forward declaration of 'PyInterpreterState {aka struct _is}'
 struct _is;
        ^~~
In file included from ../src/Base/swigpyrun.cpp:41:0:
../src/Base/swigpyrun.inl:75:33: error: invalid use of incomplete type 'PyInterpreterState {aka struct _is}'
     PyObject *modules = interp->modules;
                                 ^~~~~~~
In file included from $PREFIX/include/python3.8/genobject.h:11:0,
                 from $PREFIX/include/python3.8/Python.h:121,
                 from ../src/Base/PyExport.h:42,
                 from ../src/Base/swigpyrun.cpp:25:
$PREFIX/include/python3.8/pystate.h:20:8: note: forward declaration of 'PyInterpreterState {aka struct _is}'
 struct _is;
        ^~~
[405/3032] Building CXX object src/Base/CMakeFiles/FreeCADBase.dir/Stream.cpp.o
[406/3032] Building CXX object src/Base/CMakeFiles/FreeCADBase.dir/RotationPyImp.cpp.o
In file included from ../src/Base/RotationPyImp.cpp:33:0:
src/Base/RotationPy.cpp:90:1: warning: missing initializer for member '_typeobject::tp_vectorcall' [-Wmissing-field-initializers]
 };
https://forum.freecadweb.org/viewtopic.php?t=38982
please help with my conda-packaging efforts: https://liberapay.com/looooo/
minimalistic blog: https://looooo.github.io/mini-blog/
User avatar
looo
Posts: 3014
Joined: Mon Nov 11, 2013 5:29 pm

Re: [waiting for a working pyside2] conda: python3.8 is coming

Postby looo » Sun Jan 12, 2020 11:10 am

It's nearly done. A working version is available via freecad/label/testing channel. Some changes for pyside2 need to be backported (or use qt5.14 with pyside2 5.14). I will try to apply the patches to pyside5.13 with qt5.12.5 as conda-forge only builds lts versions of qt.

There are still some issues with py3.8:
time.clock was removed and should be replace according to: (There are some occurences in FEM)
https://stackoverflow.com/questions/585 ... python-3-8

And there is still a occt7.4 issue which I have no idea how to solve:
https://forum.freecadweb.org/viewtopic. ... 20#p358293
please help with my conda-packaging efforts: https://liberapay.com/looooo/
minimalistic blog: https://looooo.github.io/mini-blog/
triplus
Posts: 8839
Joined: Mon Dec 12, 2011 4:45 pm

Re: [done for master / waiting for freecad 0.19 release] conda: python3.8 is coming

Postby triplus » Sun Jan 19, 2020 1:16 am

Nice!

P.S. As for FreeCAD 0.19 release, i am guessing that should happen around April, it would be good if packages would be tested for a month or two and wouldn't change before doing a release.
User avatar
looo
Posts: 3014
Joined: Mon Nov 11, 2013 5:29 pm

Re: [done for master / waiting for freecad 0.19 release] conda: python3.8 is coming

Postby looo » Sun Jan 19, 2020 7:16 am

triplus wrote:
Sun Jan 19, 2020 1:16 am
P.S. As for FreeCAD 0.19 release, i am guessing that should happen around April, it would be good if packages would be tested for a month or two and wouldn't change before doing a release.
Sure. If python 3.8 and occt7.4 still have issues I guess we should go for py3.7 and occt7.3.

But still I believe it's important to try to go with the latest available packages to provide feedback.
please help with my conda-packaging efforts: https://liberapay.com/looooo/
minimalistic blog: https://looooo.github.io/mini-blog/
triplus
Posts: 8839
Joined: Mon Dec 12, 2011 4:45 pm

Re: [done for master / waiting for freecad 0.19 release] conda: python3.8 is coming

Postby triplus » Sun Jan 19, 2020 3:36 pm

looo wrote:
Sun Jan 19, 2020 7:16 am
But still I believe it's important to try to go with the latest available packages to provide feedback.
Didn't check and i will just ask, is this already done for the (0.19) binaries? If not it would be great if it could be done ASAP. As doing it a few days before release is likely a bad idea.
User avatar
looo
Posts: 3014
Joined: Mon Nov 11, 2013 5:29 pm

Re: [done for master / waiting for freecad 0.19 release] conda: python3.8 is coming

Postby looo » Sun Jan 19, 2020 6:15 pm

triplus wrote:
Sun Jan 19, 2020 3:36 pm
Didn't check and i will just ask, is this already done for the (0.19) binaries? If not it would be great if it could be done ASAP. As doing it a few days before release is likely a bad idea.
sure. appimage and dmg are already using py38 / occt7.4.
please help with my conda-packaging efforts: https://liberapay.com/looooo/
minimalistic blog: https://looooo.github.io/mini-blog/