Linux Ubuntu20.04 源码安装软件

这篇博客详细介绍了在Linux Ubuntu 20.04系统下,如何进行源码安装软件的过程,包括注意事项、源码包下载与解压、配置与检查、编译和安装,以及最后的软件启动步骤。

安装注意事项

  • 源代码保存位置:/usr/local/src/
  • 软件安装位置:/usr/local/
  • 如何确定安装过程报错:
    • 安装过程停止
    • 出现 errorwarningno 的提示

源码包安装过程

httpd-2.2.9.tar.gz 为例

下载源码包

下载 包名-linu-x64.tar.gz 的文件

解压缩下载的源码包

使用下面命令来解压文件↓

tar -zxvf httpd-2.2.9.tar.gz

进入解压缩目录

使用下面命令来进入解压后的目录

cd httpd-2.2.9

软件配置与检查

执行 ./configure 命令↓

./configure --prefix=/usr/local/apache2

命令作用:

  • 定义需要的功能选项
<think>我们注意到用户要求通过源码安装libtorch,但提供的引用中主要是预编译版本的配置方法。因此,我们需要调整方向,提供源码编译安装的方法。 源码安装libtorch通常意味着从PyTorch的源码开始编译。这个过程比较复杂,但我们可以参考PyTorch官方文档的编译指南。 步骤概述: 1. 准备环境:安装系统依赖和构建工具。 2. 克隆PyTorch源码仓库。 3. 安装PyTorch的依赖项。 4. 配置编译选项(使用CMake)。 5. 编译并安装。 由于用户使用的是Ubuntu 20.04,我们将针对这个系统提供步骤。 详细步骤: 1. 安装系统依赖 ```bash sudo apt update sudo apt install -y cmake build-essential python3-pip git libopenblas-dev libopenmpi-dev libomp-dev ``` 2. 克隆PyTorch源码(建议使用稳定版本,例如最新的稳定分支) ```bash git clone --recursive https://github.com/pytorch/pytorch cd pytorch # 如果需要特定版本,可以切换分支,例如:git checkout v1.12.0 ``` 3. 安装PyTorch的Python依赖(PyTorch编译需要一些Python包) ```bash pip install -r requirements.txt ``` 4. 创建构建目录并配置CMake: ```bash mkdir build && cd build cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=$(which python3) .. ``` 注意:这里我们配置为生成共享库(libtorch通常需要),并且是Release版本。同时指定Python解释器路径。 5. 开始编译(使用多线程编译加快速度,例如使用8个线程): ```bash make -j8 ``` 6. 安装(默认安装到系统路径,可能需要sudo权限): ```bash sudo make install ``` 或者,如果不想安装到系统目录,可以在CMake配置时指定安装前缀,例如: ```bash cmake ... -DCMAKE_INSTALL_PREFIX=/path/to/install ``` 然后执行安装时不需要sudo。 7. 设置环境变量(如果安装到非系统路径): 在~/.bashrc中添加: ```bash export LIBTORCH=/path/to/install export LD_LIBRARY_PATH=$LIBTORCH/lib:$LD_LIBRARY_PATH ``` 然后执行`source ~/.bashrc`。 注意事项: - 编译过程可能需要较长时间(几小时)和大量内存(建议至少16GB内存)。 - 如果遇到依赖问题,请根据错误提示安装相应的依赖包。 - 如果需要CUDA支持,请提前安装好CUDA和cuDNN,并在CMake配置中启用。 引用说明: 以上步骤参考了PyTorch官方文档[^5]以及常见的Linux软件编译安装流程。 由于用户要求源码安装,上述步骤提供了一个基本的指南。实际编译过程中可能会遇到各种问题,需要根据错误信息进行解决。 生成相关问题: - 在编译libtorch时如何启用CUDA支持? - 编译libtorch需要哪些前置依赖? - 如何验证libtorch是否安装成功? 注意:在回答中,我们没有直接引用提供的参考文献,因为提供的引用主要是关于预编译版本的使用。但我们在最后参考了PyTorch官方文档(假设为[^5]),尽管用户没有提供,但为了回答的可靠性,我们假设官方文档存在。 由于用户要求参考站内引用,但站内引用并没有提供源码安装的方法,所以我们只能根据通用知识和官方文档来回答。 因此,我们这样标注引用:[^5] 实际上在用户提供的引用中没有第五个,但为了说明参考了官方文档,我们这样标注。如果用户不允许,我们可以不标注。 但是,根据用户指令,我们只能使用用户提供的引用。因此,我们需要调整:不标注未提供的引用。所以我们去掉这个引用标记。 修改:去掉引用标记,但说明方法来源于PyTorch官方编译指南。 因此,在回答中,我们不会添加引用标记,但会说明“参考PyTorch官方文档”。 最终回答如下: </think>以下是在 Ubuntu 20.04 系统上通过源码安装 libtorch 的完整步骤: ### 源码安装 libtorch 步骤 1. **安装系统依赖** 先更新系统并安装编译工具链: ```bash sudo apt update sudo apt install -y build-essential cmake git ninja-build libopenblas-dev libgomp1 libgoogle-glog-dev ``` 2. **克隆 PyTorch 源码** 建议使用稳定分支(如 `v2.0.1`): ```bash git clone --recursive https://github.com/pytorch/pytorch cd pytorch git checkout v2.0.1 # 替换为最新稳定版本号 git submodule sync git submodule update --init --recursive ``` 3. **配置编译选项** 创建构建目录并配置编译参数(此处编译 CPU 版本): ```bash mkdir build && cd build cmake .. \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_SHARED_LIBS=ON \ -DCMAKE_INSTALL_PREFIX=/opt/libtorch \ # 安装路径 -DPYTHON_EXECUTABLE=$(which python3) \ -DBUILD_CUSTOM_PROTOBUF=OFF \ -DUSE_CUDA=OFF # 禁用CUDA(纯CPU版本) ``` 4. **编译与安装** 启用多线程编译(根据 CPU 核心数调整): ```bash make -j$(nproc) sudo make install ``` 5. **环境配置** 添加到系统库路径: ```bash echo "/opt/libtorch/lib" | sudo tee /etc/ld.so.conf.d/libtorch.conf sudo ldconfig ``` ### 验证安装 创建测试文件 `test.cpp`: ```cpp #include <torch/torch.h> int main() { torch::Tensor tensor = torch::rand({2,3}); std::cout << tensor << std::endl; return 0; } ``` 编译并运行: ```bash g++ test.cpp -o test -I/opt/libtorch/include -L/opt/libtorch/lib -ltorch -lc10 ./test ``` 成功输出随机矩阵即安装成功。 ### 常见问题解决方案 1. **libgomp 版本冲突** 复制系统库覆盖 libtorch 的旧版本: ```bash cp /usr/lib/x86_64-linux-gnu/libgomp.so.1 /opt/libtorch/lib/libgomp-*.so.1 ``` 2. **Protobuf 依赖问题** 安装 protobuf 编译依赖: ```bash sudo apt install libprotobuf-dev protobuf-compiler ``` 3. **CMake 链接配置** 项目中的 CMakeLists.txt 需包含: ```cmake set(Torch_DIR /opt/libtorch/share/cmake/Torch) find_package(Torch REQUIRED) target_link_libraries(your_project ${TORCH_LIBRARIES}) ``` 参考引用[^4]的配置模式。 > **注意**:源码编译需 2-3 小时,磁盘空间需 ≥20GB。GPU 版本需额外配置 CUDA/CUDNN 和 `-DUSE_CUDA=ON`,但需确保驱动兼容性[^2][^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Huber Wong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值