#47583: kerberos5 @1.13.1 build fail: undefined symbol __et_list -----------------------------+-------------------------------- Reporter: dan+macports@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.3 Resolution: | Keywords: Port: kerberos5 | -----------------------------+-------------------------------- Changes (by cal@…): * cc: cal@… (added) Comment: The `--with-system-et` flag is correct, because without it, kerberos5 will build and install its own private copy of `libcomm_err.dylib`, which will conflict with other ports. I made the change to move `libcom_err` into a separate port a few years ago because a different port (I think it was e2fsprogs or something) also installs the library, making the two ports conflict. However, "system" in this case does not necessarily mean "/usr/lib", it just means "don't build your own copy". This would work fine by default, because we normally pass `-L/opt/local/lib` (or `-L/opt/lib` in your case) in `LDFLAGS`. However, in the case of kerberos5, this will make kerberos link against an older installed version of itself, possibly failing along the way. For this reason, the kerberos5 Portfile explicitly removes this in line 48. That alone is still not enough for the build to go wrong, because MacPorts also sets the `LIBRARY_PATH` environment variable to `$prefix/lib`, which is picked up by modern compilers/linkers before it checks for libraries in `/usr/lib`. Your toolchain on 10.7, however, seems to be too old for this. You can apply the following patch to your kerberos5 Portfile to fix the issue locally: {{{ #!patch Index: Portfile =================================================================== --- Portfile (revision 135531) +++ Portfile (working copy) @@ -4,6 +4,7 @@ PortSystem 1.0 PortGroup github 1.0 PortGroup compiler_blacklist_versions 1.0 +PortGroup conflicts_build 1.0 github.setup krb5 krb5 1.13.1-final krb5- name kerberos5 @@ -43,9 +44,7 @@ use_autoreconf yes # kerberos5 fails to build in its own presence, see #23769, #37944 -# remove ${prefix}/lib from configure.ldflags to allow linking against its own libs first -# adding ${worksrcpath}/lib is not necessary and pollutes krb5-config --libs and pkg-config files -configure.ldflags-delete -L${prefix}/lib +conflicts_build $name configure.python ${prefix}/bin/python2.7 configure.args --mandir=${prefix}/share/man \ --with-system-et \ }}} I'd be willing to take a patch that does what this patch does conditionally on systems that don't support `LIBRARY_PATH`. -- Ticket URL: <https://trac.macports.org/ticket/47583#comment:3> MacPorts <https://www.macports.org/> Ports system for OS X