Compilation error with 2.1.1 release

Discussion about Z-Uno product. Visit http://z-uno.z-wave.me for more details.
Post Reply
droll
Posts: 48
Joined: 20 Dec 2013 01:37

Compilation error with 2.1.1 release

Post by droll »

The existing applications are not compiling anymore with revision 2.1.1. if the path to the user home directory contains spaces. With previous revisions this worked well.
Here is the compilation log:

Code: Select all

C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\Albertu Knopfloch\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\Albertu Knopfloch\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\Albertu Knopfloch\Documents\Arduino\libraries -fqbn=Z-Uno:zw8051:zuno:Frequency=Eu,Security=Off,MuliCommand=Off,LogOutput=Off,NVMClean=Off -ide-version=10805 -build-path C:\Users\ALBERTU~1\AppData\Local\Temp\arduino_build_514840 -warnings=all -build-cache C:\Users\ALBERTU~1\AppData\Local\Temp\arduino_cache_134817 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.zuno_toolchain.path=C:\Users\Albertu Knopfloch\AppData\Local\Arduino15\packages\Z-Uno\tools\zuno_toolchain\00.08.50 -verbose C:\zuno_workspace\ZUNO_RM80_RadiationMonitor\ZUNO_RM80_RadiationMonitor.ino
C:\Program Files (x86)\Arduino\arduino-builder -compile -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\Albertu Knopfloch\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\Albertu Knopfloch\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\Albertu Knopfloch\Documents\Arduino\libraries -fqbn=Z-Uno:zw8051:zuno:Frequency=Eu,Security=Off,MuliCommand=Off,LogOutput=Off,NVMClean=Off -ide-version=10805 -build-path C:\Users\ALBERTU~1\AppData\Local\Temp\arduino_build_514840 -warnings=all -build-cache C:\Users\ALBERTU~1\AppData\Local\Temp\arduino_cache_134817 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.zuno_toolchain.path=C:\Users\Albertu Knopfloch\AppData\Local\Arduino15\packages\Z-Uno\tools\zuno_toolchain\00.08.50 -verbose C:\zuno_workspace\ZUNO_RM80_RadiationMonitor\ZUNO_RM80_RadiationMonitor.ino
Using board 'zuno' from platform in folder: C:\Users\Albertu Knopfloch\AppData\Local\Arduino15\packages\Z-Uno\hardware\zw8051\2.1.1
Using core 'zuno' from platform in folder: C:\Users\Albertu Knopfloch\AppData\Local\Arduino15\packages\Z-Uno\hardware\zw8051\2.1.1
Detecting libraries used...
C:\Users\Albertu Knopfloch\AppData\Local\Arduino15\packages\Z-Uno\tools\zuno_toolchain\00.08.50/zuno_toolchain/compiler arduino_preproc  "C:\Users\ALBERTU~1\AppData\Local\Temp\arduino_build_514840\sketch\ZUNO_RM80_RadiationMonitor.ino.cpp"  -r "C:\Users\Albertu Knopfloch\AppData\Local\Arduino15\packages\Z-Uno\hardware\zw8051\2.1.1"
C:\Users\Albertu Knopfloch\AppData\Local\Arduino15\packages\Z-Uno\tools\zuno_toolchain\00.08.50/zuno_toolchain/compiler arduino_preproc  "C:\Users\ALBERTU~1\AppData\Local\Temp\arduino_build_514840\sketch\DataLog24H.cpp"  -r "C:\Users\Albertu Knopfloch\AppData\Local\Arduino15\packages\Z-Uno\hardware\zw8051\2.1.1"
C:\Users\Albertu Knopfloch\AppData\Local\Arduino15\packages\Z-Uno\tools\zuno_toolchain\00.08.50/zuno_toolchain/compiler arduino_preproc  "C:\Users\ALBERTU~1\AppData\Local\Temp\arduino_build_514840\sketch\SharpMemoryLCD.cpp"  -r "C:\Users\Albertu Knopfloch\AppData\Local\Arduino15\packages\Z-Uno\hardware\zw8051\2.1.1"
Generating function prototypes...
C:\Users\Albertu Knopfloch\AppData\Local\Arduino15\packages\Z-Uno\tools\zuno_toolchain\00.08.50/zuno_toolchain/compiler arduino_preproc  "C:\Users\ALBERTU~1\AppData\Local\Temp\arduino_build_514840\sketch\ZUNO_RM80_RadiationMonitor.ino.cpp"  -r "C:\Users\Albertu Knopfloch\AppData\Local\Arduino15\packages\Z-Uno\hardware\zw8051\2.1.1"
exec: "C:\\Users\\Albertu": file does not exist
Error compiling for board Z-Wave>ME Z-Uno.
Unfortunatly, application and user home directory paths contains often spaces on Windows (e.g. C:\Program Files (x86)\Arduino), so spaces in home directory and executable paths should be supported.
I hope a workaround can be quickly found.
p0lyg0n1
Posts: 242
Joined: 04 Aug 2016 07:14

Re: Compilation error with 2.1.1 release

Post by p0lyg0n1 »

Fixed. Please reinstall package:
1. remove all zip-files from C:\Users\<USERNAME>\AppData\Local\Arduino15\staging\packages\
in your case it will be C:\Users\Albertu Knopfloch\AppData\Local\Arduino15\staging\packages\
2. remove C:\Users\<USERNAME>\AppData\Local\Arduino15\packages\Z-Uno
in your case it will be C:\Users\Albertu Knopfloch\AppData\Local\Arduino15\packages\Z-Uno
3. install 2.1.1 once more via Tools->Board->Board Manager...

Thank you!
droll
Posts: 48
Joined: 20 Dec 2013 01:37

Re: Compilation error with 2.1.1 release

Post by droll »

The 2.1.1 release from today (Oct 19) is indeed fixing this first problem. Thank you for the fix. But wouldn't it be adequate to increase the release number to differentiate clearly between the versions you release?

The next compilation problem is if the application (sketch) contains a local library. I have for example the library DataLog24H and both the header and implementation files (DataLog24H.h, DataLog24H.cpp) are stored at the same location as the application. This compiled well with the previous compiler version, but now I get the following error:

Code: Select all

ZUNO_RM80_RadiationMonitor:47: error: DataLog24H.h: No such file or directory
compilation terminated.
I will add the full log in an attached file (see
CompError.7z
(1.24 KiB) Downloaded 244 times
)

Finally, the compiler requires now prototype declarations of all functions. My application defines the following function:

Code: Select all

typedef byte xy_t;
void vLineDotted (xy_t x, xy_t y0, xy_t y1) {
   ... some code ...
}
This function is called by another function:

Code: Select all

vLineDotted(85,y0,y1);
This leads to the following error:

Code: Select all

ZUNO_RM80_RadiationMonitor:333: error: call to 'vLineDotted' is ambiguous
After declaring the prototype function the application compiled well. But well understood, with the previous compiler version prototype declaration was not enforced.
p0lyg0n1
Posts: 242
Joined: 04 Aug 2016 07:14

Re: Compilation error with 2.1.1 release

Post by p0lyg0n1 »

I think that's not a good idea to increase the number of release version when we only fixed one bug. Anyway we try to fix them asap:) Can you provide a whole code? (publicate it there, or via PM). I need to reproduce the bevavior of the compiler. The style of coding differs from one programmer to another and we need an archive of code to fix these bugs and add the code to regression tests that we apply to compiler before every release. Thank you for your feedback!
p0lyg0n1
Posts: 242
Joined: 04 Aug 2016 07:14

Re: Compilation error with 2.1.1 release

Post by p0lyg0n1 »

The problem with local libraries was fixed. It was ok on 1.6.5, but in IDE 1.8.5 temporary directory of sketch has another structure. We didn't test it with auxiliary files yet. You was the first man with local libraries & IDE version 1.8.5. Please reinstall packets. Looks like we will use another version coding system in near future. The minor revision will be use for fixes and the first and the middle digits for the new releases. You are right it will be right to change the minor digit after rebuild of packets.
petergebruers
Posts: 255
Joined: 26 Jul 2015 17:29

Re: Compilation error with 2.1.1 release

Post by petergebruers »

@p0lyg0n1 thank you for your fast and adequate response!
Post Reply