(Do not trust me beforehand on this one, but:)
Exit codes are in the range of a
byte :
0 - means no error - up to
255 of which FPC uses only up to and including 232.
So 256 looks weird. That probably means it overflowed and the real error is 1.
1 means:
" 1 Invalid function number. An invalid operating system call was attempted."
If I am right - error = 1 - you are simply missing one or more dependencies.
But either the Lazarus guys introduced error numbers in a "different
" range or one of the compiler guru's need to explain if this overflow is acceptable.
Note the byte range is a hard coded compiler definition. It can't be bigger that a byte, but the containing variable may have a larger size. 256 can not happen except on purpose (calling halt(integer sized var) or overflow.