Summary: | app-crypt/newpg-0.9.4-r1 (/usr/bin/gpgsm) problems with libgcrypt and libksba | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Tro <troworld> |
Component: | New packages | Assignee: | Crypto team [DISABLED] <crypto+disabled> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | dragonheart, greg_g, lars.gold, medius, schaedpq |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Tro
2004-08-20 20:34:56 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" 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 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. 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. 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. Using libgcrypt-1.1.12 would break KMail's Aegypten support, no? 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. Sorry for the flood. :/ gpgme links fine to libksba-0.4.7, but not to any version higher than that. 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. ;-) 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. 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)... 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 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 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. 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 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) Fixed by the removal of newpg from gentoo. I still get the same (original) error when compiling gpgme, though. Unmerge newpg. You won't have gpgsm but you'll have gpgme built. 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. |