Compiler frontend failed to generate LLVM bitcode, halting


I get this error.
Generating C++ code for simulation…
=== Skipped 0 lines ===
Non-zero exit code of compiler
XODMAIN.cpp:1153:10: fatal error: ‘Servo.h’ file not found
#include <Servo.h>
1 error generated.
shared:ERROR: compiler frontend failed to generate LLVM bitcode, halting

The generated C++ code contains errors. It can be due to a bad node implementation
or if your board is not compatible with XOD runtime code. The original compiler error
message is above. Fix C++ errors to continue. If you believe it is a bug, report the
problem to XOD developers.



At its current state, the cloud compiler does not support external libraries such as Servo. Thus the error: “fatal error: ‘Servo.h’ file not found”. We will support them in future versions.

In any case, a servo will do nothing in the simulation mode. So for now, a quick workaround is removing the node from the patch made for simulation.


So actually, the cloud compiler worked. It was on my local machine. I tried both install for all users, and single user, on two different computers, thinking it has something to do with Windows 10 not giving access to the correct folders, which by the way IS an issue.

All I am doing is adding two servos, and two pots, and connecting the VAL LINES. That is it. If I remove the servos, I have no patch. I don’t think I explained properly.

The uploaded screenshot shows what I did. I also set the A0 A1 and D8 and D9 properties in the hardware. I am new at this and I think I am missing something. I was following instructions from a youtube video, and they used XOD to do it. They were using an older version, so I am at a loss!

Perhaps I am missing something. Annotation%202019-02-18%20155342

I think I am doing something else that makes it not work?


Hi, the servo node requires the servo.h library as it said nvrkv, the compilation to simulate, as well as for tabtest is in the cloud. It is not a local IDE problem.

You can debug and place a watch at the output of the pot and see the value, and connect a servo to the mentioned ports.


  • Maybe an option to mark which ones go into simulation and which would not be an option to not disarm a patch