-
Notifications
You must be signed in to change notification settings - Fork 232
Can not work with Arduino IDE 1.5 #111
Comments
I symlinked the IDE's hardware folder to one of Ino's load paths:
|
I too am not able to get ino working with Arduino 1.5. I tried the symlink trick mentioned by @miketzer, and that got me further, but ran into some problems parsing the new boards.txt file. I added some code to environment.py to get the file parsed, but now am failing because ino is trying to use the avr toolchain, while I need the sam toolchain because I have an Arduino Due. Any ideas on how to proceed? |
Did you change the link target to |
No, I did not! Thanks! I updated the link. But it still doesn't work. I'm getting this error now when I do ino build:
|
Well, there was another problem - the I deleted that, and I tried doing the following
But I still get the same error. |
I can second this error. Not having debugged this myself, I assume that the input arg is truncated, which leads to the error |
<osune@insektenprinz:~/Coding/arduino/radio>
zsh/3 58 [1] % ino build -d ~/.local/bin/arduino-nightly
Searching for Board description file (boards.txt) ... /home/osune/.local/bin/arduino-nightly/hardware/arduino/boards.txt
Traceback (most recent call last):
File "/home/osune/.local/bin/ino", line 6, in <module>
main()
File "/home/osune/.local/lib/pyhthon2.7/site-packages/ino/runner.py", line 64, in main
e.process_args(args)
File "/home/osune/.local/lib/python2.7/site-packages/ino/environment.py", line 263, in process_args
all_models = self.board_models()
File "/home/osune/.local/lib/python2.7/site-packages/ino/environment.py", line 204, in board_models
subdict[key] = {}
TypeError: 'str' object does not support item assignment
zsh: exit 1 ino build -d ~/.local/bin/arduino-nightly Running Arch Linux, and using a local copy of one of the latest nightly builds for Arduino 1.5. |
I am receiving the exact same error as osune. I am also running Arch Linux, and am using Ino version 0.3.6-1 from the Arch User Repository and am using Arduino-Beta 1.5.4-1, also from the Arch User Repository. |
I tried running [preproc], and now I am not getting osune's error anymore but am getting make error 127 (/bin/sh: Argument list too long) when I run [build]. |
I am currently working on a fork of this repo that works with Arduino 1.5.x: https://github.com/justonia/ino Right now my version breaks backwards compatibility with Arduino 1.0, though I'm considering fixing that as well so it'll work with both. You should be using the 1.5x branch, not master. |
On Mon, Nov 11, 2013 at 4:53 PM, Justin Larrabee
Will you let me know if I can help? cheers adamAdam Feuer adam@adamfeuer.com |
Hi, did somebody worked this out ? I tried Justonia's fork but it gives the same errors as mentioned on this thread. |
Works for me, have downloaded arduino distribution (arduino-1.5.6-r2)
|
Got the same problem with "Argument list too long" using following versions: There's a bunch of files in wifi related directories that I'm sure I don't need currently. :-) My workaround now is: While building some code examples including Ethernet.h I couldn't include SPI.h which was not discovered. I ended up with forcing ino (the very samo build.py) to load AVR libraries from hardware/arduino/avr/libraries directory. I tried to make in a board/architecture-sensitive way. Last issue I got while building an Ethernet.h sketch was the discovery of necessity of building using --cppflags="-DARDUINO_ARCH_AVR" and --cppflags="DARDUINO_AVR_UNO". Both copied from Arduino's IDE compilling progress. Hope it helps. And sorry for a long post. :-) jura $ git pull Already up-to-date. $ git rev-parse HEAD f23ee5cb14edc30ec087d3eab7b301736da42362 $ git diff ino/commands/build.py diff --git a/ino/commands/build.py b/ino/commands/build.py index 65a9f8e..477b17e 100644 --- a/ino/commands/build.py +++ b/ino/commands/build.py @@ -132,6 +132,9 @@ class Build(Command): self.e.find_arduino_dir('arduino_libraries_dir', ['libraries'], human_name='Arduino standard libraries') + # Read arch specific libraries + self.e.find_arduino_dir('arduino_libraries_arch_dir', [os.path.join(board['_coredir'],'libraries')], + human_name='Arduino standard '+board['build']['board']+' libraries') toolset = [ ('make', args.make), @@ -154,6 +157,8 @@ class Build(Command): mcu, '-DF_CPU=' + board['build']['f_cpu'], '-DARDUINO=' + str(self.e.arduino_lib_version.as_int()), + '-D'+(board['build']['core']+'_'+board['build']['board']).upper(), # -DARDUINO_AVR_UNO etc. + '-D'+(board['build']['core']+'_ARCH_'+board['build']['board'].split('_')[0]).upper(), # -DARDUINO_ARCH_AVR etc. '-I' + self.e['arduino_core_dir'], ]) # Add additional flags as specified @@ -221,7 +226,7 @@ class Build(Command): flags = SpaceList() for d in libdirs: flags.append('-I' + d) - flags.extend('-I' + subd for subd in list_subdirs(d, recursive=True, exclude=['examples'])) + flags.extend('-I' + subd for subd in list_subdirs(d, recursive=True, exclude=['examples','SOFTWARE_FRAMEWORK','--extras'])) return flags def _scan_dependencies(self, dir, lib_dirs, inc_flags): @@ -246,7 +251,7 @@ class Build(Command): def scan_dependencies(self): self.e['deps'] = SpaceList() - lib_dirs = [self.e.arduino_core_dir] + list_subdirs(self.e.lib_dir) + list_subdirs(self.e.arduino_libraries_dir) + lib_dirs = [self.e.arduino_core_dir] + list_subdirs(self.e.lib_dir) + list_subdirs(self.e.arduino_libraries_dir) + list_subdirs(self.e.arduino_libraries_arch_dir) inc_flags = self.recursive_inc_lib_flags(lib_dirs) # If lib A depends on lib B it have to appear before B in final |
I found a hack-ish workaround involving symlinking here: |
Because in the 1.5, the boards.txt is in
/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/avr
Will there be a simple way to specify the directory?
The text was updated successfully, but these errors were encountered: