現在、Ubuntu 16.04
を実行しています gcc-5.3
をインストールしたい gcc-5.4
を中断することなく、ソースから およびgcc-4.9
Synapticパッケージマネージャーを使用して既にインストールしていること。
gcc-5.3
が欲しい理由 CUDA 8.0 RC
を使用していますか 、5.3
以降のgccバージョンはサポートされていません 。 4.9
にダウングレードするのではなく 、インストールしたい(または少なくともインストール方法を知っている)5.3
。私はすでにgcc-5.3
のコードを持っています configure/make/make install
を実行するだけで済みます 儀式。
ここで、makeおよびmake installを実行する前に、さまざまな構成オプションを理解する必要があります。特にgcc-5.3
をインストールしていることを確認したい 適切な場所に配置し、既存のgcc-5.4
に干渉しないでください およびgcc-4.9
。
5.3
の設定方法に関するアカウントを1つ見つけました 、それは次のとおりでした:
./gcc-5.3.0/configure --disable-checking --program-suffix=-5.3 --enable-languages=c,c++,go,objc --disable-multilib --with-system-zlib prefix=/usr/local/gcc-5.3
これらのオプションには、意味のあるものとそうでないものがあります。具体的には、自分自身を台無しにしないために十分に理解していると思うオプションは次のとおりです。
--disable-checking: Will make the installation quicker, but at the risk
of missing errors. Since I'm paranoid, I'll probably
omit this option.
--disable-multilib: I don't understand this. I gather it has something
to do with variations on the compiler's target machine,
but that's all I can gather.
At worst, if I omit this option, I think I'll just
end up with some extra libraries, which doesn't seem
so bad. Why do/don't I want to use this?
--with-system-zlib: Use the zlib that I already have with my system,
rather than gcc's version. This seems reasonable to
me.
--enable-languages=c,c++,go,objc: AFAIK, I'm really just interested in c & c++,
so this option seems pretty harmless, although I might
just use --enable-lnguages=all, since it can't hurt.
私が心配するオプションは次のとおりです。
--program-suffix=-5.3: This seems just to add a -5.3 suffix
at the end of the installation path,
which is probably a good idea if I get the
path right
prefix=/usr/local/gcc-5.3: This just seems to specify the
installation directory and to make the
--program-suffix=-5.3 specification
redundant. However, it is the option that
makes me the most uneasy.
find . -name gcc
、関連するパスは/usr/lib/gcc
のみです。 および/usr/bin/gcc
/usr/lib/gcc
内 、2つのサブディレクトリがあります– i686-linux-gnu
およびx86_64-linux-gnu
、64ビットマシンを使用しているので、x64ディレクトリを調べました。
そこで、ソフトリンクを見ました– 4.9.3
、4.9
というディレクトリにリンクされています 、gcc-4.9
のファイルがありました 。同様に、5.4.0
というソフトリンクを見ました 5
というディレクトリにリンクされています 、gcc-5.4
のファイルがありました 。したがって、prefix=/usr/lib/gcc/5.3
を使用したいと思います。 --program-suffix
は使用しないでください オプション。これは正しいですか?
この時点では、make&make installを実行すると、.a
であると想定しています。 &.so
ファイルは/usr/lib/gcc/5.3
に配置されます 実行可能ファイルは/usr/bin/gcc-5.3
になります。 そして、Ubuntuのupdate-alternativesを使用してgcc-5.4
間を移動できるようになります。 、gcc-5.3
およびgcc-4.9
(注:Synapticを使用しない理由は、gcc-5と呼ばれるgcc-5.4のみを提供するためです。同様に、ppa ppa:ubuntu-toolchain-r/test
gcc-5.Xのすべてのバージョンをgcc-5と呼びますが、これも使用するのは危険なようです。 gcc-5が私の問題の根本であるため、gcc-5.xのすべてのマイナーバージョンを参照するという決定を疑っています)
承認された回答:
その場合、ソースからgcc=5.3をインストールする必要はありません。 conda環境を使用して(MinicondaまたはAnacondaをインストール)、gcc_linux-64=5.3をインストールできます。