Wireshark-dev: Re: [Wireshark-dev] Is it possible to update the version of gcrypt?
From: Gerald Combs <gerald@xxxxxxxxxxxxx>
Date: Mon, 31 Mar 2014 11:02:12 -0700
On 3/30/14 10:00 AM, Pascal Quantin wrote:
> 2014-01-08 0:25 GMT+01:00 Pascal Quantin <pascal.quantin@xxxxxxxxx
> <mailto:pascal.quantin@xxxxxxxxx>>:

>     Gerald, according to the README.Wireshark file found in
>     gnutls-2.12.18-1.2-win32ws archive, you manually modified the
>     OpenSUSE packages:
>       - Definition files were created using "pexports".
>       - Import libraries were created using the MSVC++ "lib" utility
>     using the "make-lib.sh" script.
>     I do not know where to find those utilities neither how to use them.

"pexports" is its own package in OpenSUSE, although it looks like
"gendef" (or even libtool itself) might be the preferred way to generate
.def files nowadays.

"make-lib.sh" is in the "bin" directory in
gnutls-2.12.18-1.2-win32ws.zip. It's just a series of "lib" commands, e.g.

lib /machine:x86 /def:libgcrypt-11.def /name:libgcrypt-11.dll \
  /out:libgcrypt-11.lib


>     Maybe those missing steps on my side can explain my issue. Would you
>     be OK if we to try to upgrade those libraries? If yes, could you help?
> 
>     2 small things I noted:
>     - libgcrypt-11.dll/lib is now renamed libgcrypt-20.dll/lib. It
>     impacts config.nmake, Makefile.nmake,
>     cmake\modules\FindGCRYPT.cmake, packaging\nsis\wireshark.nsi and
>     ui\qt\QtShark.pro
>     - the openSUSE libraries require an extra libgcc_s_sjlj-1.dll file
>     found in mingw32-libgcc-4.8.2-1.2.noarch.rpm archive (my own
>     compiled libraries did not need it but I failed to compile a win64
>     variant so far).

It looks like that's an exception handling library which can be linked
statically:

http://stackoverflow.com/questions/12921911/mingw-libgcc-s-sjlj-1-dll-is-missing

> 
> 
> Hi all,
> 
> I restarted playing with the libraries provided by OpenSUSE this weekend
> and was able to get libgcrypt 1.6.0 working on my Windows machine.
> The remaining problem is that we should either recompile GnuTLS 2.12.18
> with this newer libgcrypt (Im' not willing to do so), or upgrade GnuTLS
> to the version 3.1.22 provided by OpenSUSE.
> We deactivated the use of GnuTLS 3.X in the past due to their move to
> GPL3.0. But according to their website and the header files, the core
> library is still LGPL 2.1+. Would it make it usable for us?

GnuTLS switched to LGPLv3+ in version 3.0, then back to LGPLv2.1+ in
version 3.1.10. We need switch to a newer 3.x release at some point
since the 2.12 branch is no longer maintained as far as I know. However,
we need to be careful with the version of GMP that we ship since it
switched to LGPLv3+:

https://gmplib.org/list-archives/gmp-devel/2013-August/003357.html