LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 706|回复: 9

更新系统时出现循环依赖,不知何解?求助!

[复制链接]
发表于 2011-11-9 14:19:23 | 显示全部楼层 |阅读模式
同步完portage,升级软件,出现循环依赖:


  1. emerge --update --newuse --deep @world --exclude firefox
  2. Calculating dependencies... done!


  3. [nomerge       ] dev-java/dom4j-1.6.1-r3  USE="-doc -source -test"
  4. [nomerge       ]  dev-java/jsr173-1.0-r1  USE="-doc -source"
  5. [nomerge       ]   dev-java/jaxme-0.5.2  USE="-doc -source"
  6. [nomerge       ]    dev-db/hsqldb-1.8.1.3  USE="-doc -source -test"
  7. [nomerge       ]     java-virtuals/servlet-api-2.3
  8. [nomerge       ]      dev-java/tomcat-servlet-api-4.1.36  USE="-doc -source"
  9. [nomerge       ]       virtual/jdk-1.7.0 [1.6.0]
  10. [nomerge       ]        dev-java/icedtea-7.2.0-r1  USE="examples javascript nsplugin pulseaudio webstart -debug -doc -jamvm -systemtap -zero"
  11. [nomerge       ]         dev-java/rhino-1.7.2-r2  USE="examples -doc -source"
  12. [nomerge       ]          dev-java/xml-xmlbeans-1.0.4_pre20041217  USE="-doc -source"
  13. [nomerge       ]           dev-java/jaxen-1.1.1  USE="examples -doc -source -test"
  14. [nomerge       ]            dev-java/jdom-1.0-r4  USE="examples -doc -source"
  15. [ebuild  N     ]             dev-java/jdom-jaxen-1.0-r1  3,489 kB
  16. [ebuild  N     ]              dev-java/jdom-1.0-r4  USE="examples -doc -source" 0 kB
  17. [ebuild  N     ]         dev-java/rhino-1.7.2-r2  USE="examples -doc -source" 2,946 kB
  18. [ebuild  N     ]          dev-java/xml-xmlbeans-1.0.4_pre20041217  USE="-doc -source" 2,380 kB
  19. [ebuild  N     ]           dev-java/jaxen-1.1.1  USE="examples -doc -source -test" 265 kB
  20. [ebuild  N     ]         dev-java/icedtea-web-1.1.3-r7  USE="nsplugin -build -doc" 792 kB
  21. [ebuild  N     ]          dev-java/icedtea-7.2.0-r1  USE="examples javascript nsplugin pulseaudio webstart -debug -doc -jamvm -systemtap -zero" 65,905 kB
  22. [nomerge       ] dev-java/jdom-jaxen-1.0-r1
  23. [nomerge       ]  dev-java/jaxen-1.1.1  USE="examples -doc -source -test"
  24. [ebuild  N     ]   dev-java/dom4j-1.6.1-r3  USE="-doc -source -test" 9,463 kB
  25. [ebuild  N     ]    dev-java/msv-20050627-r3  USE="-doc -source" 3,703 kB
  26. [ebuild  N     ]     dev-java/iso-relax-20050331-r2  USE="-source" 681 kB
  27. [ebuild  N     ]    dev-java/jsr173-1.0-r1  USE="-doc -source" 625 kB
  28. [ebuild  N     ]     dev-java/jaxme-0.5.2  USE="-doc -source" 5,351 kB
  29. [ebuild  N     ]      dev-db/hsqldb-1.8.1.3  USE="-doc -source -test" 3,097 kB
  30. [ebuild  N     ]       java-virtuals/servlet-api-2.3  0 kB
  31. [ebuild  N     ]        dev-java/tomcat-servlet-api-4.1.36  USE="-doc -source" 3,629 kB
  32. [ebuild  N     ]      dev-java/log4j-1.2.16  USE="-doc -javamail -jms -jmx -source" 2,727 kB
  33. [ebuild  N     ]      dev-java/antlr-2.7.7-r4  USE="cxx examples java python -debug -doc -mono -script -source -static-libs" 1,774 kB
  34. [ebuild  N     ]      dev-java/xmldb-20011111-r1  USE="-doc -source" 36 kB
  35. [ebuild  N     ]    dev-java/xpp2-2.1.10-r1  USE="-doc -source" 2,257 kB
  36. [ebuild  N     ]    dev-java/xpp3-1.1.4c-r1  USE="-doc -source -test" 938 kB
  37. [ebuild  N     ]   dev-java/xom-1.2.6  USE="examples -doc -source" 11,100 kB
  38. [ebuild  N     ]    dev-java/jarjar-0.9  USE="-doc -source -test" 184 kB
  39. [ebuild  N     ]     dev-java/asm-2.0-r1  USE="-doc -source" 253 kB
  40. [ebuild  N     ]      dev-java/ant-owanttask-1.1-r12  10 kB
  41. [ebuild  N     ]       dev-java/xalan-2.7.1  USE="-doc -source" 6,138 kB
  42. [ebuild  N     ]        dev-java/javacup-0.11a_beta20060608  USE="-doc -source" 280 kB
  43. [ebuild  N     ]        dev-java/bcel-5.2-r2  USE="-doc -findbugs -source" 256 kB
  44. [ebuild  N     ]     dev-java/java-getopt-1.0.13  USE="-doc -source" 45 kB
  45. [ebuild  N     ]     dev-java/gnu-regexp-1.1.4-r2  USE="-doc -source" 161 kB
  46. [ebuild  N     ]    dev-java/servletapi-2.4-r5  USE="-doc -source" 4,684 kB
  47. [nomerge       ] dev-java/msv-20050627-r3  USE="-doc -source"
  48. [ebuild  N     ]  dev-java/xsdlib-20050627-r2  USE="-doc -source" 786 kB
  49. [ebuild  N     ]   dev-java/xerces-2.9.1  USE="examples -doc -source" 1,672 kB
  50. [ebuild  N     ]    dev-java/xjavac-20110814  3 kB
  51. [nomerge       ] dev-java/icedtea-7.2.0-r1  USE="examples javascript nsplugin pulseaudio webstart -debug -doc -jamvm -systemtap -zero"
  52. [ebuild  N     ]  dev-java/ant-nodeps-1.8.1  5,740 kB
  53. [nomerge       ] dev-java/dom4j-1.6.1-r3  USE="-doc -source -test"
  54. [nomerge       ]  dev-java/jaxme-0.5.2  USE="-doc -source"
  55. [ebuild  N     ]   dev-java/junit-3.8.2-r1  USE="-doc -source" 451 kB
  56. [nomerge       ] dev-java/msv-20050627-r3  USE="-doc -source"
  57. [ebuild  N     ]  dev-java/xml-commons-resolver-1.2  USE="-doc -source" 257 kB
  58. [nomerge       ] dev-java/xmldb-20011111-r1  USE="-doc -source"
  59. [nomerge       ]  dev-java/xalan-2.7.1  USE="-doc -source"
  60. [ebuild  N     ]   dev-java/xalan-serializer-2.7.1  USE="-doc -source" 0 kB
  61. [nomerge       ] dev-java/jdom-1.0-r4  USE="examples -doc -source"
  62. [ebuild  N     ]  dev-java/saxpath-1.0-r2  USE="-doc -source -test" 2,116 kB
  63. [nomerge       ] dev-java/msv-20050627-r3  USE="-doc -source"
  64. [ebuild  N     ]  dev-java/relaxng-datatype-1.0-r1  USE="-doc -source" 73 kB
  65. [nomerge       ] dev-java/xom-1.2.6  USE="examples -doc -source"
  66. [ebuild  N     ]  dev-java/xml-commons-external-1.3.04  USE="-doc -source" 645 kB
  67. [ebuild  N     ]   dev-java/ant-core-1.8.1  USE="-doc -source" 0 kB
  68. [ebuild  NS    ]   virtual/jre-1.7.0 [1.6.0] 0 kB
  69. [ebuild  NS    ]    virtual/jdk-1.7.0 [1.6.0] 0 kB

  70. Total: 43 packages (41 new, 2 in new slots), Size of downloads: 144,891 kB

  71. * Error: circular dependencies:

  72. (virtual/jdk-1.7.0::gentoo, ebuild scheduled for merge) depends on
  73. (dev-java/icedtea-7.2.0-r1::gentoo, ebuild scheduled for merge) (runtime)
  74.   (dev-java/rhino-1.7.2-r2::gentoo, ebuild scheduled for merge) (buildtime)
  75.    (virtual/jdk-1.7.0::gentoo, ebuild scheduled for merge) (buildtime)

  76. It might be possible to break this cycle
  77. by applying the following change:
  78. - dev-java/icedtea-7.2.0-r1 (Change USE: -javascript)

  79. Note that this change can be reverted, once the package has been installed.

  80. Note that the dependency graph contains a lot of cycles.
  81. Several changes might be required to resolve all cycles.
  82. Temporarily changing some use flag for all packages might be the better option.

  83. The following USE changes are necessary to proceed:
  84. #required by dev-java/jaxme-0.5.2, required by dev-java/dom4j-1.6.1-r3, required by dev-java/jaxen-1.1.1, required by dev-java/jdom-jaxen-1.0-r1, required by dev-java/jdom-1.0-r4
  85. >=dev-java/antlr-2.7.7-r4:0 java

  86. Use --autounmask-write to write changes to config files (honoring CONFIG_PROTECT).
复制代码


按提示执行

  1. echo "dev-java/icedtea -javascript" >> /etc/portage/package.use
复制代码


再次更新系统,仍出现如下错误:

  1. emerge --update --newuse --deep @world --exclude firefox
  2. Calculating dependencies... done!


  3. [nomerge       ] dev-util/argouml-0.32.2  USE="-doc"
  4. [nomerge       ]  dev-java/java-config-2.1.11-r3
  5. [nomerge       ]   virtual/jre-1.7.0 [1.6.0]
  6. [nomerge       ]    virtual/jdk-1.7.0 [1.6.0]
  7. [nomerge       ]     dev-java/icedtea-7.2.0-r1  USE="examples nsplugin pulseaudio webstart -debug -doc -jamvm -javascript -systemtap -zero"
  8. [ebuild  N     ]      dev-java/icedtea-web-1.1.3-r7  USE="nsplugin -build -doc" 792 kB
  9. [ebuild  N     ]       dev-java/icedtea-7.2.0-r1  USE="examples nsplugin pulseaudio webstart -debug -doc -jamvm -javascript -systemtap -zero" 65,905 kB
  10. [ebuild  N     ]        dev-java/ant-nodeps-1.8.1  5,740 kB
  11. [ebuild  N     ]         dev-java/ant-core-1.8.1  USE="-doc -source" 0 kB
  12. [ebuild  NS    ]         virtual/jre-1.7.0 [1.6.0] 0 kB
  13. [ebuild  NS    ]          virtual/jdk-1.7.0 [1.6.0] 0 kB

  14. Total: 6 packages (4 new, 2 in new slots), Size of downloads: 72,435 kB

  15. * Error: circular dependencies:

  16. (virtual/jdk-1.7.0::gentoo, ebuild scheduled for merge) depends on
  17. (dev-java/icedtea-7.2.0-r1::gentoo, ebuild scheduled for merge) (runtime)
  18.   (dev-java/ant-core-1.8.1::gentoo, ebuild scheduled for merge) (buildtime)
  19.    (virtual/jdk-1.7.0::gentoo, ebuild scheduled for merge) (buildtime)

  20. * Note that circular dependencies can often be avoided by temporarily
  21. * disabling USE flags that trigger optional dependencies.
复制代码


不知道怎么解决了?
发表于 2011-11-9 15:08:09 | 显示全部楼层
俺菜鸟一个,不过你可以从网上搜搜啊,看这个的意思,循环依赖,屏蔽掉第一个,如果你可以暂时不用,否则等吧,可能是portage的bug,个人见解。。
回复 支持 反对

使用道具 举报

发表于 2011-11-9 16:13:38 | 显示全部楼层
dev-java/antlr-2.7.7-r4:0 java 加到USE,从下往上走!!
回复 支持 反对

使用道具 举报

发表于 2011-11-9 16:57:39 | 显示全部楼层
装oracle-jdk-bin
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-11-9 17:58:03 | 显示全部楼层
Post by jiaguwen;2154672
dev-java/antlr-2.7.7-r4:0 java 加到USE,从下往上走!!


好像不管用。
其实,系统里除了必要的java插件需要,没有装什么其他跟java有关的软件包。更新系统时却莫名奇妙的出了这么多与java依赖的包。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-11-9 18:19:12 | 显示全部楼层
Post by jamesgt;2154675
装oracle-jdk-bin


java的vm到底装哪个比较好呢?
我的系统里好像是默认icedtea。
回复 支持 反对

使用道具 举报

发表于 2011-11-9 18:28:26 | 显示全部楼层
最近java有大动作,bugs.gentoo.org报错的很多。试试装oracle-jdk-bin
回复 支持 反对

使用道具 举报

发表于 2011-11-9 18:54:19 | 显示全部楼层
其实这个与java本身没关系,也不是portage的bug,仔细研究一下输出就会发现这是portage进行依赖计算的局限所导致。

方法1:mask dev-java/icedtea,这个家伙编译太费时间,不如icedtea-bin;

方法2:暂时mask virtual/jdk:1.7及virtual/jre:1.7 , emerge -1 icedtea:7,之后再去除virtual/jdk:1.7和virtual/jre:1.7的mask。这样可以解决循环依赖。

方法3:永远mask virtual/jdk:1.7及virtual/jre:1.7。除非从事java开发,目前使用java 1.7似乎无用。
Post by easior lars;2154678
java的vm到底装哪个比较好呢?
我的系统里好像是默认icedtea。

icedtea开源,oracle-jdk-bin闭源,其他似乎没有什么区别了... icedtea对某些java程序的兼容性差些。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-11-9 20:16:31 | 显示全部楼层
Post by RichardGv;2154682
其实这个与java本身没关系,也不是portage的bug,仔细研究一下输出就会发现这是portage进行依赖计算的局限所导致。

方法1:mask dev-java/icedtea,这个家伙编译太费时间,不如icedtea-bin;

方法2:暂时mask virtual/jdk:1.7及virtual/jre:1.7 , emerge -1 icedtea:7,之后再去除virtual/jdk:1.7和virtual/jre:1.7的mask。这样可以解决循环依赖。

方法3:永远mask virtual/jdk:1.7及virtual/jre:1.7。除非从事java开发,目前使用java 1.7似乎无用。

方法4:去掉dev-java/icedtea的webstart USE flag,也可以避免循环依赖,如果您不需要它的话。


确实可行。
不知兄台怎么从出错信息看出来是依赖计算的问题的呢?
我看了半天也没有看出这些。
估计你是在作gentoo相关的开发吧?
回复 支持 反对

使用道具 举报

发表于 2011-11-10 21:06:54 | 显示全部楼层
Post by easior lars;2154685
确实可行。
不知兄台怎么从出错信息看出来是依赖计算的问题的呢?
我看了半天也没有看出这些。
估计你是在作gentoo相关的开发吧?

其实看第二次portage的输出就很简单了:

portage想更新virtual/jdk到1.7.0
-> 需要dev-java/icedtea-7.2.0-r1
-> dev-java/icedtea-7.2.0-r1依赖于dev-java/ant-nodeps
-> dev-java/ant-nodeps-1.8.1依赖于dev-java/ant-core-1.8.1
-> dev-java/ant-core-1.8.1依赖于virtual/jdk(实际上ebuild依赖的是>=virtual/jdk-1.4,而portage希望使用最新的virtual/jdk-1.7.0),这样就出现循环依赖了。其实portage在这一步只需使用已存在的virtual/jdk-1.6.0就可以解决循环依赖,可惜portage是个低能儿+偏执狂,执意要使用新的virtual/jdk-1.7.0... 因此解决方法就是暂时mask virtual/jdk:1.7及virtual/jre:1.7,让portage使用现存的virtual/jdk-1.6.0解决依赖问题。

其实还有另一种方法,就是用--nodeps (-O)先emerge icedtea:7,不过这个未免太暴力了一点...

另外,我上个回复出了个错误,去掉dev-java/icedtea的webstart USE flag是无法解决循环依赖的...

gentoo相关的开发?呃,我的水平差得没有十万八千里也有九万六千里...
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表