Gentoo vs Arch

I'm trying to update my system and it's complaining about unmet USE flags. It doesn't really come right out and say what USE flags I need though

gentoo ~ # emerge --update --deep --with-bdeps=y --newuse @world

* IMPORTANT: 6 news items need reading for repository 'gentoo'.
* Use eselect news to read news items.

Calculating dependencies... done!

The following USE changes are necessary to proceed:
(see "package.use" in the portage(5) man page for more details)
# required by net-libs/gnutls-2.12.23-r6[guile]
# required by net-print/cups-1.7.1-r1[gnutls,ssl]
# required by net-print/cups-filters-1.0.53
>=dev-scheme/guile-1.8.8-r1:12 networking
# required by dev-lang/ruby-1.9.3_p484[tk]
# required by dev-ruby/racc-1.4.9[ruby_targets_ruby19]
# required by dev-ruby/rdoc-4.0.1-r1[ruby_targets_ruby19]
# required by dev-lang/ruby-2.0.0_p353[rdoc]
# required by dev-ruby/rubygems-2.0.14[ruby_targets_ruby20]
=dev-lang/tcl-8.5.13-r1 threads
# required by dev-lang/ruby-1.9.3_p484[tk]
# required by dev-ruby/racc-1.4.9[ruby_targets_ruby19]
# required by dev-ruby/rdoc-4.0.1-r1[ruby_targets_ruby19]
# required by dev-lang/ruby-2.0.0_p353[rdoc]
# required by dev-ruby/rubygems-2.0.14[ruby_targets_ruby20]
=dev-lang/tk-8.5.13-r1 threads

Use --autounmask-write to write changes to config files (honoring
CONFIG_PROTECT). Carefully examine the list of proposed changes,
paying special attention to mask or keyword changes that may expose
experimental or unstable packages.

!!! The ebuild selected to satisfy "net-nds/openldap" has unmet requirements.
- net-nds/openldap-2.4.35-r1::gentoo USE="berkdb crypt cxx gnutls ipv6 minimal perl samba ssl syslog tcpd -debug -experimental -icu -iodbc -kerberos -odbc -overlays -sasl (-selinux) -slp -smbkrb5passwd"

The following REQUIRED_USE flag constraints are unsatisfied:
cxx? ( sasl )

(dependency required by "app-crypt/gnupg-2.0.25[-static,ldap]" [ebuild])
(dependency required by "dev-vcs/git-1.8.5.5[gpg]" [ebuild])
(dependency required by "sys-devel/gettext-0.18.3.2[git]" [ebuild])
(dependency required by "x11-libs/gdk-pixbuf-2.30.7-r1" [ebuild])
(dependency required by "x11-libs/gtk+-2.24.23" [ebuild])
(dependency required by "dev-python/pygtk-2.24.0-r4" [ebuild])
(dependency required by "dev-python/pygtksourceview-2.10.1-r1" [ebuild])

You're going to have to learn how to use portage if you want to use gentoo, so start by having a read of the Gentoo documentation on use flags and their usage within portage found here.

Read all portage output when conflicts arise to sort any issues out.

The first issue is resolved by adding a few local use flags for several packages you're pulling in - which can be set globally but are better to set locally - inside your /etc/portage/package.use file.

eg;

echo ">=dev-scheme/guile-1.8.8-r1:12 networking" >> /etc/portage/package.use

echo "=dev-lang/tcl-8.5.13-r1 threads" >> /etc/portage/package.use

echo "=dev-lang/tk-8.5.13-r1 threads" >> /etc/portage/package.use


NOTE: It is better to add any use instructions manually with your own comments to keep a reference as to why they are there in the first place.

eg;

# required by net-libs/gnutls-2.12.23-r6[guile]

# required by net-print/cups-1.7.1-r1[gnutls,ssl]

# required by net-print/cups-filters-1.0.53

>=dev-scheme/guile-1.8.8-r1:12 networking

 

The next issue suggests you will need to add the use flag sasl.

You'll get used to using portage it just takes a fair bit of reading and experimenting. Learn how to use emerge --autounmask-write and etc-update.

 

so on average for an experienced Arch user how hard would you rate the install of Gentoo? I just built an Arch gaming distro, but more performance is always better, so for a gaming setup what would you say?

Here's IG explaining what Gentoo is;

Linky

Ok I'm still trying to understand these USE flags. I if I put kde in what programs would require kde to work? With it in it wants to install KDE which I have no plan on using.

At this stage of your Gentoo adventure - The Gentoo wiki and forums are your friend.

Just sayin'...

https://www.youtube.com/watch?v=d6HPBwIfuQc

The Gentoo wiki has been very helpful. Chromium takes freaking forever to compile. Going on at least 1 and a half hours now. Xorg-server wasn't even this bad.

I'll stick with Arch until I can fully comprehend with my feeble mind how USE flags work

Use this: http://www.gentoo.org/dyn/use-index.xml

Global USE flags go in /etc/portage/make.conf. Only set them for things you know you're going to use and use those USE flags as a base line, you can also -use anything you know you don't want support for. 

Then as you install stuff check if they have any local USE flags and set the ones you want.

(Just put local USE flags in /etc/portage/package.use)  Here's mine as an example.

 

Also I just noticed, don't spell gtk3 wrong.

Nice to see you give Gentoo a shot.

Are you using EFI to boot?

Nope my netbook doesn't have UEFI. Tomorrow I'm going to try to install Gentoo on an old laptop HDD I have on my desktop. UEFI doesn't seem too hard to set up on Gentoo. Just have to make sure I copy over a file and have some kernel thing enabled. There's also some weird thing where I'll have to have another flash drive so it'll boot (which I don't have) so I'll need to burn the Gentoo iso to a dvd so I can use my flash drive to boot using UEFI and enable UEFI support. I'll also have to figure out how to set up Nvidia drivers which probably wont be too fun.

I think I'm going to need to reinstall Gentoo on my netbook. It keeps running out of memory when I'm compiling Chromium and I can't add swap because btrfs.

Just use a USB stick and make a temporary swap device.

I use SystemrescueCD to install Gentoo, which has a EFI boot option. That way I can check my emails while installing Gentoo ;)

If you use the kernel EFI stub method you basically override any bootloader which isn't ideal if you want multiple kernels/distros.

Grub works with EFI after some tweaking but is cumbersome and poorly coded.

I prefer to use Gummiboot as it's incredibly light weight and easy to use. There's only one Ebuild for Gummiboot that will work properly at the moment, and it's not in the official repos, but maintained in the Chinese repos by Poncho,.  Also there isn't any Gummiboot documentation for Gentoo yet, but that will change eventually.

It's pretty simple to set up ;)

Note, that all the following instructions are based on one line commands - This forum just has horrible formatting, so If a line overlaps just remember it's meant for CLI.

Kernel configuration

Processor type and features  --->

[ ] EFI runtime service support

[ ]   EFI stub support

 

EFI VARiable filesystem

Filesystems  --->

Miscellaneous filesystems  --->   

[*] EFI VARiable filesystem

I use parted for a 500Mib Boot partition so I can port a lot of kernels and initramfs

parted ~: mkpart ESI fat32 0% 501

root ~: emerge -aq app-portage/layman

root ~: echo "source /var/lib/layman/make.conf" >> /etc/portage/make.conf

root ~: layman -L



create an overlay called poncho and save the following xml info. ie; nano /etc/layman/overlays/poncho.xml -- use standard indenting


<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE repositories SYSTEM "/dtd/repositories.dtd">

<repositories xmlns="" version="1.0">

<repo quality="experimental" status="unofficial">

<name>poncho</name>

<description>Overlay for packages not in the main tree</description>

<homepage>https://github.com/MeisterP/poncho-overlay</homepage>

<owner type="person">

<email>[email protected]</email>

<name>Poncho</name>

</owner>

<source type="git">git://github.com/MeisterP/poncho-overlay.git</source>

<feed>https://github.com/MeisterP/poncho-overlay/commits/master.atom</feed>

</repo>

</repositories>



root ~: layman -S

root ~: layman -a poncho

root ~: echo "=sys-boot/gummiboot-9999 **" >> /etc/portage/package.accept_keywords

root ~: emerge -aq sys-boot/gummiboot

root ~: gummiboot --path "/boot" install

---add the following example with your kernel and initramfs to;

root ~: nano -w /boot/loader/entries/gentoo.conf


title              Gentoo

version        3.15.6-gentoo

linux             /vmlinuz-3.15.6-gentoo

initrd            /initramfs-3.15.6-gentoo.img

options        root=/dev/sdX (where X is your root partition)

Note; you don't need to add a initramfs if you have simple partitioning/module needs, but if you do want to add one you can generate it using genkernel until you've mastered dracut.

You can add as many .conf files to /boot/loader/entries/ which will be displayed under the linux bootloader.

Edit the boot-loader defaults

root ~: nano -w /boot/loader/loader.conf

 

Comment out the default machine code and add your own default and timeout ie;

#default e1ca1b0b5dabc4etc-*

timeout 5

default Gentoo


reboot.


 

Cannot get nvidia-drivers to compile. It's just complaining about a error in the kernel configuration. I even tried updating to kernel 3.15.6

EDIT: I think I got it to work, in the build log it said pax_patches wasn't supported any more so I took it out of package.use

Well now that I'm on kernel 1.15.6 my ethernet driver wont compile.

I went back to 3.12.21 and now they wont compile again. wtf..

Hmm now it worked. Not sure what was wrong with it.

I think I did good.

You blasphemy Bro!?