[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
LDFLAGS)
-------------------------+--------------------
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
/opt/local/lib/jpilot/plugins/libexpense.so
/opt/local/lib/jpilot/plugins/libsynctime.so
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
/opt/local/lib/jpilot/plugins/libexpense.so
/opt/local/lib/jpilot/plugins/libkeyring.so
/opt/local/lib/jpilot/plugins/libsynctime.so
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.
Thanks,
Ewen
{{{
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