Comments (24)
This would be great as Qt isn't updating pyside for Qt 5 to be compatible with Python 3.10/3.11.
from freecad.
Exactly. Fedora 35 already has Python 3.10 and Fedora 36 (current rawhide) will have 3.11.
TBH, I'm pretty fatigued at trying to keep FreeCAD running in Fedora. Maybe appimage/flatpak should be the primary distribution method on Linux.
from freecad.
Heads up to all FC packagers:
@sgrogan
@kkremitzki
@ipatch
@adrianschroeter
@hobbes1069
@greyltc
@hfiguiere
@vejmarie
@donovaly
@apeltauer
@waebbl
from freecad.
have you taken a look at this?
and more specifically this,
FreeCAD/homebrew-freecad#267 (comment)
so drilling into the bug report i filed with the upstream pyside project,
https://bugreports.qt.io/browse/PYSIDE-1763
it seems certain patches could be back ported for pyside 5.15.2 to work with python β₯ 3.10
however this approach seems it will only get more brittle as dependencies move forward ie. python.
i agree there should be some effort applied to begin supporting qt6 as opposed to applying patches.
in another note, i know python 3.10 is released now, but does freecad use any language feature added in python 3.10 that would make it more beneficial to use python 3.10 over python 3.9. or are we just updating for the sake of updating?
finally, i think this github issue should be placed in the freecad src repo, ie. https://github.com/freecad/freecad (or are we placing here because the upstream repo does not have github issues enabled on the project and is using its own bug tracker?) Several cmake files will require updating to support qt6 at the least, and not tomention all the header import statements that import/use qt libs that have probably been renamed since qt5. it will definitely require some effort.
from freecad.
The problem with Python 3.10 is that it will be on most Linux distro and in the next Flatpak runtime (August 2022). So it will definitely be a problem.
from freecad.
On Gentoo we have Python 3.10 and 3.11_alpha available. It's planned to make 3.10 the default Python interpreter in July. Qt6 is packaged, but still masked, and AFAICS there's not much pressure to change this.
It seems like the Qt folks are preparing a special PySide version with Python 3.10 compatibility: 5.15.2.1 to be release soon, special version with Python 3.10 support.
from freecad.
The problem with Python 3.10 is that it will be on most Linux distro and in the next Flatpak runtime (August 2022). So it will definitely be a problem.
Why is this a problem? What code that runs with Python 3.8 cannot be executed in Python 3.10?
Also, what Qt 5.15.2 compatible code won't be executable with Qt 6?
I find it important to know precisely what code is affected and what not.
from freecad.
It's discussed in the forum thread: https://forum.freecadweb.org/viewtopic.php?f=10&t=65089
Issues with coin3d/pivy and pyside
from freecad.
It's discussed in the forum thread: https://forum.freecadweb.org/viewtopic.php?f=10&t=65089 Issues with coin3d/pivy and pyside
I cannot find anything when searching for "coin3d" in this thread. Can you therefore please list the affected code here in a short list to keep the overview?
from freecad.
Hopefully a new PySide release @waebbl mentioned get's released soon, but to answer part of your question:
https://bugzilla.redhat.com/show_bug.cgi?id=1990768
https://bugzilla.redhat.com/show_bug.cgi?id=2025599
from freecad.
Transferred to FreeCAD/FreeCAD repo
from freecad.
Added the Porting from PySide2 to PySide6 link to the OP of this ticket.
from freecad.
Started tracking Qt6 commits to master in the OP. See Commits section
from freecad.
Hi @wwmayer, how would you feel about linking Qt6 related commits to this ticket so we can track them in one place?
from freecad.
339bb73 is not directly related to Qt6 but allows to reduce some if QT_VERSION < QT_VERSION_CHECK(...)
checks in client code.
from freecad.
from freecad.
*** There was a question on how to use FreeCad on newer linux distributions.
My answer was to use appimage from official website instead of installing freecad from OS repos.
from freecad.
what's still missing for qt6 support?
from freecad.
MacAppBundle/CMakeLists.txt
Resolve Homebrew v Pip v native on macOS esp re Python, PySide, Shiboken
from freecad.
Added #9977 to the OP
from freecad.
We're gonna need some help porting Snap to Qt6 (FreeCAD/FreeCAD-snap#19). Volunteers for this would be very much appreciated!
from freecad.
FYI compiling against Qt6 with MSVC activates the /permissive-
option, which we don't currently support. PR #11014 will address these issues.
from freecad.
a nightly F(edora)39 build at this point isn't going to happen against the stock F39 repos, as there are no python qt5 bindings. For a FreeCAD nightly to be compiled successfully for F39, python qt6 bindings need to be in the virtual environment (there is already a build in copr for python-pyside6). This would require copr to include python-pyside6 in it's virtual build environment for FreeCAD nightly (it can be done, but I don't have enough experience with copr to set it up properly). When (and if) FreeCAD nightly is compiled successfully, any user who enables the FreeCAD nightly repo and wants to use it, would need to install python-pyside6 too - either will be provided from another copr repo, or ideally shipped in the FreeCAD copr repo (until Fedora officially includes the python-pyside6 in their official repos). Can someone just fix the references in the spec file from master to main, so we can get at least an attempt for a build for F38. It might finish successfully, or it might fail, but at least we can get the logs.
ref: #11619 (comment)
from freecad.
Are they using Py_LIMITED_API in their pyside build? Pyside6 uses it by default I think, I had to disable it to be able to build freecad on flatpak because freecad doesn't support that.
from freecad.
Related Issues (20)
- Measurement: Support approximation of features of STL and other mesh-based formats HOT 2
- Measurement: Canβt convert units on the fly HOT 1
- Measurement: Allow to project measures HOT 2
- [Problem] Issues with compiling FreeCAD from source on Linux(Solus) HOT 4
- [Regression] Rework initial dialog when creating a Sketch in PartDesign HOT 2
- Tool path leak HOT 2
- Variant links to lattice2 arrays fail with Property container has no property 'Support' HOT 6
- Preferences: "Manage Preference Packs" dialog is redundant HOT 1
- Add the ability to clear recent documents list HOT 3
- Arch: error when setting the Terrain property: gp_GTrsf::Trsf() - non-orthogonal GTrsf HOT 3
- DXF import needs a dedicated import dialog HOT 1
- Bring back additional folder on the Start page HOT 3
- Exporting "RobotExample" as .glb or .gltf is missing the robot HOT 1
- FemCalculixCantilever3D example opens with errors HOT 1
- Opening embedded text document sets the FC file as modified
- Embedded Text Document modified state isn't correctly propagated to FC file
- Embedded Text Document isn't correctly saved when saving FC file
- Document Move Recovery: `XLink` with `UUID` HOT 5
- Qt6: Rendering of overlay TreeView is broken HOT 8
- PartDesign::Body can't be used as a body BaseFeature HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from freecad.