Hello, It is indeed a dirty hack, the ```stdio.h``` is already in the include path, but i realized that in Musl, only the definition of FILE is available in stdio.h, the struct **_IO_FILE**, however, is not publicly defined (i.e. it is not available in the public headers). That cause an error about incomplete type definition when gcc tries to compile the line: ```c static FILE stdoutStack[STDOUT_STACK_SZ]; ``` So i put the explicit definition to the ```sqVirtualMachine.c```, it works for me, but, is indeed not a good solution. What we can do is to put that definition somewhere else, and only include it in ```sqVirtualMachine.c``` if we are using Musl as lib implementation.