我的面试任务是从源代码构建一个开源软件。其中一项任务是提出从源代码构建所需的依赖项(和工具)。但是,我正在开发一个包含许多我之前安装的软件包的发行版。我只需要安装一个额外的工具来构建该软件。
我的问题是,您如何知道构建软件需要哪些先决条件。
额外:如果这有帮助(你很好奇),要构建的软件是mplayer 1.2.1
.我只需要安装yasm
.我正在构建这个arch-linux
。
我已经提交了我的回复。欢迎问心无愧地给出明确的答案!
我的批处理文件是:
## build.sh ##
#! /usr/bin/env bash
set -e
wget http://www.mplayerhq.hu/MPlayer/releases/MPlayer-1.2.1.tar.xz
tar -xvf MPlayer-1.2.1.tar.xz
cd MPlayer-1.2.1
./configure
./configure --enable-gui
make
答案1
要确定项目的依赖关系(假设它是动态链接的编译二进制文件),您可以运行ldd
编译结果。这将准确地向您显示构建(但不一定是全部)和运行软件所需的库。