Jump to content
Read the Funtoo Newsletter: Summer 2023 ×
  • 0

dev-lang/dmd circular dependencies


akbarstatix

Question

Hi I am trying to emerge dev-lang/dmd from the dlang overlay but I am stuck. I am getting errors about circular dependencies.  I have my use flag set to, dev-lang/dmd dmd-2_068 package.use file.

quad portage # emerge -auvDN =dev-lang/dmd-2.068.2-r1

 * IMPORTANT: 3 news items need reading for repository 'gentoo'.
 * Use eselect news read to view new items.


These are the packages that would be merged, in order:

Calculating dependencies... done!


[ebuild  N     ] dev-lang/dmd-2.068.2-r1:2.068::dlang  USE="dmd-2_068 -dmd-2_063 -dmd-2_064 -dmd-2_065 -dmd-2_066 -dmd-2_067 -dmd-2_069 -doc -examples -gdc-4_8_1 -gdc-4_8_2 -gdc-4_8_3 -gdc-4_8_4 -ldc2-0_12 -ldc2-0_13 -ldc2-0_14 -ldc2-0_15 -ldc2-0_16 -tools" ABI_X86="(64) -32" 59,792 KiB

Total: 1 package (1 new), Size of downloads: 59,792 KiB

 * Error: circular dependencies:

(dev-lang/dmd-2.068.2-r1:2.068/2.068::dlang, ebuild scheduled for merge) depends on
 (dev-lang/dmd-2.068.2-r1:2.068/2.068::dlang, ebuild scheduled for merge) (buildtime_slot_op)

 * Note that circular dependencies can often be avoided by temporarily
 * disabling USE flags that trigger optional dependencies.

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

After adding dlang overlay to a current amd64 system I see the same errors as you when trying to emerge dev-lang/dmd.

Not knowing how to resolve those errors I decided to try merging lower versions of dmd. 

* dev-lang/dmd [1]
     Available versions:  
     ((get_version_component_range 1-2)) 2.063.2^m 2.065.0^m 2.066.1^m 2.067.1^m (~)2.068.2-r1^m (~)2.069.0_beta2^m
     (2.064) 2.064.2^m
       {doc examples tools}
     Homepage:            http://dlang.org/
     Description:         Reference compiler for the D programming language

[1] "dlang" /var/lib/layman/dlang

dmd-2.068.2-r1 produces same errors as dmd-2.069.0_beta2.

dmd-2.067.1 has no errors and may build.

If this doesn't work for you file a report at bugs.funtoo.org

funtoo rj # emerge -pv =dev-lang/dmd-2.067.1

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N     ] app-admin/eselect-dlang-20151017::dlang  0 KiB
[ebuild  N     ] dev-lang/dmd-2.067.1:2.067::dlang  USE="-doc -examples -tools" 54,770 KiB

Total: 2 packages (2 new), Size of downloads: 54,770 KiB

After adding to /etc/portage/package.mask directory

echo ">dev-lang/dmd-2.067.1" > /etc/portage/package.mask/dmd
funtoo rj # emerge -pv dmd

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N     ] app-admin/eselect-dlang-20151017::dlang  0 KiB
[ebuild  N     ] dev-lang/dmd-2.067.1:2.067::dlang  USE="-doc -examples -tools" 54,770 KiB

Total: 2 packages (2 new), Size of downloads: 54,770 KiB
Link to comment
Share on other sites

  • 0

The dev-lang/dmd-2.068.2-r1.ebuild here https://raw.githubusercontent.com/gentoo-mirror/dlang/master/dev-lang/dmd/dmd-2.068.2-r1.ebuild

IUSE="doc examples tools"

I don't know what side effect and point of adding use flags to package.use that don't exist on the ebuild.

System USE flags are listed here:  /usr/portage/profiles/use.desc

Package name and versions are never USE flags.

Remove any USE flags from /etc/portage/make.conf USE="" that are not on the use.desc list.

Maybe adding the name program-version as USE flags to package.use that don't exist on the ebuild is causing the error?

USE="dmd-2_068 -dmd-2_063 -dmd-2_064 -dmd-2_065 -dmd-2_066 -dmd-2_067 -dmd-2_069 -doc -examples -gdc-4_8_1 -gdc-4_8_2 -gdc-4_8_3 -gdc-4_8_4 -ldc2-0_12 -ldc2-0_13 -ldc2-0_14 -ldc2-0_15 -ldc2-0_16 -tools"

 

Remove  

Remove everything from dev-lang/dmd dmd-2_068 package.use or from except use flags that exist on ebuild:

-doc -examples -tools

emerge -av dmd
Documentation on USE flags:

https://wiki.gentoo.org/wiki/Handbook:X86/Working/USE

http://www.funtoo.org/Funtoo_Basic_concepts

Link to comment
Share on other sites

  • 0

I should have mentioned that my first attempt was installing without any use flags specified.   Here is the result emerging without any user added use flags:

quad ~ # emerge -auvDN dmd

 * IMPORTANT: 3 news items need reading for repository 'gentoo'.
 * Use eselect news read to view new items.


These are the packages that would be merged, in order:

Calculating dependencies |

!!! Problem resolving dependencies for dev-lang/dmd
... done!

!!! The ebuild selected to satisfy "dmd" has unmet requirements.
- dev-lang/dmd-2.069.0_beta2::dlang USE="-dmd-2_067 -dmd-2_068 -dmd-2_069 -doc -examples -ldc2-0_16 -tools" ABI_X86="64 -32"

  The following REQUIRED_USE flag constraints are unsatisfied:
    exactly-one-of ( dmd-2_067 dmd-2_068 dmd-2_069 ldc2-0_16 )

  The above constraints are a subset of the following complete expression:
    exactly-one-of ( dmd-2_067 dmd-2_068 dmd-2_069 ldc2-0_16 ) any-of ( abi_x86_32 abi_x86_64 )

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...