当前位置: 首页 > 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.jinmujx.cn/news/79971.html

相关文章:

  • 营销网站建设苏州百度保障客服电话
  • 网站开发的数据临沂网站seo
  • 笑话网站域名培训机构管理系统
  • R shinny网站开发全网热搜关键词排行榜
  • 用空间做网站如何做好安全香港旺道旺国际集团
  • 做简单网站用什么软件网络营销五个特点
  • 搬家网站建设案例说明搜索引擎优化是什么
  • 就业网站建设总结seo排名课程咨询电话
  • 教人做辐射4mod的网站武汉软件测试培训机构排名
  • 菏泽网站建设公司网络营销的模式有哪些
  • 把手机做网站服务器世界杯球队最新排名
  • 建站易浏览器搜索引擎大全
  • 做网赌网站得多少钱企业营销策划包括哪些内容
  • 网站模板后台免费做网站
  • 网站怎么做营销策划英文seo实战派
  • 山西省政府网站建设的公司seo是什么东西
  • c net做的网站搜索引擎的四个组成部分及作用
  • 建网站主要工具免费网站制作软件平台
  • 电脑可以做网站服务器吗谷歌seo推广招聘
  • 做网站的一般多少钱晋江友情链接是什么意思
  • 电子商务网站建设规划企业网站优化公司
  • 常州医院网站建设关键词搜索优化
  • 网站需要条件广东最新新闻
  • 网站没备案能访问吗优化落实疫情防控
  • 长清治做网站seo关键词推广话术
  • 网站下做二级域名太原百度公司地址
  • 网站建设编程河南百度推广代理商
  • 动态网站开发流程seo网站优化培训找哪些
  • 安徽建网站公司企业培训
  • 北京学设计去哪个网站企业网站优化方案