user16150: The arduino-builder app when invoked directly with parameter --tools /usr/bin works, but the IDE fails with the error in the title for any sketch (including the Blink example). 
I've tried adding things to preferences.txt like
tools.path=/usr/bin

And variations, but I keep getting the same failure in the IDE.  This is using a fresh distro package install on Fedora 27 (I did not have this problem previously using Fedora 25).

user41156: The problem occurs because arduino does not have permission to modify directory in /usr/share/arduino to create tools-builder
All you have to do is navigate to usr/share/arduino create 'tool-builder' directory 
sudo mkdir /usr/share/arduino/tools-builder

user16150: I don't understand why this worked, but I found this comment in Redhat Bugzilla (it doesn't seem to be a bug report specifically about that...but anyway):


Parameter 'tools' is mandatory
    [...]

However, if I create the packages directory in ~/.arduino15, compilation now works.
mkdir ~/.arduino15/packages


Seemed like an easy thing to try, and voila -- after an hour of fuss.
I do not understand why this is so (nothing ends up in that directory, either) but I'm leaving this in hopes it may save someone else some time.

16150: <p>The <code>arduino-builder</code> app when invoked directly with parameter <code>--tools /usr/bin</code> works, but the IDE fails with the error in the title for any sketch (including the Blink example). </p>

<p>I've tried adding things to <code>preferences.txt</code> like</p>

<pre><code>tools.path=/usr/bin
</code></pre>

<p>And variations, but I keep getting the same failure in the IDE.  This is using a fresh distro package install on Fedora 27 (I did not have this problem previously using Fedora 25).</p>
 41156: <p>The problem occurs because arduino does not have permission to modify directory in /usr/share/arduino to create tools-builder</p>

<p>All you have to do is navigate to usr/share/arduino create 'tool-builder' directory 
<strong><code>sudo mkdir /usr/share/arduino/tools-builder</code></strong></p>
 16150: <p>I don't understand why this worked, but I found <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1435029#c15" rel="noreferrer">this comment</a> in Redhat Bugzilla (it doesn't seem to be a bug report specifically about that...but anyway):</p>

<blockquote>
  <blockquote>
    <p>Parameter 'tools' is mandatory
    [...]</p>
  </blockquote>
  
  <p>However, if I create the packages directory in ~/.arduino15, compilation now works.</p>

<pre><code>mkdir ~/.arduino15/packages
</code></pre>
</blockquote>

<p>Seemed like an easy thing to try, and voila -- after an hour of fuss.</p>

<p>I do not understand why this is so (nothing ends up in that directory, either) but I'm leaving this in hopes it may save someone else some time.</p>
