Sure, but that's only a warning, not an error. You can build successfully with that warning.
I just looked for the cause. "message" is unused at present because the section of code using it is preprocessed out, like this:
#if 1
;temporary stuff
#else
;message variable used here
#endif
Therefore, it's to be expected that the compiler complains about the unused variable. There's no real sense in fixing it until that function is changed again.
You could always "preprocess out" the declaration to avoid the warning, like this:
#if 0
message_t *message;
#endif
It's not going to make any difference either way though.