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

GNU Compiler Collection Suiteに関する質問。


5
Kali Linuxに特定のバージョンのGCCをインストールする方法
この質問は、Googleで簡単に見つけられるいくつかの質問やその他の場所で適切に対処されているようですが、以下で説明する理由により、解決策は満足のいくものではありません。しかし、完了のために、いくつかの関連リンクを含めました。 /ubuntu/138284/how-to-downgrade-a-package-via-apt-get /ubuntu/428772/how-to-install-specific-version-of -some-package / 428778 /ubuntu/26498/choose-gcc-and-g-version ... その他。 ただし、この質問は、Galiの非常に特定のバージョンをKali Linuxにインストールすることに関するものです。これは、特定のパッケージとしては容易に入手できないようです。特に、問題はバージョン6.3.0のインストール方法に関するものです。特定のプログラムをコンパイルするにはこのバージョンが必要なので、https://www.reddit.com/r/Monero/comments/6d0ah8/xmrig_miner_new_release/ (おまけの質問として、別のバージョンのGCCを使用せずにこの特定の問題を修正するより健全な方法がある場合は、お気軽に回答してください。ただし、この質問は一般的なものであり、関係なくそれを行う方法を知りたいです上記のプログラムを正しくリンクさせる方法) gccなどのパッケージのインストールに使用できるバージョンは、次のようにして決定できます。 apt-cache showpkg gcc 使用可能なバージョンを「バージョン:」の下に一覧表示します。例: 4:7.2.0-1d1 4:4.9.2-2 インストールは発行と同じくらい簡単です apt-get install gcc:4:4.9.2-2 これにより、古いバージョン4:4.9.2-2がインストールされます。これは、7.2.0-1d1のインストールが存在する場合、それを(私は信じて)上書きするだけです。 バージョン4:4.9.2-2を使用できるようにするdeb http://old.kali.org/kali sana main non-free contribには、/etc/apt/sources.listファイルに追加して を実行する必要がありましたapt-get update。 ただし、必要なバージョンがリストにない場合はどうなりますか? 私はさまざまなソース、たとえばhttp://snapshot.debian.org/や、Google検索からのその他のさまざまな質問やウェブサイトで見つけたものなどを試してい ます。 それらのほとんどは、例えば次のように、私に無視またはエラーを与えます Ign:3 http://snapshot.debian.org/archive/debian/20091004T111800Z lenny InRelease これが機能する場合でも、特定のバージョンをインストールすることは非常に悪いアプローチのようです。任意のソースを追加すると、特定のバージョンが必要にならない場合があるためです。 snapshot.debian.orgでgccを検索すると、非常に古いバージョンのみが表示されます。http://snapshot.debian.org/package/gcc/ 私は最終的にこのアプローチに不満を抱き、ソースtarballからGCC 6.3.0をコンパイルしました。コンパイルは成功しましたが、それをインストールする方法に直面しました。私は、実行中には慎重だmake install、私はそれが改ざんされます恐れるようaptとdpkg、おそらくシステムを破ります。 代わりに、ビルドディレクトリから直接実行しようとしました。PATHの最初のエントリとしてビルドディレクトリを追加しようとしましたが、機能しませんでした。次に、名前を変更/usr/bin/gccして/usr/bin/gcc、gcc-6.3.0実行可能ファイルが存在する場所へのシンボリックリンクを作成しようとしました。これにより、次の問題が発生します。 cc: error trying to …


2
なぜこのPythonパッケージは存在しないgccを使用しようとしているのですか?
SolarisにPython 3用のPyCryptoをインストールしようとしています。" python3 setup.py install"でも " pip3 install pycrypto"でも、同じ問題が発生します。存在しないgccが呼び出されます。 python3 setup.py install [...] /opt/csw/bin/gcc-4.8 -pipe -m32 -march=pentiumpro -Wno-unused-result -fwrapv -Wall -Wstrict-prototypes -pipe -m32 -march=pentiumpro -I/usr/include/gmp -fPIC -std=c99 -O3 -fomit-frame-pointer -Isrc/ -I/usr/include/ -I/opt/csw/include/python3.3m -c src/_fastmath.c -o build/temp.solaris-2.11-i86pc.32bit-3.3/src/_fastmath.o unable to execute /opt/csw/bin/gcc-4.8: No such file or directory 今、私は自分が乗っているマシンの歴史について何も知りません。/opt/csw/bin/gcc-4.8が過去のある時点で存在した可能性があります。しかし、それはもうありません。 export CC=/usr/bin/gcc (または他のgcc)は問題を修正しません ---必ず/opt/csw/bin/gcc-4.8が呼び出されます。 …

1
開始アドレスに対する静的リンクと動的リンクの影響
簡単なCプログラムがあります。走る: $ gcc Q1.c -Wall -save-temps -o Q1 次に、生成された実行可能ファイルを検査します。 $ objdump -f Q1 Q1: file format elf32-i386 architecture: i386, flags 0x00000112: EXEC_P, HAS_SYMS, D_PAGED start address 0x080483b0 次に、静的リンクを使用してコンパイルします。 $ gcc Q1.c -Wall -save-temps -static -o Q1 そしてファイルをもう一度調べます: $ objdump -f Q1 Q1: file format elf32-i386 architecture: i386, flags 0x00000112: EXEC_P, …

2
静的Cコンパイラを入手するにはどうすればよいですか?
私はchroot環境で遊んでいますが、あまり多くのライブラリを移動する必要なく、各環境でいくつかの基本的なビルドツールを簡単にセットアップできるように、移植可能なCコンパイラが欲しいです。 GCCは私がやりたいことに対してかなり膨らんでいるように見えますが、静的なgccを構築するのがかなり簡単であれば、数十メガバイトを気にしないでしょう。 私はまた、Tiny C Compilerを見ています。これは小さいですが、それでも印象的な機能セットがあるように見えます。ただし、ソースディレクトリで./configure --helpを実行しても、tccを静的にビルドするためのオプションは表示されず、それ以外の場合にどのように実行されるかわかりません。

1
非標準ディレクトリでstdc ++ライブラリを検出するようにリンカーを強制する
が他の何よりも先に検索されるという多くのガイダンスを読みましたLD_LIBRARY_PATHが、私の.soライブラリの1つはでリンクしlibtdc++.so.6てい/usr/lib64ます。 ldd mylib.so: ... libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f82abd18000) ... 次のような別の場所mylib.soにリンクしたいlibstdc++.so.6/apps/gcc_4.8.0/lib/libstdc++.so.6 その/apps/gcc_4.8.0/libためLD_LIBRARY_PATH、に追加しますが、には含まれていませんが/usr/lib64、まだ見つかりません。 追加する場合: setenv LD_PRELOAD /apps/gcc_4.8.0/lib/libstdc++.so.6 私の環境では、これ以上リンカーエラーはありません。ええ、しかしそれは問題を解決しません。下流のユーザーは、このライブラリが適切な場所にあることに依存したくないでしょう。ISN "T LD_LIBRARY_PATHが最初に検索される理由!?!
linux  gcc  linker  ld 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.