Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 61102 - app-crypt/newpg-0.9.4-r1 (/usr/bin/gpgsm) problems with libgcrypt and libksba
Summary: app-crypt/newpg-0.9.4-r1 (/usr/bin/gpgsm) problems with libgcrypt and libksba
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Crypto team [DISABLED]
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-08-20 20:34 UTC by Tro
Modified: 2004-12-13 20:59 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tro 2004-08-20 20:34:56 UTC
if gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../gpgme    -O3 -march=athlon-xp -funroll-loops -pipe -I/usr/include -Wall -Wcast-align -Wshadow -Wstrict-prototypes -MT t-genkey.o -MD -MP -MF ".deps/t-genkey.Tpo" \
  -c -o t-genkey.o `test -f 't-genkey.c' || echo './'`t-genkey.c; \
then mv -f ".deps/t-genkey.Tpo" ".deps/t-genkey.Po"; \
else rm -f ".deps/t-genkey.Tpo"; exit 1; \
fi
/usr/bin/gpgsm --homedir . --import ./cert_g10code_test1.der
/usr/bin/gpgsm: error while loading shared libraries: libgcrypt.so.1: cannot open shared object file: No such file or directory
make[3]: *** [pubring.kbx] Error 127
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory `/var/tmp/portage/gpgme-0.9.0-r1/work/gpgme-0.9.0/tests/gpgsm'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/gpgme-0.9.0-r1/work/gpgme-0.9.0/tests'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/gpgme-0.9.0-r1/work/gpgme-0.9.0'
make: *** [all] Error 2

!!! ERROR: app-crypt/gpgme-0.9.0-r1 failed.
!!! Function src_compile, Line 44, Exitcode 2
!!! (no error message)

Can't compile KDE 3.3 from ~x86 without this. :/

Reproducible: Always
Steps to Reproduce:
1. emerge kde
2.
3.
Comment 1 Tro 2004-08-20 20:35:50 UTC
Portage 2.0.50-r9 (2004.2, gcc-3.3.4, glibc-2.3.4.20040808-r0, 2.6.8)
=================================================================
System uname: 2.6.8 i686 AMD Athlon(tm) XP 1800+
Gentoo Base System version 1.5.3
Autoconf: sys-devel/autoconf-2.59-r4
Automake: sys-devel/automake-1.8.5-r1
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-O3 -march=athlon-xp -funroll-loops -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3.2/share/config /usr/kde/3.3/share/config:/usr/kde/3.3/env:/usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O3 -march=athlon-xp -funroll-loops -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox sfperms"
GENTOO_MIRRORS="ftp:///ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp://vlaai.snt.ipv6.utwente.nl/pub/os/linux/gentoo/ ftp://ftp.ipv6.uni-muenster.de/pub/linux/distributions/gentoo http://gentoo.mirrors.pair.com/ http://mirrors.tds.net/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"
USE="X aac aalib acpi acpi4linux aim alsa apache2 apm arts async avantgo avi berkdb bonobo cdr cgi chroot client crypt cups divx4linux dnd dv dvd emacs encode esd exif flac foomaticdb freetype gd gdbm gif gimpprint gmp gnome gpm gstreamer gtk gtk2 gtkhtml icq idea imagemagick imap imlib ipv6 jabber java javascript jikes jp2 jpeg junit kde ldap leim libwww mad maildir mbox md5sum mikmod mldonkeypango motif mozdomi mozilla moznocompose moznoirc moznomail mozp3p mpeg mpeg4 msn mysql mysqli nas ncurses nls nntp nvidia odbc oggvorbis ooo-kde opengl operanom2 opie oscar oss pam pcre pda pdflib perl php plotutils png ppds prelude python qt quicktime readline samba sasl scanner sdl session silc slang speedo spell ssl stroke svg svga tcltk tcpd tetex tidy tiff tokenizer transcode truetype type1 unicode usb v4l2 vim-with-x wxwindows x86 xml xml2 xmlrpc xmms xprint xv xvid yahoo zlib"
Comment 2 Daniel Black (RETIRED) gentoo-dev 2004-08-21 17:27:07 UTC
Somehow the dependancy dev-libs/libgcrypt hasn't been emerged. Try to emerge sync and emerge again. If that fails emerge dev-libs/libgcrypt on its own.

Reminder to self - dev-libs/libgcrypt needs to be a RDEPEND too
Comment 3 Tro 2004-08-21 18:04:21 UTC
I tried that right away when I saw the error. Libgcrypt compiles fine, but gpgme breaks off with the same error as though libgcrypt isn't even there. I'll try again, though.
Comment 4 Tro 2004-08-21 22:36:40 UTC
Yep. Just "emerge sync"ed, unmerged libgcrypt, and tried "emerge kde".

Libgcrypt emerges ok, but gpgme breaks at the same spot with the same error.
Comment 5 schaedpq 2004-08-22 10:20:59 UTC
I have the same problem on my system. It seems, that libgcrypt-1.1.94.ebuild (libgcrypt-1.1.94 is the most recent stable in portage) does not install libgcrypt.so.1. Therefore the linking fails. I can only install gpgme-0.9.0-r1 if I install the older libgcrypt-1.1.12.
Comment 6 Tro 2004-08-22 12:27:20 UTC
Using libgcrypt-1.1.12 would break KMail's Aegypten support, no?
Comment 7 Tro 2004-08-22 12:41:30 UTC
Even with libgcrypt-1.1.12, I get the following error:

if gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../gpgme    -O3 -march=athlon-xp -funroll-loops -pipe -I/usr/include -Wall -Wcast-align -Wshadow -Wstrict-prototypes -MT t-genkey.o -MD -MP -MF ".deps/t-genkey.Tpo" \
  -c -o t-genkey.o `test -f 't-genkey.c' || echo './'`t-genkey.c; \
then mv -f ".deps/t-genkey.Tpo" ".deps/t-genkey.Po"; \
else rm -f ".deps/t-genkey.Tpo"; exit 1; \
fi
/usr/bin/gpgsm --homedir . --import ./cert_g10code_test1.der
/usr/bin/gpgsm: error while loading shared libraries: libksba.so.0: cannot open shared object file: No such file or directory
make[3]: *** [pubring.kbx] Error 127
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory `/var/tmp/portage/gpgme-0.9.0-r1/work/gpgme-0.9.0/tests/gpgsm'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/gpgme-0.9.0-r1/work/gpgme-0.9.0/tests'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/gpgme-0.9.0-r1/work/gpgme-0.9.0'
make: *** [all] Error 2

!!! ERROR: app-crypt/gpgme-0.9.0-r1 failed.
!!! Function src_compile, Line 44, Exitcode 2
!!! (no error message)

libksba-0.9.8 is emerged.
Comment 8 Tro 2004-08-22 13:04:11 UTC
Sorry for the flood. :/

gpgme links fine to libksba-0.4.7, but not to any version higher than that.
Comment 9 schaedpq 2004-08-23 11:26:54 UTC
I have the libksba-0.4.7 on my system. It really seems that you have to use libgcrypt-1.1.12 and libksba-0.4.7 for gpgme. I don't know if that older versions break Kmails Aegypten support, because I am not using Kmail. For me there seem to be no disadvantage using the older libs. At least I can compile and use KDE 3.3 now. ;-)
Comment 10 Tro 2004-08-23 16:57:59 UTC
That's right. KDE 3.3 compiles with the old libs, but Aegypten support is gone, which destroys the purpose of upgrading to KMail 1.7. Apart from several small fixes, the integration of Aegypten into KMail was a major feature in this release.
Comment 11 Lars Goldschlager 2004-08-25 14:14:46 UTC
Ok if you notice, this is failing during the TEST phase of gpgme when the gpgsm tests are performed, the binary failing is /usr/bin/gpgsm itself... I've moved it temporarily (I couldn't get dpkg to work and tell me what package owns gpgsm the binary, the lattest app-crypt/gnupg doesn't includes it) and gpgme compiled without troubles, now it's a matter to test if it works at runtime without that binary (for s/mime at least)... 
Comment 12 Daniel Black (RETIRED) gentoo-dev 2004-09-03 02:24:40 UTC
see gpgme-r20 for smime support. (bug 48486 related?)

I compiled gpgme-0.9.0-r1 without libksba. - worked not a problem

I compiled  gpgme-0.9.0-r1 with libksba-0.9.8 - worked not a problem

I didn't have gpgsm installed

Although newgpg provides gpgsm so to the later versions of gnupg-1.9. See comments on bug 57193. gnupg-1.9 is masked cause it has serious difficiencies.

Original bug = looks like gpgsm hard coded  libgcrypt.so.1 into the executable.
dev-libs/libgcrypt-1.1.94 *
CONTENTS:
/usr/lib/libgcrypt.so.11.1.0
/usr/lib/libgcrypt.so.11 -> libgcrypt.so.11.1.0 1093593170
/usr/lib/libgcrypt.so -> libgcrypt.so.11.1.0 1093593170
/usr/lib/libgcrypt.la
/usr/lib/libgcrypt.a
/usr/lib/libgcrypt.so.7 -> libgcrypt.so.11 1093593170

(comment 7)
libksba-0.9.8 doesn't have  libksba.so.0
dev-libs/libksba-0.4.7 does have libksba.so.0

comment 11 - Lars qpkg -f -v `which gpgsm` to get the version.

As this bug covers about two issues. Please add the following infomation:
to get the package that provides gpgsm: qpkg -f -v /usr/bin/gpgsm 
To list its libraries: ldd /usr/bin/gpgsm
Get versions of software installed: emerge -pv gpgme libksba libgcrypt newpg
Comment 13 Tro 2004-09-06 08:21:08 UTC
I don't know how much help this is, but here's a link to a message posted recently to GnuPG-users list, which describes how to get KMail's encryption to work: http://article.gmane.org/gmane.comp.gnu.gnupg.users/4459
Comment 14 Daniel Black (RETIRED) gentoo-dev 2004-09-08 04:51:20 UTC
gnupg-1.9.10
readelf -a /usr/bin/gpgsm  | fgrep lib
      [Requesting program interpreter: /lib/ld-linux.so.2]
 0x00000001 (NEEDED)                     Shared library: [libgcrypt.so.11]
 0x00000001 (NEEDED)                     Shared library: [libgpg-error.so.0]
 0x00000001 (NEEDED)                     Shared library: [libksba.so.8]
 0x00000001 (NEEDED)                     Shared library: [libz.so.1]
 0x00000001 (NEEDED)                     Shared library: [libc.so.6]

I need to know which package you used to get gpgsm (qpkg -f -v /usr/bin/gpgsm  ) to solve this bug. And yes I'm too lazy to try them all.

 Dmitri - good reference.
Comment 15 Tro 2004-09-08 06:02:16 UTC
oasis tro # qpkg -f -v /usr/bin/gpgsm
app-crypt/newpg-0.9.4-r1 *

oasis tro # readelf -a /usr/bin/gpgsm  | fgrep lib
      [Requesting program interpreter: /lib/ld-linux.so.2]
 0x00000001 (NEEDED)                     Shared library: [libgcrypt.so.1]
 0x00000001 (NEEDED)                     Shared library: [libksba.so.0]
 0x00000001 (NEEDED)                     Shared library: [libc.so.6]
08075e38  00008907 R_386_JUMP_SLOT   00000000   __libc_start_main
   137: 00000000   252 FUNC    GLOBAL DEFAULT  UND __libc_start_main@GLIBC_2.0 (2)
  000000: Version: 1  File: libc.so.6  Cnt: 5
Comment 16 Daniel Black (RETIRED) gentoo-dev 2004-09-08 06:30:55 UTC
Damn I get a compile error - will look another day

make[3]: Entering directory `/var/tmp/portage/newpg-0.9.4-r1/work/newpg-0.9.4/common'
gcc -DHAVE_CONFIG_H -I. -I. -I..  -I/usr/include    -march=athlon-xp -O2 -pipe -Wall -Wcast-align -Wshadow -Wstrict-prototypes -c `test -f 'errors.c' || echo './'`errors.c
gcc -DHAVE_CONFIG_H -I. -I. -I..  -I/usr/include    -march=athlon-xp -O2 -pipe -Wall -Wcast-align -Wshadow -Wstrict-prototypes -c `test -f 'maperror.c' || echo './'`maperror.c
distcc[16524] ERROR: compile on 10.10.10.10 failed
maperror.c: In function `map_gcry_err':
maperror.c:72: error: `GCRYERR_EOF' undeclared (first use in this function)
maperror.c:72: error: (Each undeclared identifier is reported only once
maperror.c:72: error: for each function it appears in.)
maperror.c:80: error: `GCRYERR_WRONG_PK_ALGO' undeclared (first use in this function)
maperror.c:81: error: `GCRYERR_INV_PK_ALGO' undeclared (first use in this function)
maperror.c:82: error: `GCRYERR_INV_MD_ALGO' undeclared (first use in this function)
maperror.c:83: error: `GCRYERR_INV_CIPHER_ALGO' undeclared (first use in this function)
maperror.c:86: error: `GCRYERR_INV_KEYLEN' undeclared (first use in this function)
maperror.c:87: error: `GCRYERR_WEAK_KEY' undeclared (first use in this function)
maperror.c:88: error: `GCRYERR_BAD_PUBLIC_KEY' undeclared (first use in this function)
maperror.c:89: error: `GCRYERR_BAD_SECRET_KEY' undeclared (first use in this function)
maperror.c:90: error: `GCRYERR_BAD_SIGNATURE' undeclared (first use in this function)
maperror.c:92: error: `GCRYERR_BAD_MPI' undeclared (first use in this function)
maperror.c:96: error: `GCRYERR_INV_ARG' undeclared (first use in this function)
maperror.c:97: error: `GCRYERR_INV_OP' undeclared (first use in this function)
maperror.c:98: error: `GCRYERR_INTERNAL' undeclared (first use in this function)
maperror.c:99: error: `GCRYERR_INV_CIPHER_MODE' undeclared (first use in this function)
maperror.c:103: error: `GCRYERR_SELFTEST' undeclared (first use in this function)
maperror.c:107: error: `GCRYERR_SEXP_INV_LEN_SPEC' undeclared (first use in this function)
maperror.c:108: error: `GCRYERR_SEXP_STRING_TOO_LONG' undeclared (first use in this function)
maperror.c:109: error: `GCRYERR_SEXP_UNMATCHED_PAREN' undeclared (first use in this function)
maperror.c:110: error: `GCRYERR_SEXP_NOT_CANONICAL' undeclared (first use in this function)
maperror.c:111: error: `GCRYERR_SEXP_BAD_CHARACTER' undeclared (first use in this function)
maperror.c:112: error: `GCRYERR_SEXP_BAD_QUOTATION' undeclared (first use in this function)
maperror.c:113: error: `GCRYERR_SEXP_ZERO_PREFIX' undeclared (first use in this function)
maperror.c:114: error: `GCRYERR_SEXP_NESTED_DH' undeclared (first use in this function)
maperror.c:115: error: `GCRYERR_SEXP_UNMATCHED_DH' undeclared (first use in this function)
maperror.c:116: error: `GCRYERR_SEXP_UNEXPECTED_PUNC' undeclared (first use in this function)
maperror.c:117: error: `GCRYERR_SEXP_BAD_HEX_CHAR' undeclared (first use in this function)
maperror.c:118: error: `GCRYERR_SEXP_ODD_HEX_NUMBERS' undeclared (first use in this function)
maperror.c:119: error: `GCRYERR_SEXP_BAD_OCT_CHAR' undeclared (first use in this function)
maperror.c:123: error: `GCRYERR_NO_MEM' undeclared (first use in this function)
maperror.c:125: error: `GCRYERR_NOT_IMPL' undeclared (first use in this function)
maperror.c:126: error: `GCRYERR_CONFLICT' undeclared (first use in this function)
maperror.c:128: error: `GCRYERR_INV_OBJ' undeclared (first use in this function)
maperror.c:129: error: `GCRYERR_TOO_SHORT' undeclared (first use in this function)
maperror.c:130: error: `GCRYERR_TOO_LARGE' undeclared (first use in this function)
maperror.c:131: error: `GCRYERR_NO_OBJ' undeclared (first use in this function)
make[3]: *** [maperror.o] Error 1
make[3]: Leaving directory `/var/tmp/portage/newpg-0.9.4-r1/work/newpg-0.9.4/common'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/var/tmp/portage/newpg-0.9.4-r1/work/newpg-0.9.4/common'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/newpg-0.9.4-r1/work/newpg-0.9.4'
make: *** [all] Error 2

!!! ERROR: app-crypt/newpg-0.9.4-r1 failed.
!!! Function src_compile, Line 37, Exitcode 2
!!! (no error message)
Comment 17 Daniel Black (RETIRED) gentoo-dev 2004-09-22 01:53:56 UTC
Fixed by the removal of newpg from gentoo. 
Comment 18 Tro 2004-09-22 06:55:28 UTC
I still get the same (original) error when compiling gpgme, though.
Comment 19 Alexander Gretencord 2004-12-13 04:43:56 UTC
Unmerge newpg. You won't have gpgsm but you'll have gpgme built.
Comment 20 Tro 2004-12-13 20:59:24 UTC
I need to remember to update these bugs. :)
I got gpgme and (my ultimate goal) KMail's PGP support to work. I had to compile my own copy of gpg-agent, though. It's not locked into memory, so it's insecure. I'll have to wait for 1.9.* versions of gnupg to become stable to get it back the way it was before.