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

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

4
FreeBSDがGCCを廃止してClang / LLVMを支持するのはなぜですか?
それで、私はネットサーフィンしていて、この記事につまずきました。基本的に、バージョン10以降のFreeBSDでは、Clang / LLVMを優先してGCCを廃止する予定です。 私がこれまでネットで見てきたことから、Clang / LLVMはかなり野心的なプロジェクトですが、信頼性の観点からはGCCに匹敵するものではありません。 FreeBSDがコンパイラインフラストラクチャとしてLLVMを選択している技術的な理由はありますか、それとも全体の問題は永遠のGNU / GPL対BSDライセンスに要約されていますか? この質問には(何らかの形で)FreeBSDでのGCCの使用に関する関連情報が含まれています
241 freebsd  compiling  gcc  c  llvm 



4
実行可能ファイルは、実行時に共有オブジェクトをどこで検索しますか?
リンク/コンパイル時に共有オブジェクトを含める定義方法を理解しています。ただし、*.so実行時に実行可能ファイルが共有オブジェクト(ライブラリ)をどのように検索するのか、まだ疑問に思います。 たとえば、私のアプリa.outはlib.soライブラリで定義された関数を呼び出します。コンパイル後lib.so、の新しいディレクトリに移動し$HOMEます。 a.outそこに探しに行くと言うことができますか?


8
ソースからtmuxをビルドするときにgccがlibeventを見つけられないのはなぜですか?
ルートアクセス権がないマシンにtmuxをインストールしたい。私はすでにlibeventをコンパイルし、それをインストール$HOME/.bin-libeventし、今私はtmuxのをコンパイルしたいのですが、いつもで終わる構成するconfigure: error: "libevent not found"私はlibeventディレクトリを指すようにしようとしたにも関わらず、Makefile.am修正することにより、LDFLAGSおよびCPPFLAGS、しかし何も動いていないようにみえ。 libeventのホームディレクトリを検索するようにシステムに指示するにはどうすればよいですか?

4
Cコンパイラをゼロからコンパイルし、Unix / Linuxをゼロからコンパイルする方法
アメリカ/イギリス以外の大規模なサービス組織で働いているとしましょう。UNIXサーバーとLinuxサーバーを幅広く使用しています。 この記事を読むと、Cコンパイラにバックドアを簡単に挿入でき、そのコンパイラでコンパイルされたコードにもバックドアが含まれることに言及しています。すべての暗号化方法、ハードウェア、およびソフトウェアにバックドア/弱点を置くというNSA / GCHQの命令に関する最近のリークを考えると、コンパイラは障害の重大なポイントになりました。すべての標準UNIX / Linixディストリビューションが危険にさらされる可能性があります。システム、データ、および顧客データを不正な政府によって侵害することはできません。 この情報を基に、信頼できるコンパイラをゼロから構築したいと考えています。その後、そのコンパイラを使用してソースコードからオペレーティングシステムとアプリケーションを構築できるように、安全な基盤を構築します。 質問 ソースコードからコンパイラをコンパイルし(一見鶏卵のシナリオ)、信頼できるUnix / Linuxディストリビューションをゼロからコンパイルするための正しい(そして安全な方法)は何ですか? 私や他の人がセキュリティ欠陥のソースコードを読んで理解する能力を持っていると仮定できるので、ソースコードはコンパイルする前に最初に吟味されます。私が本当に望んでいるのは、このコンパイラをゼロから安全に作成し、カーネル、OSのその他の部分、およびアプリケーションをコンパイルするために使用できる作業ガイドです。 セキュリティスタックは、そのスタックで実行されているオペレーティングシステムまたはアプリケーションに自信がある場合、ベースレベルで開始する必要があります。はい、ハードウェアのバックドアがあり、ビルド中にコンパイラにマイクロコードを挿入する可能性があることを理解しています。現時点では、米国で設計されていないチップを使用することを除いて、私たちができることはあまりありません。このレイヤーを最初にソートして、バックドアが挿入される前に古いコンピューターで構築できると仮定します。 ブルース・シュナイアーが言うように:「エンジニアに対して、私はこう言います。私たちはインターネットを構築し、私たちの何人かはそれを破壊するのを助けました。今、自由を愛する私たちはそれを直さなければなりません。」 追加リンク: http://nytimes.com/2013/09/06/us/nsa-foils-much-internet-encryption.html?pagewanted=all&_r=0 http://theguardian.com/commentisfree/2013/sep/05/government-betrayed-internet-nsa-spying

6
Linuxの1つの「フレーバー」でコンパイルされたLinux実行可能ファイルは、別の実行可能ファイルで実行されますか?
Linuxの1つのフレーバーでコンパイルされた、以下に示すような非常に単純な小さなプログラムの実行可能ファイルは、異なるフレーバーで実行されますか?または、再コンパイルする必要がありますか? このような場合、マシンのアーキテクチャは重要ですか? int main() { return (99); }

4
一部のM4マクロは定義されていないようです
Arch Linuxディストリビューションにpacmanを再インストールしようとしています。configureスクリプト「configure.ac」を実行すると、未定義のマクロが大量に得られます。 error: possibly undefined macro: AM_INIT_AUTOMAKE. If this token and others are legitimate, please use m4_pattern_allow. See the autoconf documentation. error: possibly undefined macro: AC_PROG_LIBTOOL error: possibly undefined macro: AM_GNU_GETTEXT error: possibly undefined macro: AM_GNU_GETTEXT_VERSION error: possibly undefined macro: AM_CONDITIONAL これらのマクロが未定義になる原因を誰もが知っていますか?Ubuntuから来た(すべてがちょうど機能し、したがって退屈です)、私は本当にautomakeについて知りません。


5
ソースからビルドすることとインストールパッケージを使用することの違いは何ですか?
何かをインストールするとき、インストール実行可能ファイルをダブルクリックする簡単な方法がありますが、ソースからビルドする方法があります。 後者のソースバンドルのダウンロードは、非常に面倒です。 しかし、これら2つの方法の基本的な違いは何ですか?

4
configure:エラー:Cコンパイラは実行可能ファイルを作成できません
Apache 2.2.15を2.2.27にアップグレードしようとしています。apache2.2.15 / buildから取得したconfig.niceを実行しているときに、次のエラーが表示されます。 checking whether the C compiler works... no configure: error: in `/home/vkuser/httpd-2.2.27/srclib/apr': configure: error: C compiler cannot create executables 私はオンラインで検索しようとしましたが、運はありません。また、小さなtest.cスクリプトを実行してcコンパイラをテストしましたが、正常に実行されます。「kernel-devel」パッケージのインストールなど、オンラインで提供されるソリューションはほとんどありませんでしたが、問題は解決しませんでした。これを機能させるにはどうすればよいですか? 生成されるconfig.logは次のとおりです。 This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by configure, which was …

2
CFLAGSおよびLDFLAGSを「configure」に追加する正しい構文は何ですか?
OpenVPNソースtarballを使用してOpenBSD 5.5にOpenVPNをインストールしたいと思います。 ここの指示に従って、lzoをインストールする必要があります CFCC = "-I / usr / local / include" LDFLAGS = "-L / usr / local / lib"ディレクティブを "configure"に追加します。そうしないと、gccはそれらを見つけられません。 OpenBSDで上記のことを行う方法についてのガイドをグーグルで探しましたが、何もありません。 これは私がやろうとしていることです: ソースtarballを新しく作成したディレクトリに展開します コマンド./configure CFLAGS = "-I / usr / local / include" LDFLAGS = "-L / usr / local / lib"を発行します。 コマンドmakeを発行します コマンドmake installを発行します 次の構文のうち正しいものはどれですか? ./configure CFLAGS="-I/usr/local/include" …

5
ソースからプログラムをコンパイルしてインストールする方法
これは、Linuxの楽しみを本当に制限する問題です。アプリケーションがリポジトリにない場合、またはインストーラースクリプトがない場合、ソースからアプリケーションをインストールする場所と方法に本当に苦労します。 Windowsと比較すると、簡単です。(ほとんど)ウィザードですべての作業を行うインストーラーアプリケーションを使用する必要があります。Linuxでは...それほどではありません。 だから、これについてのヒントや指示はありますか?ソースからLinuxプログラムをインストールする方法、理由、場所を明示的に説明しているウェブサイトはありますか?


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.