Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Detecting circular dependencies
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2  
Reply to topic    Gentoo Forums Forum Index Installing Gentoo
View previous topic :: View next topic  
Author Message
cach0rr0
Moderator
Moderator


Joined: 13 Nov 2008
Posts: 3849
Location: Houston, Republic of Texas

PostPosted: Mon Nov 30, 2009 7:55 am    Post subject: Reply with quote

dont know what the formal/official stance on this is, but those USE flags seem excessive at first glance.

For example, you want both apache and KDE on this?
And "hardened" USE flag on a system with X and KDE?

Code:

USE="X a52 aac acl acpi alsa apache2 arts bash-completion bzip2 cairo caps cdb cdda cdr cgi cracklib crypt cscope css cups
curl curlwrappers cxx dbase dga directfb djvu doc dri dts dv dvd dvdr encode enscript exif expat fastcgi fbcon ffmpeg fftw
flac fontconfig foomaticdb ftp gd geoip gif gimp ginac gphoto2 gpm gzip hal hardened hddtemp iconv icu idn imagemagick jadetex mysql sql webkit
java java6 javascript jbig joystick jpeg jpeg2k kde lame latex libedit lzo m17n-lib mad matroska mikmode mime mng mp3 mp4
mpeg mplayer musepack ncurses nntp nptl odbc ofx ogg openal openexr opengl pcntl pcre pda pdf perl php plasma plotutils
png posix postgres ppds prelude python qt3 qt4 quicktime raw rdesktop readline samba scanner slang sockets sndfile source
sox speex spell ssl svg svga syslog tcl threads tiff truetype unicode usb v4l v4l2 vcd vim-syntax vnc vorbis wavpack
win32codecs wmf xattr xine xinerama xml xmlrpc xsl xv xvid zlib"



Mine are excessive, but I have the following for my laptop (which would be suitable for a desktop as well)

Code:

USE="qt3support -cleartype X esd gnome kde dbus dvdcss css hal mmx sse svg alsa offensive branding win32codecs gstreamer firefox gnome-keyring -ipv6 jpeg flag ogg vorbis wxwidgets libnotify a52 aac dvd dts flac libv4l2 matroska mp3 mpeg nsplugin ogg png rtsp stream svg v4l v4l2 vorbis x264 skins truetype nonfsv4 gtk lvm2 opengl"



So you want everything to support everything, is basically what your USE flags say; part of the advantage of Gentoo is minimalism with regards to dependencies.

I would start off with less aggressive USE flags - remember, these are what you want applied *globally*, to everything.

If you need to later set specific per-package use flags, it is easy to do with editing /etc/portage/package.use (doesnt exist by default - has to be made)
Back to top
View user's profile Send private message
SLBMEH
Apprentice
Apprentice


Joined: 16 Aug 2003
Posts: 299
Location: Pittsburgh, PA

PostPosted: Mon Nov 30, 2009 8:32 pm    Post subject: Reply with quote

My personal rule of thumb is the less global settings the better. Some use flags are heavily supported, others are supported fairly well for some packages, but not so much for others... that statement isn't based on anything other than my preset assumptions :P but... anyhow... say you have a use flag... we'll use freetds... you happen to have the freetds libs specified to install with ~arch... it ends up breaking functionality in package a and in package b... it's something that isn't used much with package a so it's a low priority fix and might just be pushed upstream... it's something that's almost crucial for package b so they make a patch and fix it immediately... package b works fine now after you rebuild it... but package a might remain unusable for a while and you need to install a lower version in a slot or rollback your current installation of freetds...

That was a terrible example and a fairly unrealistic scenario... but i guess what i'm saying is i do the complete opposite when it comes to use flags as much so that it's almost overkill... in my make.conf i have USE="-* doc examples" and everything else is put into a file under /etc/portage/package.use/*

I hope you can figure out what I'm trying to say...
_________________
Steve - Semper Fi
Back to top
View user's profile Send private message
amightywind
Tux's lil' helper
Tux's lil' helper


Joined: 01 Jun 2004
Posts: 137
Location: Andover, MN USA

PostPosted: Wed Dec 09, 2009 1:28 am    Post subject: Reply with quote

SxN,

I am having precisely the same problem. This has nothing to do with KDE or Gnome. The ebuilds seem to have mutual dependencies so one of them is broken.

Code:

neutron ~ # emerge --deep --update --pretend world

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

Calculating dependencies... done!


[nomerge      ] gnome-base/gnome-2.26.3
[nomerge      ]  net-print/gnome-cups-manager-0.33-r1
[nomerge      ]   net-print/libgnomecups-0.2.3
[nomerge      ]    net-print/cups-1.3.11-r1 [1.3.10-r2] USE="ldap* ppds* tiff*"
[nomerge      ]     net-nds/openldap-2.4.19-r1  USE="berkdb crypt cxx minimal perl sasl ssl tcpd -debug -experimental -gnutls -icu -iodbc -ipv6 -kerberos -odbc -overlays -samba (-selinux) -slp -smbkrb5passwd -syslog"
[ebuild  N    ]      dev-libs/cyrus-sasl-2.1.23-r1  USE="berkdb crypt gdbm ldap pam ssl -authdaemond -java -kerberos -mysql -ntlm_unsupported_patch -postgres -sample -sqlite -srp -urandom"
[ebuild  N    ]       net-nds/openldap-2.4.19-r1  USE="berkdb crypt cxx minimal perl sasl ssl tcpd -debug -experimental -gnutls -icu -iodbc -ipv6 -kerberos -odbc -overlays -samba (-selinux) -slp -smbkrb5passwd -syslog"

 * Error: circular dependencies:

('ebuild', '/', 'dev-libs/cyrus-sasl-2.1.23-r1', 'merge') depends on
  ('ebuild', '/', 'net-nds/openldap-2.4.19-r1', 'merge') (buildtime)
('ebuild', '/', 'net-nds/openldap-2.4.19-r1', 'merge') depends on
  ('ebuild', '/', 'dev-libs/cyrus-sasl-2.1.23-r1', 'merge') (buildtime)

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

_________________
amightywind
Back to top
View user's profile Send private message
amightywind
Tux's lil' helper
Tux's lil' helper


Joined: 01 Jun 2004
Posts: 137
Location: Andover, MN USA

PostPosted: Wed Dec 09, 2009 2:14 am    Post subject: Reply with quote

I added the following lines to /etc/portage/package.use

Code:

net-nds/openldap sasl
dev-libs/cyrus-sasl -ldap


Not pretty. For me cups is the only package using openldap, and I don't use cups. Will this break something later? Who knows. Use flags are a decent idea but the huge number of permutations of packages supporting some and not others make them rather unworkable. One wonders if the guy who created the openldap ebuild tested it at all.
_________________
amightywind
Back to top
View user's profile Send private message
cach0rr0
Moderator
Moderator


Joined: 13 Nov 2008
Posts: 3849
Location: Houston, Republic of Texas

PostPosted: Wed Dec 09, 2009 8:08 am    Post subject: Reply with quote

bah...i remember that crap when i was trying to set up openldap

I had to first emerge cyrus-sasl with USE="-ldap", then emerge openldap, then emerge cyrus-sasl with USE="ldap" (since well, I needed it)

what I can't gather is why openldap is pulled in in the first place.
Back to top
View user's profile Send private message
Mike Hunt
Watchman
Watchman


Joined: 19 Jul 2009
Posts: 5287

PostPosted: Sun Dec 13, 2009 2:47 am    Post subject: Reply with quote

It's actually a new cxx USE flag that was added to the desktop (and maybe to others) profile. You only need to disable it like so:
Code:
echo "net-nds/openldap -cxx" >> /etc/portage/package.use

Problem solved. :)

BTW some openldap libs are needed for a basic system to run, so USE=minimal net-nds/penldap is included in a basic Gentoo installation. :wink:
Back to top
View user's profile Send private message
amightywind
Tux's lil' helper
Tux's lil' helper


Joined: 01 Jun 2004
Posts: 137
Location: Andover, MN USA

PostPosted: Sun Dec 13, 2009 2:44 pm    Post subject: Reply with quote

Nice try. The cxx flag is ancient. I congratulate you for getting openldap to emerge, but that doesn't answer the question as to why the ebuild isn't smart enough to -cxx itself if that is really what is intended. package.use should be a point of customization not a place for essential configuration.
_________________
amightywind
Back to top
View user's profile Send private message
Mike Hunt
Watchman
Watchman


Joined: 19 Jul 2009
Posts: 5287

PostPosted: Sun Dec 13, 2009 4:39 pm    Post subject: Reply with quote

It looks like cxx was added to the default profile on Dec 03, 2009. Of course openldap never needed this, and since it causes a circle block with cyrus-sasl, why not disable it in package.use. Problem solved. :)

BTW, it looks like that's already been resolved in the openldap ebuild, so that block shouldn't even exist anymore. :)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Installing Gentoo All times are GMT
Goto page Previous  1, 2
Page 2 of 2

 
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