1libgpg-error 2============ 3 4This is a library that defines common error values for all GnuPG 5components. Among these are GPG, GPGSM, GPGME, GPG-Agent, libgcrypt, 6Libksba, DirMngr, Pinentry, SmartCard Daemon and more. 7 8libgpg-error is free software; you can redistribute it and/or modify 9it under the terms of the GNU Lesser General Public License as 10published by the Free Software Foundation; either version 2.1 of the 11License, or (at your option) any later version. See the file 12COPYING.LIB for copyright and warranty information. 13 14However, some files (for example src/mkerrnos.awk) used in the build 15process of the library are covered by a different license. Please see 16the header of these files and the file COPYING for copyright and 17warranty information on these files. A special exception in the 18copyright license of these files makes sure that the output in the 19build process, which is used in libgpg-error, is not affected by the 20GPL. 21 22 23Installation 24------------ 25 26Please read the file INSTALL! 27 28Here is a quick summary: 29 301) Check that you have unmodified sources. You can find instructions 31 how to verify the sources below. Don't skip this - it is an 32 important step! 33 342) Unpack the archive. With GNU tar you can do it this way: 35 "tar xjvf libgpg-error-x.y.tar.bz2" 36 373) "cd libgpg-error-x.y" 38 394) "./configure" 40 415) "make" 42 436) "make install" 44 45 46How to Verify the Source 47------------------------ 48 49In order to check that the version of libgpg-error which you are going 50to install is an original and unmodified copy of the original, you can 51do it in one of the following ways: 52 53a) If you already have a trusted version of GnuPG installed, you can 54 simply check the supplied signature: 55 56 $ gpg --verify libgpg-error-x.y.tar.bz2.sig 57 58 This checks that the detached signature libgpg-error-x.y.tar.bz2.sig 59 is indeed a a signature of libgpg-error-x.y.tar.bz2. 60 61 Please note that you have to use an old version of GnuPG to do all 62 this stuff. *Never* use the version which was built using the 63 library you are trying to verify! 64 65b) If you don't have any a trusted version of GnuPG, you can attempt 66 to verify the SHA1 checksum, using a trusted version of the sha1sum 67 program: 68 69 $ sha1sum libgpg-error-x.y.tar.bz2 70 71 This should yield an output _similar_ to this: 72 73 610064e5b77700f5771c8fde2691c4365e1ca100 libgpg-error-x.y.tar.bz2 74 75 Now check that this checksum is _exactly_ the same as the one 76 published via the announcement list and probably via Usenet. 77 78 79Hints 80----- 81 82To build for Windows you you may use the convenience command: 83 84 ./autogen.sh --build-w32 85 86which runs configure with suitable options. For WindowsCE the command 87is: 88 89 ./autogen.sh --build-w32ce 90 91 92Known Problems 93-------------- 94 95On Windows, WSA Error Codes can be provided as system error codes and 96will be transparently converted to the corresponding gpg error codes. 97There are two problems with this support: 98 99* Not all error codes corresponding to WSA Error codes have a detailed 100 description when printed with gpg_strerror. Some will default to 101 "Unknown error" for pretty printing. For example, WSAEHOSTDOWN will 102 be translated to GPG_ERR_EHOSTDOWN, but there is no corresponding 103 EHOSTDOWN in Windows and thus gpg_strerror will default to "Unknown 104 error" as printed by the system's strerror function for the argument 105 WSAEHOSTDOWN. (This could be fixed by adding our own error strings 106 replacing or extending the system error strings, including their 107 translations). 108 109* The translation to a gpg error code and back to a system error code 110 in some cases does not preserve information. For example, the error code 111 WSAEACCES translates to GPG_ERR_EACCES, which translates back to 112 EACCES. 113 114Any WSA Error code has either the first problem or the second (but not 115both), depending on if there is a corresponding Windows error code. 116