{"id":1860,"date":"2015-01-11T10:36:23","date_gmt":"2015-01-11T15:36:23","guid":{"rendered":"http:\/\/bitpost.com\/news\/?p=1860"},"modified":"2015-01-12T16:55:29","modified_gmt":"2015-01-12T21:55:29","slug":"gentoo-desktop-bump","status":"publish","type":"post","link":"https:\/\/bitpost.com\/news\/2015\/gentoo-desktop-bump\/","title":{"rendered":"Gentoo desktop bump &#8211; systemd permanently destroys ten years of stable configuration in moments"},"content":{"rendered":"<p>I landed a nice gig writing a cross-platform C++ server to perform outage analysis for a smartgrid software package, using web services to communicate with the other components.\u00a0 It started out completely cross-platform, and had me at leveraging all the goodies of the latest boost libraries to do a lot of the cross-platform sweatshop work.\u00a0 But like many other projects, the idealism of the clean-slate design soon gave way to focusing on getting it done, and the project became dependent on Windows-only components.\u00a0 Bleh.<\/p>\n<p>Unfortunately, this left me using primarily a Windows development environment on my desktop during that push of the project.\u00a0 Now I&#8217;m focusing on a mobile stock-trading app, with the first two components being an Android app and a corresponding cross-platform C++ server.\u00a0 Bottom line: it&#8217;s time to bump up my desktop gentoo installation and get it humming again!<!--more-->Things that have changed that I keep running into over and over again:<\/p>\n<ul>\n<li>unmerging of the various things that have withered on the vine&#8230; games, libraries&#8230;<\/li>\n<li>systemd &#8211; Just fucking die.\u00a0 Please.\u00a0 Time to accept it I guess.\u00a0 Such a pita.<\/li>\n<li>webkit &#8211; Again, fucking die.\u00a0 How does any software this convoluted and complex continue to survive?\u00a0 A multi-hour compile leading to a link failure.\u00a0 Fuck me.\u00a0 Update from gcc 4.7 to 4.8 to fix.\u00a0 &#8220;gcc-config -l&#8221; shows whats available, &#8220;gcc-config set (eg) 2&#8221; to set it.\u00a0 Another issue: it doesn&#8217;t coexist with nvidia, so you have to temporarily select xorg: [eselect ogengl set xorg-x11] (then remember to fix that back to nvidia later).<\/li>\n<li>UEFI booting &#8211; yes I still have a system that isn&#8217;t multi-booting with refind.\u00a0 I never got through the full conversion to using the OSes on the newer SSD drive.\u00a0 Time to fix that.\u00a0 Updated the partition table to efi with gdisk, used gparted to create an efi boot partition as first on the drive, used fdisk to fix the numbering so that the efi boot partition was first (or something like that).\u00a0 Got ubuntu going, but the gentoo kernel isn&#8217;t getting recognized.\u00a0 Went back to make menuconfig, and the &#8220;systemd&#8221; catchall checkbox provided by gentoo got turned off, I guess when I was fiddling with setting things manually.\u00a0 I also added these that were not listed on the <a title=\"Gentoo Systemd\" href=\"http:\/\/wiki.gentoo.org\/wiki\/Systemd#Booting_with_systemd\" target=\"_blank\">Gentoo systemd docs<\/a> page: EFI stub support, EFI mixed-mode support.\u00a0 Because, why not.\u00a0 Trying again&#8230;<\/li>\n<li>synergy is now behind a paywall, pita.\u00a0 Unless you know <a href=\"http:\/\/synergy-project.org\/download\/free\/\">where to look<\/a>.<\/li>\n<li>Manual download of java so the lawyers can get their &#8220;agree&#8221; click, as per usual.\u00a0 I get my dog to click on it.\u00a0 Oracle, another death I look forward to.<\/li>\n<li>emerge &#8211;unmerge libreoffice thunderbird firefox &amp;&amp; emerge -av libreoffice-bin (etc), because I&#8217;m trying to cure myself of the mental illness that would have me compiling things like libreoffice and firefox and thunderbird&#8230;<\/li>\n<li>AND finally&#8230; 915 packages upgrading\/installing via portage&#8230; yeah this will go smoothly&#8230;<\/li>\n<\/ul>\n<p>Here are my systemd upgrade notes:<\/p>\n<ul>\n<li>make the shitton of kernel changes specified in the gentoo wiki writeup<\/li>\n<li><code>ln -sf \/proc\/self\/mounts \/etc\/mtab<\/code><\/li>\n<li>make.conf: add systemd; remove udev consolekit<\/li>\n<li>package.use: kde-base\/kdm -consolekit<\/li>\n<li>emerge &#8211;unmerge udev upower consolekit openrc udev-init-scripts<\/li>\n<li>OK everything is now broken, all the way down to the metal of gcc (which relied on openrc scripts like \/etc\/init.d\/functions.sh, who knew?).\u00a0 FUCK.\u00a0 CLEAN INSTALL TIME.\u00a0 And even that is going to suck.\u00a0 The gentoo handbook does not even have systemd integrated into it yet.\u00a0 FUCK YOU systemd.\u00a0 This is why people hate it.\u00a0 So much wasted time and pain.\u00a0 Cest la vie&#8230;<\/li>\n<\/ul>\n<p>So let&#8217;s do a clean install of gentoo with Gnome 3, since that seems like the best chance of getting systemd going properly.\u00a0 Currently Gentoo has three places we need to follow simultaneously to get it done:<\/p>\n<ul>\n<li><a href=\"https:\/\/wiki.gentoo.org\/wiki\/Handbook:AMD64\/Installation\/Base\">Handbook<\/a><\/li>\n<li><a href=\"http:\/\/wiki.gentoo.org\/wiki\/Systemd\">systemd<\/a><\/li>\n<li><a href=\"http:\/\/wiki.gentoo.org\/wiki\/Systemd\/Installing_Gnome3_from_scratch\">Gnome 3<\/a><\/li>\n<\/ul>\n<p>Notes:<\/p>\n<ul>\n<li>Following the third link.\u00a0 But using my own kernel with gentoo-sources.\u00a0 This may not work at all&#8230;<\/li>\n<li>First step of instructions, select gnome3\/systemd profile and do a full emerge world.\u00a0 OK then&#8230; 187 packages&#8230;<\/li>\n<li>Had to add [-bindist] flag to openssl and openssh<\/li>\n<li>Had to remove circular dependency with a temporary use flag: =virtual\/notification-daemon-0 -gnome<\/li>\n<li>Stupid webkit once again requires temporarily turning off nvidia: eselect opengl set xorg-x11<\/li>\n<li>[emerge -DavuN gnome] finally taking flight&#8230; 395 packages&#8230;<\/li>\n<li>and something called speex is bitching about this: ..\/libtool: line 482: CDPATH: command not found, libtool: Version mismatch error.<\/li>\n<\/ul>\n<p>That was it.\u00a0 Speex was the grain of sand that caused me to give up on gentoo.\u00a0 At least until all the systemd bullshit dies down.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I landed a nice gig writing a cross-platform C++ server to perform outage analysis for a smartgrid software package, using web services to communicate with the other components.\u00a0 It started out completely cross-platform, and had me at leveraging all the goodies of the latest boost libraries to do a lot of the cross-platform sweatshop work.\u00a0 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"enabled":false},"version":2}},"categories":[17,2],"tags":[],"class_list":["post-1860","post","type-post","status-publish","format-standard","hentry","category-gentoo-desktop","category-chatter"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9M11L-u0","jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/posts\/1860","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/comments?post=1860"}],"version-history":[{"count":14,"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/posts\/1860\/revisions"}],"predecessor-version":[{"id":1875,"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/posts\/1860\/revisions\/1875"}],"wp:attachment":[{"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/media?parent=1860"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/categories?post=1860"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/tags?post=1860"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}