I assume this is about the armv7 build?

There are several other "duplicate symbol" failures like this, and those ports work fine on others archs (ucspi-tools, autossh, foremost, rancid, and there are probably a bunch blocked by devel/boost failure). I don't think it is reasonable to patch individual ports for what looks like a toolchain problem.

The other common failures are undefined __aeabi_unwind_XXX symbols, and internal compiler errors.

There are others which *are* arm-specific, but considering the general brokenness of the platform it seems better not to patch them unless someone is particularly interested in running a certain package on armv7, or it unblocks a lot of other ports (e.g. boost) - in the general case, patches aren't zero-cost as they often get in the way of updates.

--
 Sent from a phone, apologies for poor formatting.

On 16 June 2022 05:24:17 Matthew Martin <phy1...@gmail.com> wrote:

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