私はUbuntuに慣れていないので、コードをコンパイルするためにgcc
の古いバージョン(3.3)をインストールしたいと思っています。私が試したとき
Sudo apt-get install gcc-3.3
インストールされていません。
~$ Sudo apt-get install gcc-3.3
Sudo: /etc/sudoers.d is world writable
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'gcc-3.3-hppa64' for regex 'gcc-3.3'
The following packages were automatically installed and are no longer required:
gfortran-5 libamd2.4.1 libbtf1.2.1 libcamd2.4.1 libccolamd2.9.1
libcholmod3.0.6 libcsparse3.1.4 libcxsparse3.1.4 libgfortran-5-dev
libklu1.3.3 libldl2.2.1 libspqr2.0.2 libumfpack5.7.1 openjdk-9-jdk-headless
Use 'Sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 10 not upgraded.
gcc
の利用可能なすべてのバージョンを一覧表示しようとしたとき、
Sudo apt-cache search gcc
gcc
3.3はリストされていません。 Ubuntuにgcc 3.3をインストールするにはどうすればよいですか?
私の現在のgcc
バージョンは:
~$ gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
ソースからGCCをダウンロード、コンパイル、およびインストールします
通常、tar.gz
を1つ取得します。 gcc.gnu.orgにリストされているミラーサイトの1つからソースを取得できます https://gcc.gnu.org/mirrors.html
tar -xf gcc-3.3.6.tar.gz
./configure --prefix=/usr/local/gcc-3.3.6
make
make install
"--prefix = /usr/local/gcc-3.3.6
"を適宜調整してください。私は明示的にすることを好みます。指定しない場合、デフォルトで/usr/local/bin
になると思います
./configure --help
を実行すると、利用可能なすべてのオプションの説明を取得できます。 prefix=
は単にmake install
を実行するときにインストールされる場所であり、「prefix =」が指定されていない場合はデフォルトのインストール場所も通知されます。
--prefix=
を使用する場合、PATH
およびLD_LIBRARY_PATH
環境変数でこのように実行したもののこのローカルインストールを置き換える必要があります。
*for bash*
export PATH=/usr/local/gcc-3.3.6/bin:${PATH}
export LD_LIBRARY_PATH=/usr/local/gcc-3.3.6/lib:${LD_LIBRARY_PATH}
*for csh or tcsh*
setenv PATH /usr/local/gcc-3.3.6/bin:${PATH}
setenv LD_LIBRARY_PATH /usr/local/gcc-3.3.6/lib:${LD_LIBRARY_PATH}
新しいターミナルウィンドウを開くか、最初にrehash
と入力します
次にwhich gcc
を使用すると、手動で明示的に/usr/local/gcc-3.3.6/bin/gcc
を実行しなくても、使用しているgccのバージョンがわかります。
新しいバージョンまたは古いバージョンのGCCでコンパイルされた実行可能ファイルを後で実行する場合は常に、LD_LIBRARY_PATH
が対応するGCCバージョンに正しく設定されていることを確認してください。
./configure
ステップの間、前提条件が不足しているかどうかを通知します。このステップが最初の試行で100%成功しなくても心配しないでください。ダウンロードしてインストールするか、次の方法で無効にする必要があります。 ./configure --help
の出力からそれを調べる
--prefix=
を使用して、各gccインストールを個別に保持しますLD_LIBRARY_PATH
とPATH
を調整して、どちらかを使用しますDebianリポジトリを/ etc/apt/sourceに追加しました。
deb http://snapshot.debian.org/archive/debian/20070730T000000Z/ lenny main
deb-src http://snapshot.debian.org/archive/debian/20070730T000000Z/ lenny main
deb http://snapshot.debian.org/archive/debian-security/20070730T000000Z/ lenny/updates main
deb-src http://snapshot.debian.org/archive/debian-security/20070730T000000Z/ lenny/updates main
次に、gccを使用して検索しました
Sudo apt-cache search gcc
それからそれはgcc-3.3をリストしましたそして私はインストールしました
Sudo apt-get install gcc-3.3 g++-3.3
次に、gccのシンボリックリンクを変更してgcc 3.3を選択します
ここからdebianパッケージをダウンロードできます
http://old-releases.ubuntu.com/ubuntu/pool/universe/g/gcc-3.3/gcc-3.3_3.3.6-15ubuntu6_i386.deb
とインストール
Sudo dpkg -i /path/to/package
Launchpadにはgcc 3.3の最近のビルドがあります のようです。これで十分かどうかはわかりませんが、試してみる価値はあると思います。
さらに詳しい説明が必要な場合は、コメントしてください。