1 |
On 19/09/2015 21:36, lee wrote: |
2 |
> Hi, |
3 |
> |
4 |
> how could I solve these updating problems: |
5 |
> |
6 |
> |
7 |
> emerge -j 8 -a --update --newuse --deep --with-bdeps=y @world |
8 |
> |
9 |
> * IMPORTANT: 4 news items need reading for repository 'gentoo'. |
10 |
> * Use eselect news read to view new items. |
11 |
> |
12 |
> |
13 |
> These are the packages that would be merged, in order: |
14 |
> |
15 |
> Calculating dependencies... done! |
16 |
> |
17 |
> !!! Multiple package instances within a single package slot have been pulled |
18 |
> !!! into the dependency graph, resulting in a slot conflict: |
19 |
> |
20 |
> dev-libs/boost:0 |
21 |
> |
22 |
> (dev-libs/boost-1.56.0-r1:0/1.56.0::gentoo, ebuild scheduled for merge) pulled in by |
23 |
> (no parents that aren't satisfied by other packages in this slot) |
24 |
> |
25 |
> (dev-libs/boost-1.55.0-r2:0/1.55.0::gentoo, ebuild scheduled for merge) pulled in by |
26 |
> dev-libs/boost:0/1.55.0= required by (dev-libs/librevenge-0.0.2:0/0::gentoo, installed) |
27 |
> ^^^^^^^^^^ |
28 |
> (and 2 more with the same problem) |
29 |
|
30 |
I'm not sure why you are getting this one. Portage is only pulling in |
31 |
boost-1.56.0-r1 because it's the latest stable version, but librevenge |
32 |
requires something earlier. Portage should therefore shut up and install |
33 |
the only real solution - keep boost at 1.55.0 |
34 |
|
35 |
Try these possibilities: |
36 |
|
37 |
emerge =dev-libs/boost-1.55.0-r2 |
38 |
emerge -avuND world |
39 |
|
40 |
or |
41 |
|
42 |
emerge -j 8 -a --update --newuse --deep --with-bdeps=n @world |
43 |
|
44 |
or quickpkg boost, then unmerge it and re-run emerge world. |
45 |
Boost is a pain to build so with a quickpkg you can put it back with a |
46 |
minimum of effort |
47 |
|
48 |
> |
49 |
> dev-util/boost-build:0 |
50 |
> |
51 |
> (dev-util/boost-build-1.55.0:0/0::gentoo, installed) pulled in by |
52 |
> =dev-util/boost-build-1.55* required by (dev-libs/boost-1.55.0-r2:0/1.55.0::gentoo, ebuild scheduled for merge) |
53 |
> ^ ^^^^^ |
54 |
> |
55 |
> (dev-util/boost-build-1.56.0:0/0::gentoo, ebuild scheduled for merge) pulled in by |
56 |
> =dev-util/boost-build-1.56* required by (dev-libs/boost-1.56.0-r1:0/1.56.0::gentoo, ebuild scheduled for merge) |
57 |
> ^ ^^^^^ |
58 |
|
59 |
This is a consequence of boost. |
60 |
Fix the boost issue and this one goes away |
61 |
|
62 |
> |
63 |
> media-video/ffmpeg:0 |
64 |
> |
65 |
> (media-video/ffmpeg-2.6.3:0/54.56.56::gentoo, ebuild scheduled for merge) pulled in by |
66 |
> (no parents that aren't satisfied by other packages in this slot) |
67 |
> |
68 |
> (media-video/ffmpeg-2.2.14:0/52.55.55::gentoo, installed) pulled in by |
69 |
> media-video/ffmpeg:0/52.55.55=[vdpau] required by (media-libs/mlt-0.9.0:0/0::gentoo, installed) |
70 |
> ^^^^^^^^^^^^ |
71 |
|
72 |
Similar to boost. try a similar approach |
73 |
> |
74 |
> |
75 |
> It may be possible to solve this problem by using package.mask to |
76 |
> prevent one of those packages from being selected. However, it is also |
77 |
> possible that conflicting dependencies exist such that they are |
78 |
> impossible to satisfy simultaneously. If such a conflict exists in |
79 |
> the dependencies of two different packages, then those packages can |
80 |
> not be installed simultaneously. |
81 |
> |
82 |
> For more information, see MASKED PACKAGES section in the emerge man |
83 |
> page or refer to the Gentoo Handbook. |
84 |
> |
85 |
> |
86 |
> !!! The ebuild selected to satisfy "sci-libs/hdf5" has unmet requirements. |
87 |
> - sci-libs/hdf5-1.8.14-r1::gentoo USE="cxx fortran threads zlib -debug -examples -fortran2003 -mpi -static-libs -szip" |
88 |
> |
89 |
> The following REQUIRED_USE flag constraints are unsatisfied: |
90 |
> threads? ( !cxx !fortran ) |
91 |
|
92 |
Come on, the problem is as clear as daylight and stated right there in |
93 |
the output: |
94 |
|
95 |
If you have threads in USE for hdf5, then you cannot have cxx and/or |
96 |
fortran also in USE for hdf5 |
97 |
|
98 |
echo "=sci-libs/hdf5-1.8.14-r1 -cxx -fortran" >> |
99 |
/etc/portage/package.use/package.use |
100 |
|
101 |
> |
102 |
> The above constraints are a subset of the following complete expression: |
103 |
> cxx? ( !mpi ) mpi? ( !cxx ) threads? ( !cxx !mpi !fortran ) fortran2003? ( fortran ) |
104 |
> |
105 |
> (dependency required by "media-libs/openimageio-1.3.5::gentoo" [installed]) |
106 |
> (dependency required by "@selected" [set]) |
107 |
> (dependency required by "@world" [argument]) |
108 |
> |
109 |
> |
110 |
> I could remove boost (and maybe reinstall it later), but I would like to |
111 |
> keep ffmpeg. hdf5 apparently goes back to having blender installed, |
112 |
> which I would also like to keep. And apparently, I would have to remove |
113 |
> libreoffice before I could update. |
114 |
|
115 |
What does libreoffice have to do with this? |
116 |
|
117 |
|
118 |
> |
119 |
> Why can't we just update like we can with any other distribution but |
120 |
> have to run into dependency problems all the time instead? |
121 |
|
122 |
You fail to understand how gentoo works. At no time did Gentoo ever |
123 |
guarantee that updates would work like binary distros and the process |
124 |
would be trouble free. Quite the opposite - Gentoo is upfront in telling |
125 |
you that there will always be update issues and you are the person to |
126 |
solve them. |
127 |
|
128 |
This is because of how Gentoo works. With a binary distro, there is only |
129 |
one variant of a package. If package A depends on ldap, and cifs, and |
130 |
kerberos and nfs, and you don't want any of those then that is tough |
131 |
shit because you are going to get them. And you are going to get them |
132 |
because the package maintainer said you are going to get them. |
133 |
|
134 |
Gentoo gives you the choice, and sometimes your choices interfere with |
135 |
other choices you make. Now you get to decide. |
136 |
|
137 |
Binary distros run into the same problems as above, and the package |
138 |
maintainer has to solve them. When that is done, the package gets pushed |
139 |
out and you don't see what it took. You also don't have any choice. |
140 |
|
141 |
In Gentoo, YOU have the role that a maintainer has on Fedora, YOU get to |
142 |
find out how to solve the problem and YOU get to implement it. That is |
143 |
the inevitable side-effect of having choice. |
144 |
|
145 |
> |
146 |
> What do I do when I need to update /right now/ and find myself being |
147 |
> blocked with cryptic messages like the above that leave me stranded? |
148 |
> Once I used 'emerge --sync', there is no way to turn it back to continue |
149 |
> to be able to install software if needed when the update cannot be |
150 |
> performed. Updates simply need to work, there's no way around that. |
151 |
|
152 |
You seem unwilling to do what it takes to run Gentoo properly. I suggest |
153 |
you delete your Gentoo systems and install Fedora instead. Gentoo is |
154 |
obviously not for you. |
155 |
|
156 |
|
157 |
-- |
158 |
Alan McKinnon |
159 |
alan.mckinnon@×××××.com |