{"id":2418,"date":"2017-08-19T15:19:33","date_gmt":"2017-08-19T20:19:33","guid":{"rendered":"http:\/\/www.logikalsolutions.com\/wordpress\/?p=2418"},"modified":"2021-02-13T10:53:04","modified_gmt":"2021-02-13T16:53:04","slug":"kde-neon-distcc-and-qt","status":"publish","type":"post","link":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/kde-neon-distcc-and-qt\/","title":{"rendered":"KDE Neon &#8211; Distcc and Qt"},"content":{"rendered":"<p>One of the tools which was wildly touted years ago was <a href=\"https:\/\/en.wikipedia.org\/wiki\/Distcc\">distcc<\/a>. This is a distributed compilation system which can be brutal to set up, but can also dramatically reduce compilation times for big jobs. It has fallen out of favor in recent years because most developers end up getting a quad or more core machine with a modern enough CPU to have all kinds of virtualization and hyper threading. These machines also tend to have many more Gig of RAM than they really need so, if Linux really is good about adjusting its disk cache memory usage, in theory you won&#8217;t see much boost. At least that is the argument I keep hearing and usually I hear that argument from people using laptops for development.<\/p>\n<h2>Flaws in the Thinking<\/h2>\n<p>So, please allow me to point out some flaws in that (mostly Millineals) thinking:<\/p>\n<ul>\n<li>Laptops, unless their battery life is measured in mere minutes, _always_ have underpowered components. Yes, you may have lots of RAM, a great sounding graphics chipset, etc., but the hardware children will have opted for the lowest power consuming version of each. Even your USB ports will operate at both lower power and slower speed because the overall design goal was to make the batter last as long as possible. Be honest. When you are thinking about a new laptop and see &#8220;atrocious battery life&#8221; in the reviews, you click to the next one don&#8217;t you?<\/li>\n<li>A sucky network isn&#8217;t going to make anything run faster. Most shops which complained profusely about distcc not returning much bang for the buck typically have a horrible network where people groan any time they have to transfer even a print job on it.<\/li>\n<li>Both make and moc have gotten much better when it comes to working with distcc. One of the big drawbacks of building really complex Qt GUI applications with distcc used to be moc didn&#8217;t distribute well. I don&#8217;t notice the particulars, but I don&#8217;t notice a problem anymore.<\/li>\n<\/ul>\n<h2>Distcc Experiments<\/h2>\n<p>Any C++ Qt application with a sufficient number of source files can benefit from using distcc. Assuming your network isn&#8217;t a three legged dog running in deep snow, that is. As to hand tuning the disk cache and conducting other experiments with it, I don&#8217;t bother. You can read about a few experiments <a href=\"http:\/\/www.linuxatemyram.com\/play.html\">here<\/a>. That mystical &#8220;sufficient number of files&#8221; threshold is much lower than you think. In order to verify this I need to install the distcc monitor.<\/p>\n<figure id=\"attachment_2419\" aria-describedby=\"caption-attachment-2419\" style=\"width: 669px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\" wp-image-2419\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2017\/08\/distcc-monitor-install.png\" alt=\"distcc monitor install image\" width=\"669\" height=\"505\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2017\/08\/distcc-monitor-install.png 1018w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2017\/08\/distcc-monitor-install-300x227.png 300w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2017\/08\/distcc-monitor-install-768x580.png 768w\" sizes=\"(max-width: 669px) 100vw, 669px\" \/><figcaption id=\"caption-attachment-2419\" class=\"wp-caption-text\">distcc monitor install<\/figcaption><\/figure>\n<p>This is a little graphical tool which lets you see how your build is using the farm. After that I needed to install distcc itself. For some reasons the software application tool doesn&#8217;t included that, but you can find it with synaptic.<\/p>\n<h2>distcc-pump<\/h2>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-2420\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2017\/08\/distcc-synaptic1.png\" alt=\"distcc synaptic install image\" width=\"1300\" height=\"716\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2017\/08\/distcc-synaptic1.png 1300w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2017\/08\/distcc-synaptic1-300x165.png 300w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2017\/08\/distcc-synaptic1-768x423.png 768w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2017\/08\/distcc-synaptic1-1024x564.png 1024w\" sizes=\"(max-width: 1300px) 100vw, 1300px\" \/><\/p>\n<p>I also installed distcc-pump. There are pluses and minuses here. The default configuration of distcc does not work with pump. There has been a bug with posts and reports dating back to 2007 and probably beyond where you end up with a rash of &#8220;connection refused&#8221; errors trying to let distcc dynamically find and use distcc servers on your network. I forgot about this and spent some head slamming time figuring it out.<\/p>\n<h2>The Next Step<\/h2>\n<p>Go that far on each machine which is to be part of your distcc compilation farm then open up a terminal and type the following:<\/p>\n<pre>distcc --show-hosts<\/pre>\n<p>On my main desktop it returned:<\/p>\n<p><code>192.168.1.132:3632\/24 <\/code><\/p>\n<p><code>192.168.1.105:3632\/32 <\/code><\/p>\n<p>Now you need to know just who those machines are.<\/p>\n<pre>roland@roland-HP-Compaq-8100-Elite-SFF-PC:~$ nslookup 192.168.1.132\nServer: 127.0.1.1\nAddress: 127.0.1.1#53\n\n132.1.168.192.in-addr.arpa name = roland-desktop.\n\nroland@roland-HP-Compaq-8100-Elite-SFF-PC:~$ nslookup 192.168.1.105\nServer: 127.0.1.1\nAddress: 127.0.1.1#53\n\n105.1.168.192.in-addr.arpa name = roland-HP-Compaq-8100-Elite-SFF-PC.<\/pre>\n<h3>You need to tweak distcc just a touch<\/h3>\n<p><code>sudo nano \/etc\/default\/distcc<\/code><\/p>\n<p><code>STARTDISTCC=\"true\"<\/code><br \/><code>ALLOWEDNETS=\"192.168.1.0\/24 127.0.0.1\"<\/code><br \/><code>LISTENER=\"\"<\/code><br \/><code>ZEROCONF=\"false\"<\/code><\/p>\n<p>The above lines need to be in your distcc file. Of course you need to change 192.168.1.0\/24 to be whatever your network is. Another major issue is that LISTENER needs to be blank. It just doesn&#8217;t seem to work any other way.<\/p>\n<p>As I said, I had quite a bit of head slamming time trying to track down the &#8220;connection refused&#8221; issue so I made a few changes which may not be required. I&#8217;m going to list them here and we will experiment more during another post when I try to distcc from my Raspberry Pi.<\/p>\n<p><code>$ cat \/etc\/hosts<\/code><br \/><code>127.0.0.1 localhost<\/code><br \/><code>127.0.1.1 roland-HP-Compaq-8100-Elite-SFF-PC<\/code><br \/><code>192.168.1.132 roland-desktop<\/code><\/p>\n<p><code># The following lines are desirable for IPv6 capable hosts<\/code><br \/><code>::1 ip6-localhost ip6-loopback<\/code><br \/><code>fe00::0 ip6-localnet<\/code><br \/><code>ff00::0 ip6-mcastprefix<\/code><br \/><code>ff02::1 ip6-allnodes<\/code><br \/><code>ff02::2 ip6-allrouters<\/code><\/p>\n<p>\u00a0<\/p>\n<p><code>cat .distcc\/hosts<\/code><br \/><code>localhost<\/code><br \/><code>roland-desktop<\/code><\/p>\n<p>\u00a0<\/p>\n<p><code>$ cat \/etc\/distcc\/hosts <\/code><br \/><code># As described in the distcc manpage, this file can be used for a global <\/code><br \/><code># list of available distcc hosts. <\/code><br \/><code># <\/code><br \/><code># The list from this file will only be used, if neither the <\/code><br \/><code># environment variable DISTCC_HOSTS, nor the file $HOME\/.distcc\/hosts <\/code><br \/><code># contains a valid list of hosts. <\/code><br \/><code># <\/code><br \/><code># Add a list of hostnames in one line, seperated by spaces, here. <\/code><br \/><code>localhost <\/code><br \/><code>roland-desktop<\/code><\/p>\n<h2>Make options<\/h2>\n<p>Once all of that was done I was able to tweak the xpnsqt2 make parameters as follows:<\/p>\n<figure id=\"attachment_2421\" aria-describedby=\"caption-attachment-2421\" style=\"width: 1284px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\"size-full wp-image-2421\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2017\/08\/qt-project-options.png\" alt=\"distcc make options\" width=\"1284\" height=\"749\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2017\/08\/qt-project-options.png 1284w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2017\/08\/qt-project-options-300x175.png 300w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2017\/08\/qt-project-options-768x448.png 768w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2017\/08\/qt-project-options-1024x597.png 1024w\" sizes=\"(max-width: 1284px) 100vw, 1284px\" \/><figcaption id=\"caption-attachment-2421\" class=\"wp-caption-text\">distcc make options<\/figcaption><\/figure>\n<p>Basically I added<\/p>\n<pre>-j40 CC=distcc CXX=distcc<\/pre>\n<p>You will find <a href=\"http:\/\/orthochromatic.blogspot.com\/2009\/07\/distcc-made-easy.html\">posts on the Internet<\/a> telling you to add<\/p>\n<pre>QMAKE_CC = distcc\nQMAKE_CXX = distcc<\/pre>\n<p>to your .pro file. While it is true this will cause qmake to generate<\/p>\n<pre>CC = distcc\nCXX = distcc<\/pre>\n<p>it is also true that people tend to forget those are in there then post a project on SourceForge or their own Web site many people cannot build. The reason many wish to add it directly into the .pro file is so distcc gets used by the next user.<\/p>\n<p>Those additional make options get saved in .pro.user not in the .pro file. If you are building on multiple machines or have multiple developers all using a common build environment it makes sense to put those values in the original .pro file and to look up how to force in the -j40 option as well. If you are working on something which will be released as an OpenSource project of some kind, best not to make those mods.<\/p>\n<p>While I have not tried it I have seen posts stating you can define the CC and CXX environment variables to be\u00a0distcc gcc and distcc g++ respectively. For someone working on many projects this is definitely the way to go, assuming it works.<\/p>\n<p>Once all of that was done I fired up QtCreator, cleaned the project, then kicked off a build<\/p>\n<figure id=\"attachment_2422\" aria-describedby=\"caption-attachment-2422\" style=\"width: 528px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\"size-full wp-image-2422\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2017\/08\/distcc-success.png\" alt=\"distcc using other machine image\" width=\"528\" height=\"647\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2017\/08\/distcc-success.png 528w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2017\/08\/distcc-success-245x300.png 245w\" sizes=\"(max-width: 528px) 100vw, 528px\" \/><figcaption id=\"caption-attachment-2422\" class=\"wp-caption-text\">distcc using other machine<\/figcaption><\/figure>\n<p>\u00a0<\/p>\n<p>The machine I&#8217;m using as the build server is horribly named &#8220;roland-desktop.&#8221; It is an AMD 6-core machine with 20Gb of RAM and an SSD. I should also mention it is running <a href=\"https:\/\/boinc.berkeley.edu\">BOINC<\/a> while idle. The machine which is actually on my desktop is that Compaq-8100-Elite blah blah blah machine. It is a quad-core I7 having 16Gb of RAM and an SSD.<\/p>\n<p>As the monitor clearly shows, even though the build server is weighted down by BOINC, a project this small benefited from distcc.<\/p>\n\n\n<p>Related posts:<\/p>\n\n\n\n<p><a href=\"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/qdebug-output\/\">Where Did My QDebug Output Go?<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/moc-parse-error-at-std\/\">MOC Parse Error at &#8220;std&#8221;<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/www.logikalsolutions.com\/wordpress\/uncategorized\/so-you-cant-get-your-qt-models-to-work-with-qml\/\">So You Can&#8217;t Get Your Models to Work with QML?<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/qtcreator-no-qmlscene-installed\/\">QtCreator &#8211; No qmlScene installed<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/copperspice-and-diamond\/\">CopperSpice Experiments<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>One of the tools which was wildly touted years ago was distcc. This is a distributed compilation system which can be brutal to set up, but can also dramatically reduce compilation times for big jobs. It has fallen out of favor in recent years because most developers end up getting a quad or more core machine with a modern enough CPU to have all kinds of virtualization and hyper threading. These machines also tend to &hellip; <a title=\"KDE Neon &#8211; Distcc and Qt\" class=\"bnm-read-more\" href=\"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/kde-neon-distcc-and-qt\/\"><span class=\"screen-reader-text\">KDE Neon &#8211; Distcc and Qt<\/span>Read more<\/a><\/p>\n","protected":false},"author":2,"featured_media":2422,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,1113],"tags":[921,1458,1351,1460,1459,159],"class_list":["post-2418","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-information-technology","category-raspberry-pi","tag-boinc","tag-distcc","tag-kde-neon","tag-make","tag-moc","tag-qt","bnm-entry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>KDE Neon - Distcc and Qt &#8211; Logikal Blog<\/title>\n<meta name=\"description\" content=\"If you have multiple machines of sufficient horsepower you can speed up builds using distcc. There are some caveats.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/kde-neon-distcc-and-qt\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"KDE Neon - Distcc and Qt &#8211; Logikal Blog\" \/>\n<meta property=\"og:description\" content=\"If you have multiple machines of sufficient horsepower you can speed up builds using distcc. There are some caveats.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/kde-neon-distcc-and-qt\/\" \/>\n<meta property=\"og:site_name\" content=\"Logikal Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-08-19T20:19:33+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-02-13T16:53:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2017\/08\/distcc-success.png\" \/>\n\t<meta property=\"og:image:width\" content=\"528\" \/>\n\t<meta property=\"og:image:height\" content=\"647\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"seasoned_geek\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"seasoned_geek\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/kde-neon-distcc-and-qt\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/kde-neon-distcc-and-qt\\\/\"},\"author\":{\"name\":\"seasoned_geek\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/c077f770ade13de7faaf616c3eac6842\"},\"headline\":\"KDE Neon &#8211; Distcc and Qt\",\"datePublished\":\"2017-08-19T20:19:33+00:00\",\"dateModified\":\"2021-02-13T16:53:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/kde-neon-distcc-and-qt\\\/\"},\"wordCount\":1077,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/c077f770ade13de7faaf616c3eac6842\"},\"image\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/kde-neon-distcc-and-qt\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2017\\\/08\\\/distcc-success.png\",\"keywords\":[\"BOINC\",\"distcc\",\"KDE Neon\",\"make\",\"Moc\",\"Qt\"],\"articleSection\":[\"Information Technology\",\"Raspberry Pi\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/kde-neon-distcc-and-qt\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/kde-neon-distcc-and-qt\\\/\",\"url\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/kde-neon-distcc-and-qt\\\/\",\"name\":\"KDE Neon - Distcc and Qt &#8211; Logikal Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/kde-neon-distcc-and-qt\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/kde-neon-distcc-and-qt\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2017\\\/08\\\/distcc-success.png\",\"datePublished\":\"2017-08-19T20:19:33+00:00\",\"dateModified\":\"2021-02-13T16:53:04+00:00\",\"description\":\"If you have multiple machines of sufficient horsepower you can speed up builds using distcc. There are some caveats.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/kde-neon-distcc-and-qt\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/kde-neon-distcc-and-qt\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/kde-neon-distcc-and-qt\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2017\\\/08\\\/distcc-success.png\",\"contentUrl\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2017\\\/08\\\/distcc-success.png\",\"width\":528,\"height\":647,\"caption\":\"distcc using other machine\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/kde-neon-distcc-and-qt\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"KDE Neon &#8211; Distcc and Qt\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/\",\"name\":\"Logikal Blog\",\"description\":\"For people with attention spans longer than a Tweet\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/c077f770ade13de7faaf616c3eac6842\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/c077f770ade13de7faaf616c3eac6842\",\"name\":\"seasoned_geek\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r\",\"caption\":\"seasoned_geek\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r\"},\"description\":\"Roland Hughes started his IT career in the early 1980s. He quickly became a consultant and president of Logikal Solutions, a software consulting firm specializing in OpenVMS application and C++\\\/Qt touchscreen\\\/embedded Linux development. Early in his career he became involved in what is now called cross platform development. Given the dearth of useful books on the subject he ventured into the world of professional author in 1995 writing the first of the \\\"Zinc It!\\\" book series for John Gordon Burke Publisher, Inc. A decade later he released a massive (nearly 800 pages) tome \\\"The Minimum You Need to Know to Be an OpenVMS Application Developer\\\" which tried to encapsulate the essential skills gained over what was nearly a 20 year career at that point. From there \\\"The Minimum You Need to Know\\\" book series was born. Three years later he wrote his first novel \\\"Infinite Exposure\\\" which got much notice from people involved in the banking and financial security worlds. Some of the attacks predicted in that book have since come to pass. While it was not originally intended to be a trilogy, it became the first book of \\\"The Earth That Was\\\" trilogy: Infinite Exposure Lesedi - The Greatest Lie Ever Told John Smith - Last Known Survivor of the Microsoft Wars When he is not consulting Roland Hughes posts about technology and sometimes politics on his blog. He also has regularly scheduled Sunday posts appearing on the Interesting Authors blog.\",\"sameAs\":[\"https:\\\/\\\/theminimumyouneedtoknow.com\"],\"url\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/author\\\/seasoned_geek\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"KDE Neon - Distcc and Qt &#8211; Logikal Blog","description":"If you have multiple machines of sufficient horsepower you can speed up builds using distcc. There are some caveats.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/kde-neon-distcc-and-qt\/","og_locale":"en_US","og_type":"article","og_title":"KDE Neon - Distcc and Qt &#8211; Logikal Blog","og_description":"If you have multiple machines of sufficient horsepower you can speed up builds using distcc. There are some caveats.","og_url":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/kde-neon-distcc-and-qt\/","og_site_name":"Logikal Blog","article_published_time":"2017-08-19T20:19:33+00:00","article_modified_time":"2021-02-13T16:53:04+00:00","og_image":[{"width":528,"height":647,"url":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2017\/08\/distcc-success.png","type":"image\/png"}],"author":"seasoned_geek","twitter_card":"summary_large_image","twitter_misc":{"Written by":"seasoned_geek","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/kde-neon-distcc-and-qt\/#article","isPartOf":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/kde-neon-distcc-and-qt\/"},"author":{"name":"seasoned_geek","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#\/schema\/person\/c077f770ade13de7faaf616c3eac6842"},"headline":"KDE Neon &#8211; Distcc and Qt","datePublished":"2017-08-19T20:19:33+00:00","dateModified":"2021-02-13T16:53:04+00:00","mainEntityOfPage":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/kde-neon-distcc-and-qt\/"},"wordCount":1077,"commentCount":0,"publisher":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#\/schema\/person\/c077f770ade13de7faaf616c3eac6842"},"image":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/kde-neon-distcc-and-qt\/#primaryimage"},"thumbnailUrl":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2017\/08\/distcc-success.png","keywords":["BOINC","distcc","KDE Neon","make","Moc","Qt"],"articleSection":["Information Technology","Raspberry Pi"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/kde-neon-distcc-and-qt\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/kde-neon-distcc-and-qt\/","url":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/kde-neon-distcc-and-qt\/","name":"KDE Neon - Distcc and Qt &#8211; Logikal Blog","isPartOf":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/kde-neon-distcc-and-qt\/#primaryimage"},"image":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/kde-neon-distcc-and-qt\/#primaryimage"},"thumbnailUrl":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2017\/08\/distcc-success.png","datePublished":"2017-08-19T20:19:33+00:00","dateModified":"2021-02-13T16:53:04+00:00","description":"If you have multiple machines of sufficient horsepower you can speed up builds using distcc. There are some caveats.","breadcrumb":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/kde-neon-distcc-and-qt\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/kde-neon-distcc-and-qt\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/kde-neon-distcc-and-qt\/#primaryimage","url":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2017\/08\/distcc-success.png","contentUrl":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2017\/08\/distcc-success.png","width":528,"height":647,"caption":"distcc using other machine"},{"@type":"BreadcrumbList","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/kde-neon-distcc-and-qt\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.logikalsolutions.com\/wordpress\/"},{"@type":"ListItem","position":2,"name":"KDE Neon &#8211; Distcc and Qt"}]},{"@type":"WebSite","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#website","url":"https:\/\/www.logikalsolutions.com\/wordpress\/","name":"Logikal Blog","description":"For people with attention spans longer than a Tweet","publisher":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#\/schema\/person\/c077f770ade13de7faaf616c3eac6842"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.logikalsolutions.com\/wordpress\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#\/schema\/person\/c077f770ade13de7faaf616c3eac6842","name":"seasoned_geek","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r","url":"https:\/\/secure.gravatar.com\/avatar\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r","caption":"seasoned_geek"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r"},"description":"Roland Hughes started his IT career in the early 1980s. He quickly became a consultant and president of Logikal Solutions, a software consulting firm specializing in OpenVMS application and C++\/Qt touchscreen\/embedded Linux development. Early in his career he became involved in what is now called cross platform development. Given the dearth of useful books on the subject he ventured into the world of professional author in 1995 writing the first of the \"Zinc It!\" book series for John Gordon Burke Publisher, Inc. A decade later he released a massive (nearly 800 pages) tome \"The Minimum You Need to Know to Be an OpenVMS Application Developer\" which tried to encapsulate the essential skills gained over what was nearly a 20 year career at that point. From there \"The Minimum You Need to Know\" book series was born. Three years later he wrote his first novel \"Infinite Exposure\" which got much notice from people involved in the banking and financial security worlds. Some of the attacks predicted in that book have since come to pass. While it was not originally intended to be a trilogy, it became the first book of \"The Earth That Was\" trilogy: Infinite Exposure Lesedi - The Greatest Lie Ever Told John Smith - Last Known Survivor of the Microsoft Wars When he is not consulting Roland Hughes posts about technology and sometimes politics on his blog. He also has regularly scheduled Sunday posts appearing on the Interesting Authors blog.","sameAs":["https:\/\/theminimumyouneedtoknow.com"],"url":"https:\/\/www.logikalsolutions.com\/wordpress\/author\/seasoned_geek\/"}]}},"_links":{"self":[{"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/posts\/2418","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/comments?post=2418"}],"version-history":[{"count":0,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/posts\/2418\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/media\/2422"}],"wp:attachment":[{"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/media?parent=2418"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/categories?post=2418"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/tags?post=2418"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}