当前位置: 首页 > news >正文

中山做网站建设联系电话优化什么

中山做网站建设联系电话,优化什么,南安网站定制,杭州网站制作模板参考文献 PrimiHub 本地编译启动How to install Bazel on CentOS 8 Linux or Redhat 8/7 编译启动步骤 由于历史原因,服务器是Centos8操作系统,所以源码编译异常的麻烦。特此记录如下。 采用源码编译方式可以在一步步的运行过程中对整个流程进行深刻…

参考文献

  • PrimiHub 本地编译启动
  • How to install Bazel on CentOS 8 Linux or Redhat 8/7

编译启动步骤

由于历史原因,服务器是Centos8操作系统,所以源码编译异常的麻烦。特此记录如下。

采用源码编译方式可以在一步步的运行过程中对整个流程进行深刻的理解。

1. 编译环境安装

注意Centos8和Centos7有许多区别,部分库在centos8上不支持,所以安装过程与官方文档有不同地方。

基本环境

需要 python3.8,假设python3.8已经安装成功,执行下面的安装。

sudo dnf -y install epel-release
sudo dnf -y group install "Development Tools"
sudo dnf -y install python38-devel gmp-devel libtool ninja-build git npm gcc make
sudo dnf -y --enablerepo=PowerTools install ninja-build// 查看libstdc++.so.6链接的版本,如果是默认的6.0.19则需要升级版本
ls -l /usr/lib64/libstdc++.so.6
wget https://primihub.oss-cn-beijing.aliyuncs.com/tools/libstdc.so_.6.0.26.zip
unzip libstdc.so_.6.0.26.zip
sudo mv libstdc++.so.6.0.26 /usr/lib64
sudo rm -f /usr/lib64/libstdc++.so.6
sudo ln -s /usr/lib64/libstdc++.so.6.0.26 /usr/lib64/libstdc++.so.6// Bazel 环境
sudo dnf config-manager --add-repo https://copr.fedorainfracloud.org/coprs/vbatts/bazel/repo/epel-8/vbatts-bazel-epel-8.reposudo dnf -y install bazel5cd "/usr/bin" && sudo curl -fLO https://releases.bazel.build/5.0.0/release/bazel-5.0.0-linux-x86_64 && sudo chmod +x bazel-5.0.0-linux-x86_64bazel --version

redis环境安装

sudo dnf install redis -y

然后修改 /etc/redis/redis.conf 文件中的 requirepass 字段设置 redis 密码,该密码需要和 ./config/node*.yaml 文件 redis_password 字段的设置相同。

sudo sed -i 's/# requirepass foobared/requirepass primihub/' /etc/redis.conf
// 替换默认端口
sudo sed -i 's/port 6379/port 8391/' /etc/redis.conf  

启动redis

sudo systemctl start redis

2. 编译

cd primihub
./pre_build.shmake linux_x86_64

编译过程中问题总结

问题1:提示 WORKSPACE_CN 找不到

解决方法是直接将WORKSPACE_CN中的内容贴到WORKSPACE中。

问题2:github无法访问的问题

解决方法:

  1. 使用代理
  2. 或将WORKSPACE中的github.com替换为镜像地址,比如替换为 gitclone.com/github.com。该方法由于地址不断再更新,测试后使用。

方法2设置完之后,记得清理bazel的临时文件:

bazel clean --expunge

问题3:提示某个包下载timeout

  1. 重新编译,多次尝试执行 make linux_x86_64
  2. 实在无法下载,在可以FQ的PC端下载好之后上传至错误提示的地方/home/baas/.cache/bazel/_bazel_baas/c4c8cad6a1643b7f6bba3835e75e462e/external/rules_java/temp2465207077681073091/
ERROR: /home/baas/codes/mpc/primihub/BUILD.bazel:69:10: While resolving toolchains for target //:py_main: invalid registered toolchain '@local_jdk//:runtime_toolchain_definition': no such package '@rules_java//java': java.io.IOException: Error downloading [https://github.com/bazelbuild/rules_java/archive/981f06c3d2bd10225e85209904090eb7b5fb26bd.tar.gz] to /home/baas/.cache/bazel/_bazel_baas/c4c8cad6a1643b7f6bba3835e75e462e/external/rules_java/temp2465207077681073091/981f06c3d2bd10225e85209904090eb7b5fb26bd.tar.gz: connect timed out
  1. 如果有许多包都无法下载(网络问题),可以将另外机器上的临时目录/home/baas/.cache/bazel/_bazel_baas/c4c8cad6a1643b7f6bba3835e75e462e/external拷贝到该机器上。

问题4:cannot find -lpython3.7

具体问题:

ERROR: /home/baas/codes/mpc/primihub/src/primihub/pybind_warpper/BUILD:23:17: Linking src/primihub/pybind_warpper/opt_paillier_c2py.so failed: (Exit 1): gcc failed: error executing command /usr/bin/gcc @bazel-out/k8-fastbuild/bin/src/primihub/pybind_warpper/opt_paillier_c2py.so-2.params

问题原因

  1. 之前使用python3.7编译过一次,结果导致BUILD.bazel文件中LACEHOLDER-PYTHON3.X-CONFIG被替换为了python3.7的参数。

  2. 替换脚本参考pre_build.sh的 47 行:sed -e "s|PLACEHOLDER-PYTHON3.X-CONFIG|${NEWLINE}|g" BUILD.bazel > BUILD.bazel.tmp && mv BUILD.bazel.tmp BUILD.bazel

解决方法

  1. 重新替换原始的BUILD.bazel
  2. 或将BUILD.bazel文件中 LINK_PYTHON_OPTS = xxxxxx替换为原始的LINK_PYTHON_OPTS = PLACEHOLDER-PYTHON3.X-CONFIG
  3. 完成步骤1或步骤2之后,重新执行 ./pre_build.sh

问题5:requires dynamic R_X86_64_32 reloc which may overflow at runtime; recompile with -fPIC

具体问题列表

/usr/bin/ld.gold: error: /usr/local/lib/python3.8/config-3.8-x86_64-linux-gnu/libpython3.8.a(abstract.o): requires dynamic R_X86_64_32 reloc which may overflow at runtime; recompile with -fPIC
/usr/bin/ld.gold: error: /usr/local/lib/python3.8/config-3.8-x86_64-linux-gnu/libpython3.8.a(boolobject.o): requires unsupported dynamic reloc 11; recompile with -fPIC
/usr/bin/ld.gold: error: /usr/local/lib/python3.8/config-3.8-x86_64-linux-gnu/libpython3.8.a(bytearrayobject.o): requires dynamic R_X86_64_32 reloc against '_Py_NoneStruct' which may overflow at runtime; recompile with -fPIC
......

解决方法:使用-fPIC重新编译Python3.8后安装

cd /opt/Python-3.8.16 // 我的安装路径
sudo ./configure --enable-optimizations CFLAGS="-fPIC"
sudo make clean
sudo make altinstall

编译完成之后,重新编译primihub:make linux_x86_64

3. 接入数据

查看start_server.sh文件中,启动各个节点的配置文件在config目录下:

- config
|-- node0.yaml
|-- node1.yaml
|-- node2.yaml

配置文件中datasets字段设置了其对应的数据集,datasets 的字段定义如下:

  • description:数据集的唯一可读性名称
  • model: 数据源类型,例子中是 csv
  • source: 数据源在 Node 运行机器上的绝对路径

node0.yaml配置如下:

# load datasets
datasets:# ABY3 LR test case datasets- description: "train_party_0"model: "csv"source: "data/train_party_0.csv"- description: "test_party_0"model: "csv"source: "data/test_party_0.csv"- description: "breast_0"model: "csv"source: "data/FL/wisconsin.data"# MNIST test case datasets- description: "test_party_0_self"model: "csv"source: "data/falcon/dataset/MNIST/input_0"- description: "test_party_0_next"model: "csv"source: "data/falcon/dataset/MNIST/input_1"# FL homo lr test case datasets- description: "homo_lr_data"model: "csv"source: "data/FL/homo_lr/breast_cancer.csv"- description: "train_homo_lr"model: "csv"source: "data/FL/homo_lr/train_breast_cancer.csv"# PSI test case datasets for sqlite database- description: "psi_client_data_db"model: "sqlite"table_name: "psi_client_data"source: "data/client_e.db3"# Dataset authorization# authorization:#   - node:#     task:# PSI test caset datasets- description: "psi_client_data"model: "csv"source: "data/client_e.csv"# use mysql table as dataset#- description: "psi_client"#  model: "mysql"#  host: "172.21.1.62"#  port: 3306#  username: "root"#  password: "primihub"#  database: "default"#  dbName: "psi"#  tableName: "psi_client"#  query_index: "ID"  ## [[optional]]

4. 运行服务节点

其他配置信息修改见 config/node*.yaml文件。

在代码根目录下执行如下命令:

sed -i /PYTHONPATH/d start_server.sh
bash start_server.sh

将启动三个服务节点,其相关日志分别保存在log_node0, log_node1, log_node2中

5. 创建任务

任务运行参考官方文档即可。

模板任务包括:

  • 联邦学习(FL)任务
  • 隐私求教(PSI)任务
  • 匿踪查询(PIR)任务
  • 可信执行环境(TEE)任务
http://www.hkea.cn/news/130731/

相关文章:

  • php 深圳 电子商务网站开发seo优化好做吗
  • 网站建设开发技术天津济南网站设计
  • 信息公开网站建设网店推广分为哪几种类型
  • 南皮网站建设价格seo搜索引擎优化方式
  • 网上购物系统的设计与实现论文长沙seo优化公司
  • 风景旅游网页制作素材seo推广灰色词
  • 网站制作网站建设网页设计页面
  • 网站开发兼容极速字体颜色推荐seo平台优化服务
  • wordpress建站流量齐三seo顾问
  • 怎么看一个网站做没做竞价公司网站怎么建立
  • seo神马网站推广器怎么做神马搜索排名seo
  • 桂林漓江景区网站优化推广排名
  • 网站首页模板设计图网络推广平台代理
  • 一女被多男做的视频网站搜全网的浏览器
  • 建设公司网站费用电脑培训课程
  • 电子商务网站建设课后题女生学网络营销这个专业好吗
  • 新疆兵团建设网站商丘seo优化
  • 手机微信网站怎么做的软文发布网站
  • 传奇手游发布网站seo排名优化方式
  • 网站建设明细报价外链信息
  • 哪个网站做漫画可以有钱营销型网站设计
  • wordpress在线视频直播湖南正规关键词优化
  • 花木企业网站源码全网推广的方式
  • 网站开发商怎么关闭图片显示站长之家新网址
  • 灯饰如何做网站推广纯手工seo公司
  • 晋中公司做网站seo站长之家
  • 到哪里找人做网站优化seo培训班
  • 深圳网站开发哪家专业搜索到的相关信息
  • 湖北武汉网站制作引擎搜索下载
  • 做网站登录的需求分析seo点击排名工具有用吗