按照TFHE的要求,其目前只能安装在 Debian/Ubuntu 上,另外TFHE采用C++编写,以Ubuntu为例,因此需要先在Ubuntu上安装好c++编译环境,此外还有编译工具cmake。
C++编译环境的安装—GCC编译器
GNU编译器集合(GCC)是C,C ++,Objective-C,Fortran,Ada,Go和D编程语言的编译器和库的集合。许多开源项目包括GNU工具和Linux内核都是用GCC编译的。
执行以下步骤安装GCC Compiler Ubuntu 18.04:
01、首先更新包列表:
sudo apt update
02、键入以下命令安装build-essential软件包:
sudo apt install build-essential
该命令将安装一堆新包,包括gcc,g ++和make。
03、要验证GCC编译器是否已成功安装,请使用gcc --version命令打印GCC版本:
gcc --version
Ubuntu 18.04存储库中可用的默认GCC版本是7.4.0:
输出
gcc (Ubuntu 7.4.0-1ubuntu1~18.04) 7.4.0
Copyright © 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
就这样。 GCC现已安装在您的系统上,您可以开始使用它。
如何使用?
假设此时的usr/local/test文件夹下有一个hello.cpp文件,采用命令:
gcc hello.c -o hello
这将在运行该命令的同一目录中创建名为hello的二进制文件。
执行hello程序:
./hello
至此,编译环境安装完成。
说明:此gcc编译环境的安装方式参考liunx公社的文章,勿喷!
原文链接https://www.linuxidc.com/Linux/2019-06/159059.htm
TFHE库的安装
01、首先安装cmake
命令:
sudo apt-get install build-essential cmake cmake-curses-gui
02、从git上拉取TFHE的源码包
#clone the tfhe repository
git clone --recurse-submodules --branch=master https://github.com/tfhe/tfhe.git
cd tfhe
03、创建一个空的构建文件夹并配置构建选项,例如使用ccmake配置工具
先进入到tfhe的源码包文件夹下,再使用命令
#configure the build options
mkdir build
cd build
ccmake ../src
注意这里的配置构建,按照自身的要求来设置
从配置工具中,您可以选择安装文件夹 ( CMAKE_INSTALL_PREFIX)。默认值为/usr/local. 编译完成后,所有库都将安装到 CMAKE_INSTALL_PREFIX/lib,头文件将安装到
CMAKE_INSTALL_PREFIX/include.
建议使用默认值。
本人在配置时,采用了自定义路径,结果安装成功,但无法引用tfhe的库文件。
一旦退出配置工具(当然选择配置和生成),您就可以构建和安装库。
#build the library
make
#install the library
make install #(with sudo if the install prefix requires root)
无报错,表示安装成功!
为了能在任意的文件夹下都能使用该库,需要做一些类似于windows中的环境变量的配置
#configure environment variables
TFHE_PREFIX=/usr/local #the prefix where you installed tfhe
export C_INCLUDE_PATH=$C_INCLUDE_PATH:$TFHE_PREFIX/include
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:$TFHE_PREFIX/include
export LIBRARY_PATH=$LIBRARY_PATH:$TFHE_PREFIX/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TFHE_PREFIX/lib
为了使这些更改持久化,可以在.bashrc或.profile文件中定义这些变量 。
在profile中定义之后,记得重启机器,或者使用命令重新加载profile文件
source ./profile
如何使用?
要在这些环境变量的终端上编译 C++ 文件,可以执行
# compile a c++ source code
g++ your-program.cpp -o your-program -ltfhe-spqlios-fma
如果有 C 源文件,则可以执行以下操作:
# compile a c source code
gcc your-program.c -o -ltfhe-spqlios-fma