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);
+ 

Reply via email to