--- a/gettext-tools/libgettextpo/error.h
+++ b/gettext-tools/libgettextpo/error.h
@@ -58,7 +58,7 @@ extern void error_at_line (int __status,
 /* If NULL, error will flush stdout, then print on stderr the program
    name, a colon and a space.  Otherwise, error will call this
    function without parameters instead.  */
-void (*error_print_progname) (void);
+extern void (*error_print_progname) (void);
 
 /* This variable is incremented each time 'error' is called.  */
 extern DLL_VARIABLE unsigned int error_message_count;