ソースからオープンソースソフトウェアを構築するための面接タスクがありました。タスクの1つは、ソースからビルドするために必要な依存関係(およびツール)を考え出すことでした。ただし、以前にインストールした多くのパッケージを使用してディストリビューションを作成しています。ソフトウェアをビルドするために追加のツールを1つインストールするだけで済みました。
私の質問は、ソフトウェアをビルドするために必要な前提条件をどのようにして知るかです。
追加:このヘルプ(興味がある場合)の場合、ビルドするソフトウェアは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
プロジェクトの依存関係を判別するには(動的にリンクされたコンパイル済みバイナリであると想定)、コンパイル済みの結果に対してldd
を実行できます。これにより、ソフトウェアをビルドして実行するために必要なライブラリ(必ずしもすべてではない)が正確に表示されます。