Jump to content
funtoo forums
  • 0
Sign in to follow this  
akbarstatix

dev-lang/dmd circular dependencies

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.

Share this post


Link to post
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

Share this post


Link to post
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

Share this post


Link to post
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 )

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...