Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
emerge --depclean wants to remove dependencies
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
atemv
n00b
n00b


Joined: 09 Aug 2014
Posts: 63

PostPosted: Fri Aug 22, 2014 10:21 am    Post subject: emerge --depclean wants to remove dependencies Reply with quote

Hi everybody!

I installed Gentoo 3 weeks ago, and now I want use
Code:
emerge --depclean
first time. For a safety measure I used --ask flag to check the list of unnecessary packages, before jinx something important.

Code:
dev-libs/libxdg-basedir
    selected: 1.1.1
   protected: none
     omitted: none

 media-sound/wavpack
    selected: 4.70.0
   protected: none
     omitted: none

 virtual/jre
    selected: 1.6.0-r1
   protected: none
     omitted: 1.7.0

 media-video/vcdimager
    selected: 0.7.24
   protected: none
     omitted: none

 net-libs/libkolabxml
    selected: 0.8.4
   protected: none
     omitted: none

 x11-libs/libXvMC
    selected: 1.0.8
   protected: none
     omitted: none

 sci-libs/cblas-reference
    selected: 20030223-r4
   protected: none
     omitted: none

 app-admin/eselect-xvmc
    selected: 0.4
   protected: none
     omitted: none

 dev-cpp/xsd
    selected: 3.3.0-r3
   protected: none
     omitted: none

 virtual/jdk
    selected: 1.6.0-r2
   protected: none
     omitted: 1.7.0

 dev-libs/libcdio
    selected: 0.92
   protected: none
     omitted: none

 dev-cpp/libxsd-frontend
    selected: 1.18.0-r3
   protected: none
     omitted: none

 dev-cpp/libbackend-elements
    selected: 1.7.2
   protected: none
     omitted: none

 dev-java/icedtea-bin
    selected: 6.1.13.3-r3
   protected: none
     omitted: none

 dev-cpp/libfrontend-elements
    selected: 1.1.4
   protected: none
     omitted: none

 dev-libs/xerces-c
    selected: 3.1.1-r1
   protected: none
     omitted: none

 dev-cpp/libcult
    selected: 1.4.6-r1
   protected: none
     omitted: none

 dev-util/build
    selected: 0.3.9
   protected: none
     omitted: none



The result was a bit fishy for me. So I used equery depends <packagename> to check the list. As a result many of these packages are important dependecies for others:

Code:
localhost attila # equery depends media-sound/wavpack
 * These packages depend on media-sound/wavpack:
media-sound/sox-14.4.1 (wavpack ? media-sound/wavpack)

localhost attila # equery depends media-video/vcdimager
 * These packages depend on media-video/vcdimager:
media-video/vlc-2.1.2 (vcdx ? >=media-video/vcdimager-0.7.22:0)

localhost attila # equery depends libXvMC
 * These packages depend on libXvMC:
app-emulation/emul-linux-x86-xlibs-20140508 (abi_x86_32 ? >=x11-libs/libXvMC-1.0.8[abi_x86_32(-)])
media-libs/mesa-10.0.4 (xvmc ? >=x11-libs/libXvMC-1.0.8[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?])

localhost attila # equery depends sci-libs/cblas-reference
 * These packages depend on sci-libs/cblas-reference:
virtual/cblas-1.0 (sci-libs/cblas-reference)

localhost attila # equery depends app-admin/eselect-xvmc
 * These packages depend on app-admin/eselect-xvmc:
x11-libs/libXvMC-1.0.8 (app-admin/eselect-xvmc)

localhost attila # equery depends dev-cpp/xsd
 * These packages depend on dev-cpp/xsd:
net-libs/libkolabxml-0.8.4 (dev-cpp/xsd)

localhost attila # equery depends dev-libs/libcdio
 * These packages depend on dev-libs/libcdio:
media-video/libav-9.14 (cdio ? <dev-libs/libcdio-0.90[-minimal,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?])
media-video/vcdimager-0.7.24 (>=dev-libs/libcdio-0.90-r1[-minimal,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?])
media-video/vlc-2.1.2 (vcdx ? >=dev-libs/libcdio-0.78.2:0)

localhost attila # equery depends dev-cpp/libxsd-frontend
 * These packages depend on dev-cpp/libxsd-frontend:
dev-cpp/xsd-3.3.0-r3 (>=dev-cpp/libxsd-frontend-1.18.0-r1)

localhost attila # equery depends dev-cpp/libbackend-elements
 * These packages depend on dev-cpp/libbackend-elements:
dev-cpp/xsd-3.3.0-r3 (>=dev-cpp/libbackend-elements-1.7.2)

localhost attila # equery depends dev-cpp/libfrontend-elements
 * These packages depend on dev-cpp/libfrontend-elements:
dev-cpp/libxsd-frontend-1.18.0-r3 (>=dev-cpp/libfrontend-elements-1.1.4)

localhost attila # equery depends dev-libs/xerces-c
 * These packages depend on dev-libs/xerces-c:
dev-cpp/libxsd-frontend-1.18.0-r3 (>=dev-libs/xerces-c-3)
dev-cpp/xsd-3.3.0-r3 (>=dev-libs/xerces-c-3)
net-libs/libkolabxml-0.8.4 (dev-libs/xerces-c)

localhost attila # equery depends dev-cpp/libcult
 * These packages depend on dev-cpp/libcult:
dev-cpp/libbackend-elements-1.7.2 (>=dev-cpp/libcult-1.4.6-r1)
dev-cpp/libfrontend-elements-1.1.4 (>=dev-cpp/libcult-1.4.6-r1)
dev-cpp/libxsd-frontend-1.18.0-r3 (>=dev-cpp/libcult-1.4.6-r1)
dev-cpp/xsd-3.3.0-r3 (>=dev-cpp/libcult-1.4.6-r1)

localhost attila # equery depends dev-util/build
 * These packages depend on dev-util/build:
dev-cpp/libbackend-elements-1.7.2 (dev-util/build:0.3)
dev-cpp/libcult-1.4.6-r1 (dev-util/build:0.3)
dev-cpp/libfrontend-elements-1.1.4 (dev-util/build:0.3)
dev-cpp/libxsd-frontend-1.18.0-r3 (dev-util/build:0.3)
dev-cpp/xsd-3.3.0-r3 (dev-util/build)


:? I definitely use VLC, SOX, libav (for ffmpeg and Blender), and I do not know exactly, but maybe the x11-libs/libXvMC and dev-util/build have some very serious roles on my system.

I am a newbie, so there is chance that I've totaly mistaken something. In this case please explain me, why portage wants to remove packages, what are shown dependencies of others by equery? And how can I check the correctness in a more adequate way.

If I am not mistaken, please help me work around this problem with portage.
Back to top
View user's profile Send private message
albright
Advocate
Advocate


Joined: 16 Nov 2003
Posts: 2588
Location: Near Toronto

PostPosted: Fri Aug 22, 2014 11:20 am    Post subject: Reply with quote

depclean is, in my experience, dangerous; one has to carefully
examine what it proposes to do

I notice that in the emerge man page under depclean we
find both:

Quote:
Packages that are part of the world set will always be kept


and

Quote:
packages listed in package.provided (see portage(5)) may be removed by
depclean, even if they are part of the world set.


nobody seems to know what depclean will actually do :)
_________________
.... there is nothing - absolutely nothing - half so much worth
doing as simply messing about with Linux ...
(apologies to Kenneth Graeme)
Back to top
View user's profile Send private message
xaviermiller
Bodhisattva
Bodhisattva


Joined: 23 Jul 2004
Posts: 8708
Location: ~Brussels - Belgique

PostPosted: Fri Aug 22, 2014 11:33 am    Post subject: Reply with quote

Hello,

The dependencies you shows depend on USE flags. Are those USE flags enabled ?
_________________
Kind regards,
Xavier Miller
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 8935

PostPosted: Fri Aug 22, 2014 11:35 am    Post subject: Reply with quote

--depclean has been reliable the last 1 or 2 years to the extent that portage now even recommends to run it after an update. Before, the situation was dire.

Have your USE flags changed since install? e.g., the following two deps

Code:
localhost attila # equery depends media-sound/wavpack
 * These packages depend on media-sound/wavpack:
media-sound/sox-14.4.1 (wavpack ? media-sound/wavpack)

localhost attila # equery depends media-video/vcdimager
 * These packages depend on media-video/vcdimager:
media-video/vlc-2.1.2 (vcdx ? >=media-video/vcdimager-0.7.22:0)

are only in effect if you have really enabled wavpack for sox and vcdx for vlc, `equery d` does not check whether that is the case.

Then you have several packages whose consumers are also part of the --depclean, so that is fine.
Back to top
View user's profile Send private message
atemv
n00b
n00b


Joined: 09 Aug 2014
Posts: 63

PostPosted: Fri Aug 22, 2014 10:22 pm    Post subject: Reply with quote

Thank everybody especially for XavierMiller and genstorm

XavierMiller wrote:
Hello,

The dependencies you shows depend on USE flags. Are those USE flags enabled ?


genstorm wrote:
--depclean has been reliable the last 1 or 2 years to the extent that portage now even recommends to run it after an update. Before, the situation was dire.

Have your USE flags changed since install? e.g., the following two deps

Code:
localhost attila # equery depends media-sound/wavpack
 * These packages depend on media-sound/wavpack:
media-sound/sox-14.4.1 (wavpack ? media-sound/wavpack)

localhost attila # equery depends media-video/vcdimager
 * These packages depend on media-video/vcdimager:
media-video/vlc-2.1.2 (vcdx ? >=media-video/vcdimager-0.7.22:0)

are only in effect if you have really enabled wavpack for sox and vcdx for vlc, `equery d` does not check whether that is the case.

Then you have several packages whose consumers are also part of the --depclean, so that is fine.


That was the case. I checked VLC and SOX with
Code:
equery uses <packagename>
and found the missing USE flags.

After I added them in /etc/portage/package.use and run

Code:
emerge --update --deep --newuse @world


and the problematic dependencies disappeared from the list, and I figured out that, dev-util/build is not important for the system. It is needed for dev-cpp/xsd, what is a dependency for net-libs/libkolabxml.

So I guess If you use Kolab you will need it.

I ran

Code:
emerge --depclean


and everything still works, as far as I know.

Thanks again for the help :)
Back to top
View user's profile Send private message
wrc1944
Advocate
Advocate


Joined: 15 Aug 2002
Posts: 3435
Location: Gainesville, Florida

PostPosted: Sat Aug 23, 2014 5:50 am    Post subject: Reply with quote

I agree with genstorm. Depclean is much improved over past years. Never have a problem anymore, and keeps my Gentoo ~Arch systems clean.
In fact, if you don't run depclean at least once in a while eventually you will run into problems with hard to figure out package conflicts and blocks.

One good practice is to always run revdep-rebuild immediately after running depclean (before rebooting), which should catch any problems that depclean may have caused by rebuilding against the updated packages, or replacing something it mistakenly removed (it's not perfect). Another is to use
Code:
 emerge -upDN @world
for your update command.

Keep in mind you can always prevent depclean from removing a package it lists (such as a kernel or gcc version you wish to keep around), with the command (as an example) :
Code:
 emerge --noreplace =gentoo-sources-3.15.7

Same goes for packages you just feel wary about removing, until you explore them a bit further. However, in my recent experience, depclean is almost always right, and revdep-rebuild always is your "safety measure."
_________________
Main box- AsRock x370 Gaming K4
Ryzen 7 3700x, 3.6GHz, 16GB GSkill Flare DDR4 3200mhz
Samsung SATA 1000GB, Radeon HD R7 350 2GB DDR5
OpenRC Gentoo ~amd64 plasma, glibc-2.36-r7, gcc-13.2.1_p20230304
kernel-6.8.4 USE=experimental python3_11
Back to top
View user's profile Send private message
atemv
n00b
n00b


Joined: 09 Aug 2014
Posts: 63

PostPosted: Mon Aug 25, 2014 12:17 pm    Post subject: Reply with quote

wrc1944 wrote:
I agree with genstorm. Depclean is much improved over past years. Never have a problem anymore, and keeps my Gentoo ~Arch systems clean.
In fact, if you don't run depclean at least once in a while eventually you will run into problems with hard to figure out package conflicts and blocks.

One good practice is to always run revdep-rebuild immediately after running depclean (before rebooting), which should catch any problems that depclean may have caused by rebuilding against the updated packages, or replacing something it mistakenly removed (it's not perfect). Another is to use
Code:
 emerge -upDN @world
for your update command.

Keep in mind you can always prevent depclean from removing a package it lists (such as a kernel or gcc version you wish to keep around), with the command (as an example) :
Code:
 emerge --noreplace =gentoo-sources-3.15.7

Same goes for packages you just feel wary about removing, until you explore them a bit further. However, in my recent experience, depclean is almost always right, and revdep-rebuild always is your "safety measure."


Thank you. This advice seems highly useful, I will keep it in mind.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
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