[Bug 195319] New: security/heimdal moved libs, did not fix pkg-config; broke existing binaries

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Mon Nov 24 00:08:54 UTC 2014


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=195319

            Bug ID: 195319
           Summary: security/heimdal moved libs, did not fix pkg-config;
                    broke existing binaries
           Product: Ports Tree
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: Individual Port(s)
          Assignee: hrs at FreeBSD.org
          Reporter: freebsd at phil.spodhuis.org
          Assignee: hrs at FreeBSD.org
             Flags: maintainer-feedback?(hrs at FreeBSD.org)

Commit 7ffdbf37 in freebsd-ports was "Move headers and libraries into
PREFIX/{include,lib}/heimdal".

The commit neglected to update "libdata/pkgconfig/heimdal-gssapi.pc", thus
programs built using pkg-config can not pick up the new library location, and
end up building against system libraries.  In addition, because the new
location is not in the system library path, and nothing in the ".pc" file says
to update the RPATH, programs will successfully build and link, but the
run-time linker will fail to resolve the heimdal libraries.

I am one of the Exim maintainers, I use heimdal-gssapi in building Exim locally
(not an option exposed by the mail/exim port, and I'm building from source as
an upstream maintainer anyway).  This change meant that a "pkg upgrade" broke
my running MTA because the upgrade did not leave the old libraries in the
compat/ area, so non-Ports programs suddenly break.

So, minimally, there needs to be an UPDATING notice of this breaking change,
but ideally there would also be a migration compatibility aid to not just nuke
libraries from appearing anywhere in the system runtime library path.

To be able to use the new locations, I modified `heimdal-gssapi.pc` to state:

    libdir=${exec_prefix}/lib/heimdal
    includedir=${prefix}/include/heimdal

and on the `Libs:` line, after the `-L${libdir}` I added:
`-Wl,-rpath=${libdir}`

With those three changes to the pkg-config spec for heimdal-gssapi, Exim once
more builds and links and the resulting binary can be successfully loaded by
the runtime linker.

--- Comment #1 from Bugzilla Automation <bugzilla at FreeBSD.org> ---
Auto-assigned to maintainer hrs at FreeBSD.org

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-ports-bugs mailing list