【介绍】
官网:http://www.lysator.liu.se/~nisse/nettle/
【rpm安装最新版本】
下载:https://fedora.pkgs.org/29/fedora-x86_64/nettle-3.4-5.fc29.x86_64.rpm.html
下载:https://fedora.pkgs.org/29/fedora-x86_64/nettle-devel-3.4-5.fc29.x86_64.rpm.html
yum install http://download-ib01.fedoraproject.org/pub/fedora/linux/releases/29/Everything/x86_64/os/Packages/n/nettle-3.4-5.fc29.x86_64.rpm yum install http://download-ib01.fedoraproject.org/pub/fedora/linux/releases/29/Everything/x86_64/os/Packages/n/nettle-devel-3.4-5.fc29.x86_64.rpm
【源码编译安装最新版本】
参考:http://linuxfromscratch.org/blfs/view/svn/postlfs/nettle.html
要求:OpenSSL-1.0.2h
下载:http://ftp.gnu.org/gnu/nettle/
下载:https://github.com/gnutls/nettle
最新版本:nettle 3.5.1 (适用于 gnutls 3.6.9 )
wget http://ftp.gnu.org/gnu/nettle/nettle-3.5.1.tar.gz && tar -xzvf nettle-3.5.1.tar.gz && cd nettle-3.5.1 ./configure --prefix=/usr --disable-static && make && make install install -v -m755 -d /usr/share/doc/nettle-3.5.1 && install -v -m644 nettle.html /usr/share/doc/nettle-3.5.1
实证版本:nettle 3.4.1 (适用于 gnutls 3.6.8 )
wget http://ftp.gnu.org/gnu/nettle/nettle-3.4.1.tar.gz && tar -xzvf nettle-3.4.1.tar.gz && cd nettle-3.4.1 export CFLAGS="-std=c99" ./configure --prefix=/usr --disable-static && make && make install chmod -v 755 /usr/lib64/lib{hogweed,nettle}.so && install -v -m755 -d /usr/share/doc/nettle-3.4 && install -v -m644 nettle.html /usr/share/doc/nettle-3.4 export CFLAGS=""
输出:
... /usr/bin/install -c -m 644 "./$f" /usr/include/nettle ; \ ... /usr/bin/mkdir -p /usr/lib64/pkgconfig ... /usr/bin/install -c -m 644 "$f" /usr/lib64/pkgconfig ; \ ... /usr/bin/install -c -m 644 libnettle.so /usr/lib64/libnettle.so.6.4 ... /usr/bin/install -c -m 644 libhogweed.so /usr/lib64/libhogweed.so.4.4 ...
安装完成。
相关文件路径:
/usr/include/nettle/nettle-meta.h /usr/lib64/libnettle.so.6.2 /usr/lib64/libhogweed.so.4.2 /usr/lib64/pkgconfig/nettle.pc /usr/lib64/pkgconfig/hogweed.pc
查看版本:
nettle-hash --version
输出:
nettle-hash (nettle 3.4.1)
更新系统动态连接库配置:
echo /usr/lib64 >> /etc/ld.so.conf && ldconfig
环境参数:
NETTLE_CFLAGS="-I/usr/include/nettle" NETTLE_LIBS="-L/usr/lib64 -lnettle" HOGWEED_CFLAGS="-I/usr/include/nettle" HOGWEED_LIBS="-L/usr/lib64 -lhogweed"
【排错】
当 make 时报错:error: ‘for’ loop initial declarations are only allowed in C99 mode
export CFLAGS="-std=c99"
然后重新:
./configure --prefix=/usr --disable-static && make && make install
务必清除环境变量修改:
export CFLAGS=""