私が使用しているデバイスは、32ビットアーキテクチャでYoco Linuxを実行します。パッケージマネージャやコンパイラを提供していないため、コンパイルできません。代わりに、Ubuntu仮想マシンを使用して必要なものをコンパイルし、デバイスにコピーしてインストールします。
たとえば、私がPython 3.4で行ったことは、次のように簡単でした。
./configure
make
Ubuntu仮想マシンと
make install
Yoctoを実行しているデバイスで。
しかし、今はいくつかの問題に直面していますunixODBC
。正常./configure
にmake
完了しました。私が知らなかったのは、gcc
コンパイラも必要make install
なため、デバイスで使用できないということでした。素直に私はUbuntuで完全にコンパイルされたライブラリをデバイスにコピーできると思いましたが、うまくいきません。すべての構成が完了していません。
make
私の質問は:Ubuntuで必要なものをすべてビルドしてデバイスにコピーし、unixODBCインストールに組み込まれている設定ルーチンを起動するために必要な引数やその他のオプションがありますか?
私はMakefile
手がかりを見つけるために周りを見回しましたが、運がありませんでした。コンパイルの成功後にどの構成が実行されるかを把握することも困難です。
答え1
ソースからプログラムをインストールするときは、通常このDESTDIR
フラグを使用してこれを達成できます。
- 新しいディレクトリを作成します。
mkdir /tmp/uodbcinst
- 取付ける:
make DESTDIR=/tmp/uodbcinst/ install
- 結果のアーカイブ
tar -cpzf ~/uodbcinst.tar.gz -C /tmp/uodbcinst .
- 他のシステムから結果を抽出する
tar -C / -xf uodbcinst.tar.gz
免責事項:このコマンドをテストしていません。構文を再確認してください。ルートディレクトリにタールボールを抽出することは非常に危険です。
生成されたプログラムが代わりにフォルダ内の設定ファイルを見つけるように実行時に--sysconfdir
このオプションを調整することを検討することもできます。./configure
/etc/
/usr/local/etc
このアプローチは、デプロイメントマネージャがパッケージマネージャ用のペイロードを生成する方法と似ています。よりArch Linuxの例。