View previous topic :: View next topic |
Author |
Message |
equaeghe l33t

Joined: 22 Feb 2005 Posts: 658
|
Posted: Mon Mar 10, 2025 11:40 am Post subject: circular dependency gcc when adding d use flag |
|
|
I want to compile a package that requires gcc to be emerged with the d use flag active. It the offers to install all stable versions of gcc with that use flag instead of only the most recent one, which is the one I have installed. When I mask older gcc versions, I get a circular dependency message, without an indication that is clear enough for me what is actually going wrong. Does someone know how to get out of this?
Without masking gcc versions:
Code: | # emerge -v --tree onedrive
These are the packages that would be merged, in reverse order:
Calculating dependencies... done!
Dependency resolution took 30.38 s (backtrack: 3/20).
[ebuild N ~] net-misc/onedrive-2.4.25-r1::joecool-overlay USE="libnotify -debug" 1,308 KiB
[ebuild R ] sys-devel/gcc-14.2.1_p20241221:14::gentoo USE="(cxx) d* (default-stack-clash-protection) (default-znow) fortran lto (multilib) nls openmp pgo (pie) sanitize ssp zstd -ada -cet (-custom-cflags) -debug -doc (-fixed-point) -go -graphite -hardened (-ieee-long-double) -jit (-libssp) -modula2 -objc -objc++ -objc-gc (-pch) -rust -systemtap -test (-time64) -valgrind -vanilla -vtv" 0 KiB
[ebuild NS ] sys-devel/gcc-13.3.1_p20241220:13::gentoo [14.2.1_p20241221:14::gentoo] USE="(cxx) d* (default-stack-clash-protection) (default-znow) fortran lto (multilib) nls openmp pgo (pie) sanitize ssp zstd -ada -cet (-custom-cflags) -debug -doc (-fixed-point) -go -graphite -hardened (-ieee-long-double) -jit (-libssp) -modula2 -objc -objc++ -objc-gc (-pch) -systemtap -test -valgrind -vanilla -vtv (-rust%) (-time64%)" 82,573 KiB
[ebuild NS ] sys-devel/gcc-12.4.1_p20241219:12::gentoo [14.2.1_p20241221:14::gentoo] USE="(cxx) d* (default-stack-clash-protection) (default-znow) fortran lto (multilib) nls openmp pgo (pie) sanitize ssp zstd -ada -cet (-custom-cflags) -debug -doc (-fixed-point) -go -graphite -hardened (-ieee-long-double) -jit (-libssp) -objc -objc++ -objc-gc (-pch) -systemtap -test -valgrind -vanilla -vtv (-modula2%) (-rust%) (-time64%)" 78,065 KiB
[ebuild NS ] sys-devel/gcc-11.5.0:11::gentoo [14.2.1_p20241221:14::gentoo] USE="(cxx) d* fortran lto (multilib) nls openmp pgo (pie) sanitize ssp zstd -ada -cet (-custom-cflags) -debug -doc (-fixed-point) -go -graphite -hardened -jit (-libssp) -objc -objc++ -objc-gc (-pch) -systemtap -test -valgrind -vanilla -vtv (-default-stack-clash-protection%*) (-default-znow%*) (-ieee-long-double%) (-modula2%) (-rust%) (-time64%)" 80,487 KiB
Total: 5 packages (1 new, 3 in new slots, 1 reinstall), Size of downloads: 242,431 KiB |
When masking all but the last stable gcc branch:
Code: | # emerge -v --tree onedrive
These are the packages that would be merged, in reverse order:
Calculating dependencies... done!
Dependency resolution took 15.17 s (backtrack: 1/20).
[ebuild N ~] net-misc/onedrive-2.4.25-r1::joecool-overlay USE="libnotify -debug" 1,308 KiB
[nomerge ] x11-plugins/syncthingtray-1.7.2::Case_Of USE="kde qml qt6 systemd webengine -script -static-libs"
[nomerge ] dev-qt/qtwebengine-6.8.2-r1:6/6.8.2::gentoo USE="alsa geolocation jumbo-build opengl pulseaudio qml screencast system-icu vaapi vulkan widgets -accessibility -bindist -custom-cflags -designer -kerberos -pdfium -test -webdriver"
[nomerge ] net-libs/nodejs-22.13.1:0/22::gentoo USE="icu npm snapshot ssl system-icu system-ssl -corepack -debug -doc -inspector (-lto) -pax-kernel -test" CPU_FLAGS_X86="sse2"
[ebuild R ] sys-devel/gcc-14.2.1_p20241221:14::gentoo USE="(cxx) d* (default-stack-clash-protection) (default-znow) fortran lto (multilib) nls openmp pgo (pie) sanitize ssp zstd -ada -cet (-custom-cflags) -debug -doc (-fixed-point) -go -graphite -hardened (-ieee-long-double) -jit (-libssp) -modula2 -objc -objc++ -objc-gc (-pch) -rust -systemtap -test (-time64) -valgrind -vanilla -vtv" 0 KiB
Total: 2 packages (1 new, 1 reinstall), Size of downloads: 1,308 KiB
* Error: circular dependencies:
(sys-devel/gcc-14.2.1_p20241221:14/14::gentoo, ebuild scheduled for merge) depends on
(sys-devel/gcc-14.2.1_p20241221:14/14::gentoo, ebuild scheduled for merge) (buildtime)
* Note that circular dependencies can often be avoided by temporarily
* disabling USE flags that trigger optional dependencies.
|
|
|
Back to top |
|
 |
grknight Retired Dev

Joined: 20 Feb 2015 Posts: 2049
|
Posted: Mon Mar 10, 2025 12:36 pm Post subject: |
|
|
>=gcc-12 d support is written in D and there is no current bootstrap besides using gcc:11.
Unfortunately, portage's dependency system gets confused by how the slots are handled.
Undo the masks, then set this to straighten it out: /etc/portage/package.use/gcc-d: | sys-devel/gcc:11 d
>=sys-devel/gcc-14 d |
Also, remove any other USE settings for d in make.conf or package.use.
Then do emerge --oneshot sys-devel/gcc:14 |
|
Back to top |
|
 |
fedeliallalinea Administrator


Joined: 08 Mar 2003 Posts: 31529 Location: here
|
Posted: Mon Mar 10, 2025 1:24 pm Post subject: |
|
|
Moved from Kernel & Hardware to Portage & Programming. _________________ Questions are guaranteed in life; Answers aren't. |
|
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
|
|