View previous topic :: View next topic |
Author |
Message |
madyogi n00b
Joined: 10 Jun 2016 Posts: 13
|
Posted: Sat Jun 15, 2024 9:49 am Post subject: Can't force emerge to build media-gfx/freecad-0.21.2-r3 |
|
|
[Administrator note: this post, and the first response, were originally attached to the unrelated topic media-gfx/freecad-0.21.2-r2: useless rebuild for USE=qt5. That topic was a complaint about Qt5 versus Qt6. This topic is about some package features not being usable with Python 3.12. -Hu]
Here is my gentoo adventure, where I got stuck and it might be subject related.
Code: | !!! The ebuild selected to satisfy "media-gfx/freecad" has unmet requirements.
- media-gfx/freecad-0.21.2-r3::gentoo USE="addonmgr fem gui idf image inspection material openscad part-design path points raytracing robot show surface techdraw tux -cloud -debug -designer -netgen -pcl (-qt6) -test" ABI_X86="(64)" PYTHON_SINGLE_TARGET="python3_12 -python3_10 -python3_11"
The following REQUIRED_USE flag constraints are unsatisfied:
python_single_target_python3_12? ( gui? ( qt6 ) )
The above constraints are a subset of the following complete expression:
exactly-one-of ( python_single_target_python3_10 python_single_target_python3_11 python_single_target_python3_12 ) designer? ( gui ) inspection? ( points ) path? ( robot ) python_single_target_python3_12? ( gui? ( qt6 ) )
|
Entire system got upgraded, then I run emerge with "--depclean", to remove any oldies. No errors, so I went for the media-gfx/freecad. Portage make.conf shows
Code: | grep -r "PYTHON" /etc/portage/*
/etc/portage/make.conf:#PYTHON_TARGETS="python3_7"
/etc/portage/make.conf:#PYTHON_TARGETS="python3_12"
/etc/portage/make.conf:PYTHON_SINGLE_TARGET="python3_12" |
Also, emerge --info lists
Code: | dev-lang/python: 3.10.14_p1-r1::gentoo, 3.11.9-r1::gentoo, 3.12.3-r1::gentoo
...
PYTHON_SINGLE_TARGET="python3_12" PYTHON_TARGETS="python3_12" |
Yes, I still see older python-3.x versions are present in the system. And I bet(?), I can't remove these because something else depend on them.
What am I missing? How to push it through (not necessarily with a bat)? |
|
Back to top |
|
|
paulusbrand Tux's lil' helper
Joined: 20 May 2009 Posts: 112
|
Posted: Sat Jun 15, 2024 10:52 am Post subject: |
|
|
I'm running into the same problem.
When using python 3.12 qt6 use flag needs to be enabled. Probably (comment in ebuiild) it's because pyside2 will not get python 3.12 support.
But I can't enable the qt6 flag, so building with python3.12 is impossible now.
When trying to build without the gui flag. The next problem is vtk, it does not support python 3.12
I'm trying to build with python 3.11 now:
USE="python_single_target_python3_11 -python_single_target_python3_12" emerge freecad
with this in make.conf:
PYTHON_TARGETS="python3_11 python3_12" |
|
Back to top |
|
|
logrusx Advocate
Joined: 22 Feb 2018 Posts: 2437
|
Posted: Sat Jun 15, 2024 6:36 pm Post subject: |
|
|
madyogi wrote: |
Here is my gentoo adventure, where I got stuck and it might be subject related.
Code: | !!! The ebuild selected to satisfy "media-gfx/freecad" has unmet requirements.
- media-gfx/freecad-0.21.2-r3::gentoo USE="addonmgr fem gui idf image inspection material openscad part-design path points raytracing robot show surface techdraw tux -cloud -debug -designer -netgen -pcl (-qt6) -test" ABI_X86="(64)" PYTHON_SINGLE_TARGET="python3_12 -python3_10 -python3_11"
The following REQUIRED_USE flag constraints are unsatisfied:
python_single_target_python3_12? ( gui? ( qt6 ) )
The above constraints are a subset of the following complete expression:
exactly-one-of ( python_single_target_python3_10 python_single_target_python3_11 python_single_target_python3_12 ) designer? ( gui ) inspection? ( points ) path? ( robot ) python_single_target_python3_12? ( gui? ( qt6 ) )
|
Entire system got upgraded, then I run emerge with "--depclean", to remove any oldies. No errors, so I went for the media-gfx/freecad. Portage make.conf shows
madyogi wrote: | Code: | grep -r "PYTHON" /etc/portage/*
/etc/portage/make.conf:#PYTHON_TARGETS="python3_7"
/etc/portage/make.conf:#PYTHON_TARGETS="python3_12"
/etc/portage/make.conf:PYTHON_SINGLE_TARGET="python3_12" |
|
|
Putting python related stuff in make.conf is discouraged. Instead use the syntax:
Code: | */* PYTHON_SINGLE_TARGET -* python3_12 |
in package.use and similarly for PYTHON_TARGETS.
I still find it more concise for individual packages, but ultimately for individual packages or, if you're using emerge autounmask output, expanded use flags are OK too.
madyogi wrote: | Also, emerge --info lists
Code: | dev-lang/python: 3.10.14_p1-r1::gentoo, 3.11.9-r1::gentoo, 3.12.3-r1::gentoo
...
PYTHON_SINGLE_TARGET="python3_12" PYTHON_TARGETS="python3_12" |
Yes, I still see older python-3.x versions are present in the system. And I bet(?), I can't remove these because something else depend on them.
What am I missing? How to push it through (not necessarily with a bat)? |
What you're missing is clearly stated in the output you've got, you need qt6 for python 3.12 support, as paulusbrand already wrote.
But you're missing something else too:
Gentoo Python Guide wrote: | A single-impl package is a package requiring the user to choose exactly one Python implementation to be built against. This means that the scripts installed by that package will be run via specified Python interpreter, and that the modules and extensions will be importable from it only. The package’s Python reverse dependencies will also have to use the same implementation. Since the package can’t support having more than one implementation enabled, its reverse dependencies have to be simple-impl as well. |
I hope that fills the picture for you.
Best Regards,
Georgi |
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 22687
|
Posted: Sat Jun 15, 2024 6:56 pm Post subject: |
|
|
As paulusbrand alluded to though, USE=qt6 is masked for this package, so it is not possible to enable it. Thus, this package cannot presently be built with both PYTHON_SINGLE_TARGET=python3_12 and USE=gui, because enabling both of those requires setting USE=qt6, but the use mask forces USE=-qt6. |
|
Back to top |
|
|
madyogi n00b
Joined: 10 Jun 2016 Posts: 13
|
Posted: Sun Jun 16, 2024 7:03 am Post subject: |
|
|
Hu wrote: | As paulusbrand alluded to though, USE=qt6 is masked for this package, so it is not possible to enable it. Thus, this package cannot presently be built with both PYTHON_SINGLE_TARGET=python3_12 and USE=gui, because enabling both of those requires setting USE=qt6, but the use mask forces USE=-qt6. |
You'er right. I did a complete @world update, then played with all of the USE flags. qt5, qt6, gui, python3_12. With or without b-deps. Nothing forces the build process to start. |
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 22687
|
Posted: Sun Jun 16, 2024 2:37 pm Post subject: |
|
|
As I read the output, either setting USE=-gui or switching to PYTHON_SINGLE_TARGET=python3_11 should work. I cannot comment on whether either of these removes functionality you want. |
|
Back to top |
|
|
madyogi n00b
Joined: 10 Jun 2016 Posts: 13
|
Posted: Mon Jun 17, 2024 4:30 pm Post subject: Nope |
|
|
Hu wrote: | As I read the output, either setting USE=-gui or switching to PYTHON_SINGLE_TARGET=python3_11 should work. I cannot comment on whether either of these removes functionality you want. |
Well, switching off gui should lead to server-side scripting version being built (headless mode). At lest that's what equery uses media-gfx/freecad claims.
This one:
Code: | USE="python_single_target_python3_11 -python_single_target_python3_12" emerge -a media-gfx/freecad |
spits out that
Quote: | The following REQUIRED_USE flag constraints are unsatisfied:
webchannel? ( qml ) webengine? ( positioning quick qml ) |
So I went with:
Code: | USE="python_single_target_python3_11 -python_single_target_python3_12 -webchannel" emerge -a media-gfx/freecad |
to switch webchannel off and that brought:
Quote: | The following USE changes are necessary to proceed:
(see "package.use" in the portage(5) man page for more details)
# required by media-gfx/freecad-0.21.2-r3::gentoo[gui,python_single_target_python3_11]
# required by media-gfx/freecad (argument)
>=dev-python/pyside2-5.15.14 webchannel
|
Since it can't be switched off, adding positioning quick qml (flags for dev-python/pyside2 and dev-qt/qtwebchannell)
Code: | USE="-python_single_target_python3_12 python_single_target_python3_11 positioning quick qml" emerge -aD --with-bdeps=y media-gfx/freecad |
made the build process to go. Hope this one helps someone... |
|
Back to top |
|
|
user7719 n00b
Joined: 19 Feb 2021 Posts: 73
|
Posted: Thu Jun 27, 2024 5:56 pm Post subject: Re: Nope |
|
|
madyogi wrote: | Hu wrote: | As I read the output, either setting USE=-gui or switching to PYTHON_SINGLE_TARGET=python3_11 should work. I cannot comment on whether either of these removes functionality you want. |
Well, switching off gui should lead to server-side scripting version being built (headless mode). At lest that's what equery uses media-gfx/freecad claims.
This one:
Code: | USE="python_single_target_python3_11 -python_single_target_python3_12" emerge -a media-gfx/freecad |
spits out that
Quote: | The following REQUIRED_USE flag constraints are unsatisfied:
webchannel? ( qml ) webengine? ( positioning quick qml ) |
So I went with:
Code: | USE="python_single_target_python3_11 -python_single_target_python3_12 -webchannel" emerge -a media-gfx/freecad |
to switch webchannel off and that brought:
Quote: | The following USE changes are necessary to proceed:
(see "package.use" in the portage(5) man page for more details)
# required by media-gfx/freecad-0.21.2-r3::gentoo[gui,python_single_target_python3_11]
# required by media-gfx/freecad (argument)
>=dev-python/pyside2-5.15.14 webchannel
|
Since it can't be switched off, adding positioning quick qml (flags for dev-python/pyside2 and dev-qt/qtwebchannell)
Code: | USE="-python_single_target_python3_12 python_single_target_python3_11 positioning quick qml" emerge -aD --with-bdeps=y media-gfx/freecad |
made the build process to go. Hope this one helps someone... |
This did help me. Is there a way to set the use flags permanently for this package? |
|
Back to top |
|
|
asturm Developer
Joined: 05 Apr 2007 Posts: 9280
|
Posted: Fri Jun 28, 2024 9:18 am Post subject: |
|
|
Yes, just read through your own quote. (Hint: Portage comments) |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|