Arduino IDE doesn't work. Apparently because arduino-builder doesn't have -tools However, it seems for AVR the entire toolchain documentation is broken right now, I'm not sure where else to file this. Reproducible: Always Steps to Reproduce: 1. Had some platformio issues 2. Emerge arduino IDE to test hardware directly 3. Doesn't work, spewing errors in Arduino IDE console about arduino-builder and "-tools" not specified. ----------------------------------------------------------------------------- Parameter 'tools' is mandatory Usage of /usr/share/arduino/arduino-builder: -build-cache string builds of 'core.a' are saved into this folder to be cached and reused -build-options-file string Instead of specifying --hardware, --tools etc every time, you can load all such options from a file -build-path string build path -built-in-libraries value Specify a built-in 'libraries' folder. These are low priority libraries. Can be added multiple times for specifying multiple built-in 'libraries' folders -code-complete-at string output code completions for sketch at a specific location. Location format is "file:line:col" -compile compiles the given sketch -core-api-version string version of core APIs (used to populate ARDUINO #define) (default "10600") -daemon daemonizes and serves its functions via rpc -debug-level int Turns on debugging messages. The higher, the chattier (default 5) -dump-prefs dumps build properties used when compiling -experimental enables experimental features -fqbn string fully qualified board name -hardware value Specify a 'hardware' folder. Can be added multiple times for specifying multiple 'hardware' folders -ide-version string [deprecated] use 'core-api-version' instead (default "10600") -jobs int specify how many concurrent gcc processes should run at the same time. Defaults to the number of available cores on the running machine -libraries value Specify a 'libraries' folder. Can be added multiple times for specifying multiple 'libraries' folders -logger string Sets type of logger. Available values are 'human', 'humantags', 'machine' (default "human") -prefs value Specify a custom preference. Can be added multiple times for specifying multiple custom preferences -preprocess preprocess the given sketch -quiet if 'true' doesn't print any warnings or progress or whatever -tools value Specify a 'tools' folder. Can be added multiple times for specifying multiple 'tools' folders -trace traces the whole process lifecycle -verbose if 'true' prints lots of stuff -version prints version and exits -vid-pid string specify to use vid/pid specific build properties, as defined in boards.txt -warnings string Sets warnings level. Available values are 'none', 'default', 'more' and 'all' Error compiling for board Arduino Nano. ---------------------------------------------------------------------------- 4. Can't find tools dir, so re-emerge arduino-builder to see if it pops up in the emerge log 5. arduino-builder shows words like "you are missing the toolchain, you must run crossdev -s4" 6. Go to the wiki at https://wiki.gentoo.org/wiki/Arduino and follow that, running Actual Results: Arduino IDE doesn't work, due to the arduino-builder bug, and the ebuild tells us we need to run crossdev, so we try to follow the docs on the wiki. But running that exact command fails... # crossdev -s4 --stable --portage --verbose --target avr ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- * crossdev version: 20240209 * Host Portage ARCH: amd64 * Host Portage System: x86_64-pc-linux-gnu (i686-pc-linux-gnu x86_64-pc-linux-gnu) * Target Portage ARCH: * * Target System: avr * Stage: 4 (C/C++ compiler) * USE=multilib: yes * Target ABIs: default * binutils: binutils-[stable] * gcc: gcc-[stable] * libc: avr-libc-[stable] * CROSSDEV_OVERLAY: /var/db/repos/portage-crossdev * PORT_LOGDIR: /var/log/portage * PORTAGE_CONFIGROOT: / * Portage flags: --verbose _ - ~ - _ - ~ - _ - ~ - _ - ~ - _ - ~ - _ - ~ - _ - ~ - _ - ~ - _ - ~ - _ - ~ - _ - ~ - _ - ~ - _ - ~ - _ - ~ - _ - ~ - _ - ~ * leaving metadata/layout.conf alone in /var/db/repos/portage-crossdev _ - ~ - _ - ~ - _ - ~ - _ - ~ - _ - ~ - _ - ~ - _ - ~ - _ - ~ - _ - ~ - _ - ~ - _ - ~ - _ - ~ - _ - ~ - _ - ~ - _ - ~ - _ - ~ !!! WARNING - Cannot auto-configure CHOST avr; !!! You should edit /usr/avr/etc/portage/make.conf /usr/avr/etc/portage/profile/make.defaults /usr/avr/etc/portage/profile/use.force !!! by hand to complete your configuration. !!! No LIBC is known for this target. !!! No KERNEL is known for this target. * Log: /var/log/portage/cross-avr-binutils.log * Emerging cross-binutils ... [ ok ] * Log: /var/log/portage/cross-avr-gcc-stage1.log * Emerging cross-gcc-stage1 ... Expected Results: Arduino IDE compiles file, uploads fine. If ebuild sends you to run a command manually, the command works and/or the documentation is up to date.