dear members of gnupg-users,
prolog:
hello my name is daniel. if i may introduce myself, i'm not an
entirely sophisticated or seasoned unix/linux user and usually
dependend on whatever snippets of information i can find in forums and
on the web that give me usually a ballpark idea of what i can or
cannot do via the command line. i understand that this approach
doesn't always make sense or seems abit farfetched to the more
experienced programmer. that said, i recently learned when trying to
update my outmoded gnupg 2.0.22 on my Ubuntu 14.04 LTS distro, that i
ran into some major issues for which i'm currently looking for advice
on how to resolve them and get my update to work. so, if there's
anyone who has the patience and the time necessary to give this
problem a fair introspection, your help would be greatly appreciated.
thanks.
the deal:
trying to install gnupg-2.2.13 on Ubuntu 14.04 LTS, including build
dependencies libgpg-error-1.35, libgcrypt-1.8.4, libassuan-2.5.3,
libksba-1.3.5, npth-1.6, pinentry-1.1.0 & gpg-agent
history/approach:
largely dependend on the information i deployed from a website called
https://gist.github.com/vt0r/a2f8c0bcb1400131ff51
i tried and followed the instructions there blindly, save for a few
alterations. 1. for instance i wrote (copy/paste) each line of code
separately for each building routine, instead of using &&. 2. I also
did a detailed log of each command (copy/paste) that I ran on the
shell in gedit, for each building block, including error messages that
I got in return. 3. instead of https://www.gnupg.org/ftp/gcrypt/ as
the mainsource from which to recover the tarball, I used for instance
$ sudo wget -c
ftp://ftp.gnupg.org/gcrypt/pinentry/pinentry-1.1.0.tar.bz2
as the protocol on the website suggest, i first cleaned up the older
GNuPG 2.0.22 build, by sudo apt-get --purge remove gnupg2
mistakenly, I also removed gnupg-agent at first, because I thought it
also took an updated version. however re-installed gnupg-agent at a
later point in the process, when my enigmail add-on to thunderbird,
seemed to have trouble making the connection.
the next step I created directory /var/src/gnupg22 with mkdir.
the contents of var/src/gnupg22 currently look like this:
daniel@daniel-ThinkPad-X240:/var/src/gnupg22$ ls
gnupg-2.2.10.tar.bz2 libgcrypt-1.8.4.tar.gz.sig
gnupg-2.2.10.tar.bz2.sig libgpg-error-1.32.tar.gz
gnupg-2.2.13 libgpg-error-1.32.tar.gz.sig
gnupg-2.2.13.tar.bz2 libgpg-error-1.35
gnupg-2.2.13.tar.bz2.sig libgpg-error-1.35.tar.gz
index.html libgpg-error-1.35.tar.gz.sig
libassuan-2.5.1.tar.bz2 libksba-1.3.5
libassuan-2.5.1.tar.bz2.sig libksba-1.3.5.tar.bz2
libassuan-2.5.3 libksba-1.3.5.tar.bz2.sig
libassuan-2.5.3.tar.bz2 npth-1.6
libassuan-2.5.3.tar.bz2.sig npth-1.6.tar.bz2
libgcrypt-1.8.3.tar.gz npth-1.6.tar.bz2.sig
libgcrypt-1.8.3.tar.gz.sig pinentry-1.1.0
libgcrypt-1.8.4 pinentry-1.1.0.tar.bz2
libgcrypt-1.8.4.tar.gz pinentry-1.1.0.tar.bz2.sig
I did check and verify each signature of the respective tarball file!
installation procedure:
then I ran in the same order as on the website the complete
/.configure cycle, including
$ ./configure --prefix=/usr
$ make
$ make check
$ sudo make install
for the configuration of pinentry for instance, the return i got was:
Pinentry v1.1.0 has been configured as follows:
Revision: 02df3d2 (735)
Platform: x86_64-pc-linux-gnu
Curses Pinentry ..: no
TTY Pinentry .....: yes
Emacs Pinentry ...: no
GTK+-2 Pinentry ..: yes
GNOME 3 Pinentry .: no
Qt Pinentry ......: no
TQt Pinentry .....: no
W32 Pinentry .....: no
FLTK Pinentry ....: no
Fallback to Curses: no
Emacs integration : yes
libsecret ........: no
Default Pinentry .: pinentry-gtk-2
now for instance if i run: $ aptitude search pinentry-gtk-2
i get no search results in return! same is true for all other build
dependencies (libgpg-error-1.35, libgcrypt-1.8.4, libassuan-2.5.3,
libksba-1.3.5, npth-1.6, pinentry-1.1.0), including gnupg-2.2.13.
one of the main problems of the build, seemed that libraries like
libgcrypt-1.8.4 couldn't detect it's build dependencies like
libgpg-error-1.35.. so the
$ make check of libgcrypt-1.8.4
returned 27 Test failed!!<<<<<<<<<<<<<<<<<<<<<<<<<<<<
the $ make check of libgpg-error-1.35 returned PASS:
gpg-error-config-test.sh
=============
1 test passed;
and
==================
All 9 tests passed
and after $ sudo make install: the contents of usr/local/lib currently
looks like this:
daniel@daniel-ThinkPad-X240:/usr/local/lib$ ls
libgcrypt.la libgpg-error.la node_modules site_ruby
libgcrypt.so libgpg-error.so pkgconfig
libgcrypt.so.20 libgpg-error.so.0 python2.7
libgcrypt.so.20.2.4 libgpg-error.so.0.26.1 python3.4
hypothesis:
On a website called: https://dev.gnupg.org/T4068, someone mentioned,
that I probably did this mistake: "You configure your environment for
your compiling and installation, but not for running. Thus, old
original libgpg-error in system was used, and failed."
My folder/directory libgpg-error-1.35 looks like this and so do all
the other dependencies, including gnupg-2.2.13:
daniel@daniel-ThinkPad-X240:/var/src/gnupg22/libgpg-error-1.35$ ls
ABOUT-NLS config.h COPYING.LIB Makefile src
aclocal.m4 config.h.in doc Makefile.am
stamp-h1
AUTHORS config.log INSTALL Makefile.in
tests
autogen.rc config.status lang mkinstalldirs
THANKS
autogen.sh configure libgpg-error.spec NEWS
VERSION
build-aux configure.ac libgpg-error.spec.in po
ChangeLog contrib libtool potomo
ChangeLog-2011 COPYING m4 README
furthermore:
my usr/bin directory for instance, contains a file called
libgcrypt-config, when I open it in gedit, I get the following
header:
# File: src/libgcrypt-config. Generated from
libgcrypt-config.in
by configure.
# General.
prefix="/usr"
exec_prefix="${prefix}"
version="1.8.4"
includedir="${prefix}/include"
libdir="${exec_prefix}/lib"
gpg_error_libs="-L/usr/local/lib -lgpg-error"
gpg_error_cflags="-I/usr/local/include"
or usr/bin/libassuan-config for instance returns:
# Configure libgpg-error.
gpg_error_cflags=""
gpg_error_libs="-lgpg-error"
PGM=libassuan-config
lib="-lassuan"
extralibs="$gpg_error_libs"
cflags=" $gpg_error_cflags"
api_version="2"
my_host="x86_64-pc-linux-gnu"
prefix=/usr
exec_prefix=${prefix}
includes=""
libdirs=""
exec_prefix_set=no
echo_libs=no
echo_cflags=no
echo_prefix=no
echo_exec_prefix=no
echo_host=no
-------------------------------------------------
epilog:
on the website https://gist.github.com/vt0r/a2f8c0bcb1400131ff51,
finishing the build via command line goes:
echo "/usr/local/lib" > /etc/ld.so.conf.d/gpg2.conf && ldconfig -v
however, i don't exactly know what that is supposed to do?!! the
return i get is:
bash: /etc/ld.so.conf.d/gpg2.conf: Permission denied
but instead in directory usr/lib for instance i find:
libassuan.la
libassuan.so
libassuan.so.0
libassuan.so.0.8.3
.
.
libgcrypt.la
libgcrypt.so
libgcrypt.so.20
libgcrypt.so.20.2.4
.
.
libksba.la
libksba.so
libksba.so.8
libksba.so.8.11.6
in /usr/local/bin$ i find:
gpg-error-config libgcrypt-config
gpg-error gpgrt-config
and in /usr/local/share$ i find:
libgpg-error
the directories usr/local/sbin; usr/local/etc; and usr/local/src
are empty!
So this is about the gist of my troubleshooting. perhaps if you find
the information helpful that i supplied, it would be great if you
could give me a hint, where and how to fix my build. if you need any
further information on my initial configuration and install process i
be happy to comply with more detailed analysis as far as i can supply
the resulting outputs i stored safely of each step. again, your input
would be greatly appreciated.
thank you for your consideration,
kindly yours,
daniel