Suddenly, without adding any strange characters in my DSDLs, I get the following compile error
Compiler failure
Traceback (most recent call last):
File "/usr/local/bin/libuavcan_dsdlc", line 61, in <module>
dsdlc_run(args.source_dir, args.incdir, args.outdir)
File "/usr/local/lib/python2.7/dist-packages/libuavcan_dsdl_compiler/__init__.py", line 63, in run
run_generator(types, output_dir)
File "/usr/local/lib/python2.7/dist-packages/libuavcan_dsdl_compiler/__init__.py", line 112, in run_generator
die(ex)
File "/usr/local/lib/python2.7/dist-packages/libuavcan_dsdl_compiler/__init__.py", line 90, in die
raise DsdlCompilerException(str(text))
DsdlCompilerException: 'ascii' codec can't decode byte 0xe2 in position 10: ordinal not in range(128)
'ascii' codec can't decode byte 0xe2 in position 10: ordinal not in range(128)
Character 0xe2 is nothing I have added… Why is this emerging?
Post the offending source file here, please. Attach the whole file, don’t copy-paste it’s contents, since the latter may fail to reproduce possible encoding problems.
Hi! I am not sure what DSDL source file it is… Or are you refering to the init.py?
I can see in the generated header file directory that it stop generating .hpp files when the error occurs. But I am not sure about in what order the files are created and what file that is upcoming.
How is the compiler sorting the files?
Btw. Where is logger.info( ) writing log messages to?
Nowhere, they just disappear unless the compiler is invoked with -v. Use --help for usage info.
This is a problem of the old parser that is now fixed in the new parser (which is under development still): the compiler was supposed to report which exact file caused the problem, but it didn’t.