[MacPorts] #60350: jpilot: Keyring plugin no longer built (/opt/local/lib missing from LDFLAGS)

MacPorts noreply at macports.org
Tue Apr 14 00:41:56 UTC 2020

#60350: jpilot: Keyring plugin no longer built (/opt/local/lib missing from
 Reporter:  ewenmcneill  |      Owner:  (none)
     Type:  defect       |     Status:  new
 Priority:  Normal       |  Milestone:
Component:  ports        |    Version:
 Keywords:               |       Port:  jpilot
 The `jpilot` port used to include a Keyring plugin which allowed access to
 an (old) Palm password database (GNU Keyring).  It seem as of recent
 versions of MacPorts, this plugin is no longer being built, which means
 that the keyring is no longer accessible.  I'm not 100% sure of the
 criteria causing it not to be built, as I have one MacPorts system without
 it, and another (possibly slightly older install?) that does include it.
 On the system without it:

 ewen at mandir:~$ port contents jpilot | grep -i keyring
 ewen at mandir:~$ port contents jpilot | grep -i plugins
 ewen at mandir:~$

 From playing with the `configure` script it appears the problem is that
 both `-lgcrypt` and `-lcrypto` are failing to be linked, even if both
 ports are manually installed, which causes `configure` to detect neither
 is available, and disable the plugin:

 checking for libgcrypt-config... /opt/local/bin/libgcrypt-config
 checking for LIBGCRYPT - version >= 1.2.0... yes (1.8.5)
 checking LIBGCRYPT API version... okay
 checking for gcry_md_hash_buffer in -lgcrypt... no
 checking for SSLeay_version in -lcrypto... no
 configure: WARNING: OpenSSL library not found, Keyring will not be built
 Compiling KeyRing plugin...............   no

 After a lot of fiddling, I've found a work around to get it to build:

 ewen at mandir:~$ sudo port install libgcrypt
 ewen at mandir:~$ sudo port clean jpilot
 --->  Cleaning jpilot
 ewen at mandir:~$ LDFLAGS="-L/opt/local/lib" sudo --preserve-env=LDFLAGS port
 upgrade -s -k -n --force jpilot
 --->  Computing dependencies for jpilot
 --->  Fetching distfiles for jpilot
 --->  Verifying checksums for jpilot
 --->  Extracting jpilot
 --->  Configuring jpilot
 --->  Building jpilot
 --->  Staging jpilot into destroot
 --->  Deactivating jpilot @1.8.2_0
 --->  Cleaning jpilot
 --->  Uninstalling jpilot @1.8.2_0
 --->  Cleaning jpilot
 --->  Computing dependencies for jpilot
 --->  Installing jpilot @1.8.2_0
 --->  Activating jpilot @1.8.2_0
 --->  Cleaning jpilot
 --->  Scanning binaries for linking errors
 --->  No broken files found.
 --->  No broken ports found.
 ewen at mandir:~$ port contents jpilot | grep -i plugins
 ewen at mandir:~$

 having discovered from `config.log` that it was the linking failing,
 because the default link library search arguments were not including
 `/opt/local/lib`.  And that I could manually get it to link by including
 `-L/opt/local/lib` in the test command lines it was using.

 This seems related to #44402, but that had surprise dependencies on
 `libgcrypt` that weren't declared, and now it seems to be necessary to use
 `libgcrypt` *and* do something to persuade it to be linked in.

 Since the Keyring plugin is the sole reason I still use `jpilot` (ie, to
 access old passwords in my old password database which haven't yet been
 copied over), without the keyring plugin `jpilot` is effectively useless
 to me.

 I'm on macOS 10.14.6 in case it's relevant.  I'm not sure how long this
 has been broken, as I haven't tried to use `jpilot` on this particular
 broken system for a while (and it has been working fine on another system
 for years, at least up to a week or so ago; I don't have that other system
 with me at present to check).

 Could someone please add `libgcrypt` as a dependency of `jpilot`, and
 ensure that `/opt/local/lib` is in the linking path?  I think that would
 solve both #44402 and this ticket.



 ewen at mandir:~$ port installed libgcrypt openssl
 The following ports are currently installed:
   libgcrypt @1.8.5_0 (active)
   openssl @1.1.1e_0
   openssl @1.1.1f_0 (active)
 ewen at mandir:~$

Ticket URL: <https://trac.macports.org/ticket/60350>
MacPorts <https://www.macports.org/>
Ports system for macOS

More information about the macports-tickets mailing list