I don't use login_krb5, but the error looks simple enough.
cc -o login_krb5 login.o login_krb5.o $(/usr/local/heimdal/bin/krb5-config --deps --libs) -lutil ld: error: duplicate symbol: __progname >>> defined at /usr/lib/crt0.o:(__progname) diff --git patches/patch-login_krb5_login_krb5_c patches/patch-login_krb5_login_krb5_c new file mode 100644 index 00000000000..4cf196d5fbf --- /dev/null +++ patches/patch-login_krb5_login_krb5_c @@ -0,0 +1,21 @@ +Index: login_krb5/login_krb5.c +--- login_krb5/login_krb5.c.orig ++++ login_krb5/login_krb5.c +@@ -35,8 +35,6 @@ krb5_context context; + krb5_ccache ccache; + krb5_principal princ; + +-char *__progname; +- + static void + krb5_syslog(krb5_context context, int level, krb5_error_code code, char *fmt, ...) + { +@@ -98,7 +96,7 @@ krb5_login(char *username, char *invokinguser, char *p + if (username == NULL || password == NULL) + return (AUTH_FAILED); + +- if (strcmp(__progname, "-krb5-or-pwd") == 0 && ++ if (strcmp(getprogname(), "-krb5-or-pwd") == 0 && + strcmp(username,"root") == 0 && invokinguser[0] == '\0') + return (AUTH_FAILED); +