/gg/ - Gentoo General

/gg/ - Gentoo General

gentoo.org
Quick Install: wiki.gentoo.org/wiki/Quick_Installation_Checklist
Quicker Install: chiru.no/u/installgentoo.txt
Prebuilt Gentoo image and binhost: fr.cloveros.ga
Packages: packages.gentoo.org
FAQ: gitgud.io/cloveros/cloveros/blob/master/FAQ.md
IRC: #gentoo on irc.freenode.net | #cloveros on irc.rizon.net (all questions or help welcome)

Come here for help or general questions, post your configuration, discuss packages or overlays, CloverOS, post your desktop, anything else Gentoo, etc. Newfags welcome.

Previous thread

Other urls found in this thread:

pastebin.com/W041442n
wiki.gentoo.org/wiki//etc/portage/package.use
pastebin.com/VYvfu0R5
gitgud.io/cloveros/cloveros/tree/master/binhost_settings/etc/portage
fr.cloveros.ga
bugs.gentoo.org/576742
swaywm.org/
box-look.org/
wiki.gentoo.org/wiki//etc/portage/patches
distfiles.gentoo.org/experimental/amd64/musl/
wiki.gentoo.org/wiki/Project:Hardened_musl
twitter.com/SFWRedditGifs

Could you tell me why you use gentoo and not debian or ubuntu?

Aside from building software using better CFLAGS and bypassing the need to trust a third party to do it for me, I can make whatever distro I want out of Gentoo just by editing /etc/portage/package.use. The main reason is the lack of package politics and the availability of overlays. I like my emulators/games and I like the convenience of emerging them. Making ebuilds is extremely easy, you just put the package link in and it does all the work.

Gentoo didn't teach me anything about computers or coding that I couldn't have learned on "easy" distros, or Windows, or OS X, but what it did do is make me problem solve. I have never ever actually read a single line of the code I'm compiling. And I probably don't ever plan on it.

Besides that, I trust layman more than I trust random AUR helpers built from git, and I'm willing to do some extra work to achieve the same result if it means I don't have code I'll never use (like Unity) on my system.

Because it is perceived to be more difficult to get something working, you will quickly learn how to diagnose and resolve errors, and that's what teaches you about your system.

Gentoo is more robust than Debian, breaks less, emerge isn't a complete enigma like apt is. More user control. Less botnet. If Ubuntu dies for some reason, one could recreate it in Gentoo like what CloverOS did.

Being able to choose versions of packages alone is great

Yes, you can have multiple versions of the same packages installed, too, in different slots, if a newer version of a package fucks something up for a certain other package

If you don't like Firefox 57 you just do emerge =www-client/firefox-52.5.0

in my /etc/portage/package.use I have
# required by www-client/firefox-52.4.0::gentoo
# required by www-client/firefox (argument)
>=dev-lang/python-2.7.12:2.7 sqlite


When I try to emerge ngnix and nodejs I get
Calculating dependencies... done!
[ebuild R ] dev-libs/openssl-1.0.2l USE="-bindist*"
[ebuild N ] net-libs/nodejs-6.9.4 USE="npm snapshot ssl -debug -doc -icu {-test}" CPU_FLAGS_X86="sse2" PYTHON_TARGETS="python2_7"
[ebuild N ] app-admin/monit-5.20.0 USE="pam ssl (-libressl)"
[ebuild N ] www-servers/nginx-1.12.1 USE="http http-cache http2 ipv6 pcre ssl -aio -debug -libatomic (-libressl) -luajit -pcre-jit -rtmp (-selinux) -threads -vim-syntax" NGINX_MODULES_HTTP="access auth_basic autoindex browser charset empty_gif fastcgi geo gzip limit_conn limit_req map memcached proxy referer rewrite scgi split_clients ssi upstream_hash upstream_ip_hash upstream_keepalive upstream_least_conn upstream_zone userid uwsgi -addition -auth_ldap -auth_pam -auth_request -cache_purge -dav -dav_ext -degradation -echo -fancyindex -flv -geoip -gunzip -gzip_static -headers_more -image_filter -lua -memc -metrics -mogilefs -mp4 -naxsi -perl -push_stream -random_index -realip -secure_link -security -slice -slowfs_cache -spdy -sticky -stub_status -sub -upload_progress -upstream_check -xslt" NGINX_MODULES_MAIL="-imap -pop3 -smtp" NGINX_MODULES_STREAM="-access -geo -geoip -limit_conn -map -realip -return -split_clients -ssl_preread -upstream_hash -upstream_least_conn -upstream_zone"

The following USE changes are necessary to proceed:
(see "package.use" in the portage(5) man page for more details)
# required by net-libs/nodejs-6.9.4::gentoo
# required by nodejs (argument)
>=dev-libs/openssl-1.0.2l -bindist


So I add to my package.use the following lines
# required by net-libs/nodejs-6.9.4::gentoo
# required by nodejs (argument)
>=dev-libs/openssl-1.0.2l -bindist

and try to emerge again.

tl;dr OpenSSL has some license-encumbered code and most things need that code. bindist = binary distribution (ok to distribute)

Now emerge complains this pastebin.com/W041442n (too long to be posted here)

but basically
dev-libs/openssl:0

(dev-libs/openssl-1.0.2l:0/0::gentoo, ebuild scheduled for merge) conflicts with
>=dev-libs/openssl-1.0.1:0/0=[bindist] required by (net-misc/openssh-7.5_p1-r1:0/0::gentoo, installed)
^^^^^^^
>=dev-libs/openssl-1.0.1:0=[bindist] required by (net-misc/openssh-7.5_p1-r1:0/0::gentoo, installed)
^^^^^^^


The following USE changes are necessary to proceed:
(see "package.use" in the portage(5) man page for more details)
# required by net-libs/nodejs-6.9.4::gentoo
# required by nodejs (argument)
=dev-libs/openssl-1.0.2k -bindist


USE flags are a fucking mess in my brain.

I'm having an issue with firefox crashing . When I run it in a terminal, the output is

[Parent 26850] WARNING: pipe error (66): Connection reset by peer: file /var/tmp/portage/www-client/firefox-52.4.0/work/firefox-52.4.0esr/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 322
[Parent 26850] WARNING: pipe error (53): Connection reset by peer: file /var/tmp/portage/www-client/firefox-52.4.0/work/firefox-52.4.0esr/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 322
[Parent 26850] WARNING: pipe error (50): Connection reset by peer: file /var/tmp/portage/www-client/firefox-52.4.0/work/firefox-52.4.0esr/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 322

###!!! [Parent][MessageChannel] Error: (msgtype=0x2C0085,name=PBrowser::Msg_Destroy) Channel error: cannot send/recv

I thought this was specific to reddit but the only difference between there and other websites is the time to crash. If it were just reddit I'd think the browser was trying to protect me from the gay but it's everywhere.

Do not put bindist in make.conf though, it breaks some other stuff. Put it in package.use

Just put
dev-libs/openssl -bindist
net-misc/openssh -bindist

in /etc/portage/package.use and be done with it.

wiki.gentoo.org/wiki//etc/portage/package.use

Sometimes Gentoo is so extremely simple that people have no choice but to overcomplicate it.

>firefox chromium IPC

what the fuck.

Try =www-client/firefox-52.5.0 and/or Seamonkey

This is my package.use right now
pastebin.com/VYvfu0R5
Is there something messed up?

I messed up, those two bottom two lines need -bindist

I'm falling asleep

You should add USE flags in package.use for all versions of the package instead of just copying what emerge says

net-misc/iputils caps filecaps
dev-python/numpy lapack
app-text/poppler -qt4
dev-util/cmake -qt4
dev-libs/openssl -bindist
net-misc/openssh -bindist

Indeed I have repeated stuff (several versions of openssl for example).
What's wrong with copying the output of emerge? The goal was to keep a record of what program required what changes.

I guess it doesn't matter, you still just need net-misc/openssh -bindist though

oh boy

I know, that's what I said. There is no reason for chromium to be on that line

>pastebin.com/VYvfu0R5

I take back what I said. Put "-bindist" in your USE flags then reemerge @world

There is literally no reason besides Stallman-level libre koolaid to have it there in the first place. I thought at first those packages needed it, but what they need is -(minus)bindist

I changed my package.use as suggested.
My USE flag in the make.conf looks like

USE="-bindist gnutls"

Now running emerge -uavDN world

What are the best practice / rule of thumb to get a usable and clean gentoo install?
At first I was assuming splitting the package.use in several files but this makes grepping a pain so a single file is more maintainable.
Then I kept doing things while having no idea what I was doing and suddenly my USE flags were a mess.

Any tips on speeding up compilation times? I'm running Gentoo on a 2010-tier Dell Latitude with a single core Celeron 9xx and it's ridiculous, just emerging the world set during the installation after I chose my system profile took 8 hours.
I understand that there are GCC optimisations and MAKEOPTS and CPU_FLAGS_X86 I can set in my make.conf but even after reading the Gentoo wiki articles on them I'm none the wiser on what they do, what to set and whether they will impact compilation time.
send halp

I'd do package.use `games-emulation/libretro-meta -* mgba nestopia` or whatever other emulator cores you want.

I'm planning on putting all my dotfiles on git and making an install script then hopefully expanding that to something that you can use on, say, Ubuntu's livecd to just install gentoo for you at some point. But you have to read and understand what the USE flags are doing for your system. emerge gentoolkit and then use equery uses $package before you install something.

IFF you use a flag for more than two packages, it's probably a good idea to put it in make.conf for organizational purposes.

I'll be finished when it's easier than installing Arch.

>makes grepping a pain
grep -R thing package.use/

That didn't work but using the mozilla overlay to get firefox 56 did

Is gentoo dying from lack of developers or is that just a meme?

get a better computer

You might get better answers asking the official gentoo irc #gentoo on freenode, it's always populated and devs post there as well

funtoo users, what's your opinion of meta-repo?
I like the idea of kits and being able to choose different branches for kits but damn, ego sync is slow as fuck.

Switch to clang or use a binhost

I just had it build everything anyway.

I don't think even Stallman gives a shit about using patent-encumbered code as long as the source code is there.

This is probably the most organized /etc/portage/ I've seen: gitgud.io/cloveros/cloveros/tree/master/binhost_settings/etc/portage

They need people to make/test/maintain ebuilds for the main Portage tree.

neat

Brainlet question :
For installing gentoo on intel core i5 or core i7 cpu, should I follow the X86 handbook or the amd64 handbook.
I don't get the difference.
I thought all 64 bits were equal...

AMD64 = x86_64
X86 = (32-bit) x86

Can I have a gentoo that has busybox instead of coreutils?
Also, is it really dying?

Gentoo isn't dying, but there's a lot of ebuilds that need to be maintained or bumped up a version and unkeyworded. I'm thinking about contributing ebuilds for Gentoo myself

thanks mate

> fr.cloveros.ga
> discuss packages or overlays, CloverOS

Why shill a distro that ISNT gentoo?

install Gentoo

Python 3.5 stabilization needs to happen soon
bugs.gentoo.org/576742

Because it is Gentoo.

Make Gentoo Great Againn

I'm working on my first Gentoo build. Just starting to get to grips with portage. When I do an update with --newuse I need to make a load of adjustments to use flags, masks and keywords.

Still lots of learning to do but it's a pretty interesting experience

I installed fluxbox. Now I wonder if I should even go back to windowmaker.

I'm still WMhopping myself

Are there extra fluxbox themes available? Most of the preinstalled ones are kinda crappy.

Try Sway!
swaywm.org/

I want suckless to hurry up and make their own wayland compositor

I think I saw something on their mailing list where they were arguing over whether Wayland sucks more than X or not

There's a ton of them, try box-look.org/

Green Tea is the only one that seems to look ok. You could make the other ones usable with a few tweaks, I'd have to go digging in /usr/share/ probably.

The absolute state of floating window managers

dwm master race, can be floating or tiling if I damn wish to be

If you're inclined, they're also extremely easy to make yourself to match whatever style you want.

bspwm here. the only wm that respects the Unix philosophy!

I like it regardless, I just wanted a theme that looks alright and goes with the CloverOS wallpapers.

dwm is suckless and all in one entire C file with settings in a separate H file

your wm doesn't respect unix philosophy unless it only implements alt+mouse1

I used cpuid2cpuflags for CPU_FLAGS, but I don't know about anything else.
Last time I tried touching GCC optimisations it just wouldn't compile some of my packages.

bspwm does one thing and does it well: manages windows
It does not handle input
it gets its input from a keybinding daemon (default is sxhkd but you can use whatever)
the keybinding daemon does one thing and does it well: handles input

dwm is more minimalist, valuing no more than 2,000 lines of code compared to other wms like i3 with 10s of thousands lines of code

holy crap, I switch to fluxbox and then the thread derails into WM shit flinging.

Question:
How do you use a bar with those ultra-minimalist, has to be recompiled for configuration-WMs? In bspwm, you would launch bar/tint2/polybar/whatever from the config file. Do you just put that in the header file somehow?

Anyone have a kernel config for a thinkpad x201 (core i5) ?
I failed 3 time at the configuration so I gave up and did a genkernel install.

bumping

the absolute state of Sup Forums

you mean the current state of Sup Forums

I don't. But portage-wise, you can apply your configuration as a patch.

The easiest user-side way is probably:
wiki.gentoo.org/wiki//etc/portage/patches

But you can also just put the ebuild into your local overlay and edit some epatch lines into it. Or if you prefer, maintain a fork of the project in git and compile that instead of the tarball'd sources.

Didn't think python could segfault, but portage proved me wrong. Something in the dependency checking causes it, didn't have time to properly debug.

Post output of emerge --pretend $pkg

EVERYSINGLE DISTRO IS SHIT EXPECT FOR GENTOO AND DEBIAN REEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE

I think FreeBSD is a better distro than Debian

Install Gentoo on FreeBSD

If you are talking about bsd then
It's Gentoo, debian or openbsd. bitch fag

I finally got Gentoo up and running, can anyone tell me why I get no video thumbnails in PCManFM? I usually just install ffmpegthumbnailer, but it's not working here.

media-video/ffmpegthumbnailer gtk

just a guess

can Gentoo use musl-libc to build the system?

distfiles.gentoo.org/experimental/amd64/musl/

Sure, to a large extent.

But:
> Unlike the situation with uClibc, where pretty much every package in the Gentoo portage tree "just builds," musl's adherence to standards means that many packages which deviate from those standards, primarily POSIX, need some patching. Most of this is minor, like the location of header files, but some is more substantial. So we maintain the musl overlay to house those patches, and this overlay must be added to the stage3's to be able to update and maintain them.
wiki.gentoo.org/wiki/Project:Hardened_musl

I'd also like to know. uclibc as well. I tried to install with that, and a lot of shit broke (genkernel all wouldn't even work). Is it just me being a brainlet, or do these things suck that badly?

you shouldn't need to build the kernel with musl libc, no?

awesome. maybe I should get onto the Gentoo train. I'm mucking around with Void right now, but I'm hankering for an all-source build hm.

uClibc is relatively easy overall, but of course some things break.

> do these things suck that badly?
Yup. Nothing is super robust and tested for every possible use case with every theoretically-supposed-to-be-compatible compiler and runtime and libs.

Software is really pretty "ghetto" in reality.

That you got to genkernel and that you might only have had to try another variant of a kernel or genkernel or built that against glibc or something qualifies uClibc as pretty easy, eh.

long time arch user here, im installing gentoo as i type this with the livedvd. im on the step "Updating the @world variables" this has been taking a long ass time but i suppose i can chalk it up to having a $50 thrift shop computer. any recommendations beyond this point?

i'm confused.
building the kernel is one of the steps, right?

PS: For building certain packages with a different tooling you have /etc/portage/package.env and other options

In reality, you might just have to make use of that to revert to the commonly used thing for certain software, or patch software to work with the exotic tooling & libs you are choosing to build it with / against. Gentoo only makes it easier, but it doesn't *profoundly* work in more cases.

I said that because i've always been able to use glibc just fine, but any system with musl or uclibc or whatever has had issues.

(disclaimer: haven't done a Gentoo build in years, but I have a lot of low-level systems programming experience)

the kernel has its own libc-esque functions in itself, so it can build on any platform that the compiler supports. this means that you just need to make sure gcc is working (because afiar the kernel can't compile with clang yet).

I'm not exactly sure what the genkernel process involves, but I'll bet you could build your own kernel by applying the Gentoo patches.

Sure. I'd expect issues on some packages.

Happens with just about every nonstandard lib or compiler.

>I'm not exactly sure what the genkernel process involves
It just does the things you could do manually - typically build a bzImage and compressed initramfs with say cryptsetup and LVM, and what else is required and move it to /boot.

You can do what it does manually, it's just less convenient.

Because it allows me to customize the system to be the way I want it. Also it allows me to avoid stuff like systemd and pulse.

I use package.use as a folder then group programs by type for the files. For example portage.use/security has my use flags for openssl openssh and keepassxc.