タグ付けされた質問 「compiling」

コンパイルは、ソースコードを特定のコンピュータアーキテクチャ用のバイトコードに変換するプロセスです。


1
./configureの後にプログラムがインストールされる場所
以下を使用してソフトウェアをインストールしています wget <URL package.tar.gz> tar xzvf package.tar.gr ./configure package cd package make make install 私の問題は、パッケージが作業ディレクトリにインストールされていないことです。デフォルトではどこにインストールされていますか?ファイルをインストールする場所の詳細をどこに追加すればよいですか?

1
デフォルトでマルチスレッドmakeを使用しますか?
コマンドラインにmake追加-j6するだけでなく、システム全体でマルチスレッド(私のシステムでは6スレッドが理想的)を使用する方法はありますか?つまり、実行するとmake、実行していた場合と同じように動作しmake -j6ますか?AURからpacaur(Arch を使用して)多くのパッケージをインストールし、makeコマンドを直接実行しないため、この機能が必要です。

1
make-kpkgとmake deb-pkgの違い
私は間の正確な違いを知っているしたいmake-kpkgとしmake deb-pkg。この質問はほとんど同じことを尋ねますが、満足のいく答えはありません。以前は使用していた make -j `getconf _NPROCESSORS_ONLN` deb-pkg カーネルソースツリーをコンパイルし、header + kernel-image debianパッケージを生成します。第2世代Intel i3 CPUでコンパイルするのに1時間以上かかるため、非常に遅いことがわかりました。次に、以前に使用した方法make-kpkgよりも5〜6倍速い別の方法を見つけましたdeb-pkg。私が実行するコード fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers -j `getconf _NPROCESSORS_ONLN` また、debパッケージをコンパイルして生成するのに必要な時間はわずか10〜15分です。どちらのコンパイルプロセスでも、ジョブが分割されるため_NPROCESSORS_ONLN、この違いは何ですか?前もって感謝します。

2
追加のファイルをAndroid ROMのルートディレクトリにコンパイルする方法
Cyanogenmod ROMのカーネルソースコードに基づいてカスタムAndroidカーネルを構築しています。OSのルートフォルダーにフォルダーとファイルを追加したい(/)。たとえば、カーネルをコンパイルした後、toto(absolute path = /toto)という名前の追加のフォルダーを作成します。 どのファイルを編集する必要があるのか​​、そしてどのように作業するのか、私にはまったくわかりません。 注:ファイルをに追加したいAndroidユーザー(ROM開発者ではない)の場合は、代わりに関連するAndroid.SEの質問rootfsを参照してください。

4
Raspberry Piでクロスコンパイルされたプログラムを実行すると、「そのようなファイルやディレクトリはありません」
最近Raspberry Piを購入しました。私はすでにそれを構成しており、自分のデスクトップ(amd64)にarm用のクロスコンパイラーをインストールしています。単純な「hello world」プログラムをコンパイルしてから、それをデスクトップからPiにでコピーしましたscp ./hello david@192.168.1.33:~/hello。私のPiにログインした後、実行するls -l helloと通常の応答が返されます。 -rwxr-xr-x 1 david david 6774 Nov 16 18:08 hello しかし、それを実行しようとすると、次のようになります。 david@raspberry-pi:~$ ./hello -bash: ./hello: No such file or directory david@raspberry-pi:~$ file hello hello: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=0x6a926b4968b3e1a2118eeb6e656db3d21c73cf10, not stripped david@raspberry-pi:~$ …

2
「linux-headers-3.7.5-1-ARCH」はどのパッケージを意味しますか?
私は、自分のディストリビューションについていくつかの先入観を持っていると思われるクローズドソースのソフトウェアインストーラーをデバッグしています。が見つからないため、インストールが中止されますapt-get。実行しようとするコマンドは次のとおりです。 apt-get -y -q install linux-headers-3.7.5-1-ARCH 「パッケージ名」は/usr/src、唯一のエントリがであるから来ていると思いますlinux-3.7.5-1-ARCH。pacmanでどのパッケージをインストールする必要があるかについて、知識のある推測はありますか? ヘッダーは、おそらくカスタムハードウェアのドライバーをコンパイルするために使用されます。 インストールログからの関連テキストは次のとおりです。 注:Linuxドライバーは、Linux OSが現在実行しているカーネルのカーネルソースに対してビルドする必要があります。このスクリプトはこのタスクを自動化します。 注:Linux OSカーネルヘッダーソースファイルがインストールされている必要があります。Jungo Debug Monitorを実行する予定の場合は、「compat-libstdc ++」と「libpng3」もインストールする必要がある場合があります。 Linuxは現在次のカーネルバージョンを実行しています: 3.7.5-1-ARCH

1
更新時にモジュールのパッチを自動的に適用してカーネルをコンパイルしますか?
最近drivers/bluetooth/btusb.c、Bluetoothデバイスとの互換性を有効にするために、1行のパッチを適用しました。ただし、カーネルアップグレードを取得するたびに、誰かがバックポートするまでパッチは失われます(これはありそうもありません)。スクリプトを実行し、新しいカーネルのアップグレードを自動的にパッチする方法はありますか? DKMSは良い解決策のようですが、設定方法がわかりません。更新を取得するたびにLinuxカーネル全体を再コンパイルしたくありませんが、そのパッチをbtusbモジュールに適用し、再コンパイルして、更新のたびにカーネルに挿入します。から取得したソースを使用してこれを行うにはどうすればよいapt-get source linux-source-3.2.0ですか?どのファイルをコピーする必要がありますか?重要なmake呼び出しはですがmake M=drivers/bluetooth modules、これは最初に構築される他のカーネルユーティリティに依存します。このためにDKMSモジュールをアセンブルするにはどうすればよいですか? パッチの適用方法の詳細については、Ask Ubuntuを参照してください。

3
インストール済みのアプリケーションに対するソースからのコンパイルの影響
私はUbuntu 12.04を使用しています。たとえばpackage x、バージョン1.7で(すべての依存関係を含む)リポジトリからインストールしたが、バージョン1.8でのみ利用できる機能が必要なため、ソースtarをダウンロードしてコンパイルするとします。 ./configure make make install これは既存の1.7バイナリを上書きしますか? 既存のバイナリが上書きされた場合、パッケージマネージャーは新しいバージョン(1.8)を反映package xし、将来パッケージマネージャーによって更新される可能性がありますか? package y依存関係がある場合package x 1.8-それは満たされますか? 私はこれを説明する良い情報源をオンラインで見つけようと努めてきました。何か提案があれば教えてください。

2
デフォルトの構成でカーネルをコンパイルする
仮定: プラットフォーム: anisha@linux-dopx:~/> uname -a Linux linux-dopx 2.6.34-12-desktop #1 SMP PREEMPT 2010-06-29 02:39:08 +0200 x86_64 x86_64 x86_64 GNU/Linux ダウンロードしたカーネルは、kernel.orgからの最新の安定版です。 のオプションはデフォルトのままにしておきます(変更しません)make menuconfig。 単純に入力しmake、make install、grub-update、および再起動します。 さて、これらの仮定に従って、エラーのない再起動を確実にするために、ファイルに追加の変更を加えるか、いくつかの追加のドライバーをコンパイルする必要がありますか? はいの場合、それらの変更は何に依存していますか? 編集1: anisha@linux-dopx:/> sudo /sbin/lspci -n 00:00.0 0600: 8086:29c0 (rev 10) 00:02.0 0300: 8086:29c2 (rev 10) 00:1b.0 0403: 8086:27d8 (rev 01) 00:1c.0 0604: 8086:27d0 (rev 01) …

1
LinuxカーネルのインストールでのGrubbyの致命的なエラー
Linuxカーネル2.6.24.6をソースから(問題なく)コンパイルし、インストールしようとしました。具体的には、Linuxソースコードを解凍した後、 make && make modules コンパイルします。その後、いくつかの構成の後、私は単に使用しました sudo make modules_install install 新しくビルドされたバイナリをインストールします。このプロセス中に、ファイルの検索に関するエラーが発生しました/sys/class/net/eth0/device/bus。また、汚れた致命的なエラーをスローします。詳細なエラースタックは次のとおりです。 sh /mnt/factor/myProj3/linux-2.6.24.6/arch/x86/boot/install.sh 2.6.24.6 arch/x86/boot/bzImage System.map "/boot" unable to stat /sys/class/net/eth0/device/bus: No such file or directory WARNING: No module xenblk found for kernel 2.6.24.6, continuing anyway grubby fatal error: unable to find a suitable template ソースコードは大丈夫です。この致命的なエラーの原因は何ですか?修正しないとLinuxをインストールできません。お知らせ下さい。

2
ソースからツール/ライブラリを構築する利点は何ですか?
ソースから構築することで、何かメリットがありますか?コードはハードウェアアーキテクチャに最適化されていますか?一般的に最適化されていますか? なぜ誰かがAPT / yumのようなパッケージ管理システムを使用するのではなく、ソースからビルドすることを選ぶのですか?何らかの最適化による利益がある場合、それがパッケージ管理システムの利点を上回るのはいつですか?

3
クリーンを実行せずに(Debian)Apacheをデビルドする方法
DebianでApacheモジュールを編集しようとしています(厳密には、Raspbian Jessie-Liteでこれを行っています)。Debianのビルド手順に広く従っています: $ mkdir -p ~/src/debian; cd ~/src/debian $ apt-get source apache2-bin $ cd apache2-2.4.10 $ debuild -b -uc -us そして、ビルドプロセスは、古いオリジナルのPiで約1時間半かかります。大丈夫です。一度!しかし、ビルドプロセスはa make cleanを実行しているため、1つのmod _ *。cファイルを少し編集した後、全体を再構築したいので、開発が少し遅くなります。 コマンドに追加しようとし-dcましたdebuildが、何も作成されませんでした。ターゲットのmod _ *。soファイルを削除して、再構築するよう「奨励」しましたが、それでもできませんでした。 更新2016-08-21:debuildコマンドに-ncを追加しても、モジュールは再コンパイルされません。そのコマンドからの出力は次のとおりです。 $ debuild -b -uc -us -nc dpkg-buildpackage -rfakeroot -D -us -uc -b -nc dpkg-buildpackage: source package apache2 dpkg-buildpackage: source version 2.4.10-10+deb8u5 …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.