diff -urN metis-5.1.0.orig/GKlib/gk_getopt.h metis-5.1.0.orig/GKlib/gk_getopt.h
--- metis-5.1.0.orig/GKlib/gk_getopt.h	2017-04-30 20:51:50.209656200 +0100
+++ metis-5.1.0/GKlib/gk_getopt.h	2017-04-30 20:53:50.553327500 +0100
@@ -52,10 +52,10 @@
 
 
 /* Function prototypes */
-extern int gk_getopt(int __argc, char **__argv, char *__shortopts);
-extern int gk_getopt_long(int __argc, char **__argv, char *__shortopts,
+extern int gk_getopt(int gk_argc, char **gk_argv, char *__shortopts);
+extern int gk_getopt_long(int gk_argc, char **gk_argv, char *__shortopts,
               struct gk_option *__longopts, int *__longind);
-extern int gk_getopt_long_only (int __argc, char **__argv,
+extern int gk_getopt_long_only (int gk_argc, char **gk_argv,
               char *__shortopts, struct gk_option *__longopts, int *__longind);
 
 
