質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
GCC

GCCはGNU Compiler Collectionの略です。LinuxのC言語コンパイラのデファクトスタンダードであり、数多くの他言語やプラットフォームサポートもします。

コンパイラ

コンパイラは、プログラミング言語で記述したソースコードを、コンピュータの実行形式であるオブジェクトコードに変換するプログラムです。

Q&A

1回答

5953閲覧

特定のgccをインストールする方法を知りたいです。

haharuru

総合スコア4

GCC

GCCはGNU Compiler Collectionの略です。LinuxのC言語コンパイラのデファクトスタンダードであり、数多くの他言語やプラットフォームサポートもします。

コンパイラ

コンパイラは、プログラミング言語で記述したソースコードを、コンピュータの実行形式であるオブジェクトコードに変換するプログラムです。

0グッド

0クリップ

投稿2021/07/02 06:30

編集2021/07/02 06:51

CentOS6をインストール後、gccコンパイラをインストールしました。
作業を進めようとすると、(4.4.7でのエラー情報)のようなメッセージが出てきます。
調べたところ、コンパイラのバージョンが変わってエラーメッセージのような定義が抜けているとのことでした。

もともとコンパイラがある状態でまた新しいコンパイラ(4.2以前のもの)をインストールするときはどのような手順を踏めばいいでしょうか。http://ftp.gnu.org/gnu/gcc/gcc-4.2.1/gcc-g++4.2.1をインストールしてみましたが、その先がわかりません。調べては見たものの、なかなかうまくいかなかったので、ご教授願いたいです。

当初のインストールコマンド

yum install gcc yum install gfortran

コンパイラ情報

c++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23) GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23)

###4.4.7を使用した時のエラー情報

sdfReinit3d.F:(.text+0x3c2e): undefined reference to `_gfortran_allocate64_array' sdfReinit3d.F:(.text+0x3eb0): undefined reference to `_gfortran_deallocate'

バージョン4.2からの変更点

https://github.com/gcc-mirror/gcc/blob/releases/gcc-4.3.0/libgfortran/runtime/memory.cから抜粋しました。

sdfReinit3d.F:(.text+0x388e): undefined reference to _gfortran_allocate64_array' sdfReinit3d.F:(.text+0x3af6): undefined reference to gfortran_deallocate' sdfReinit3d.F:(.text+0x3b10): undefined reference to _gfortran_deallocate' /home/ce202025/SDFlib1/sample/../usr/local/sphere/lib/libSDF.a(sdfReinit3d.o): In function sdf_reinit3d_weno': sdfReinit3d.F:(.text+0x3c2e): undefined reference to _gfortran_allocate64_array' sdfReinit3d.F:(.text+0x3e96): undefined reference to _gfortran_deallocate' sdfReinit3d.F:(.text+0x3eb0): undefined reference to `_gfortran_deallocate'

試したこと

http://ftp.gnu.org/gnu/gcc/gcc-4.2.1/gcc-g++-4.2.1.tar.bz2 :: 内の圧縮ファイルをCentOSにダウンロード、解凍

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jbpb0

2021/07/06 05:47

> http://ftp.gnu.org/gnu/gcc/gcc-4.2.1/gcc-g++4.2.1をインストール Linuxの各ディストリビューションで用意されてるパッケージ管理システム (CentOSならばyum) を使わずに何か入れると、既に入ってるものと矛盾が起きて、いろいろとややこしくなることがあるので、できるだけパッケージ管理システムを使って入れる方がいいですよ
haharuru

2021/07/06 06:22 編集

お返事ありがとうございます。 yum install コマンドでインストールを試みたところ、パッケージを利用できませんとのメッセージが帰ってきました。 (追記) 圧縮コマンドを入れ忘れました。 (追記2) 圧縮コマンドを追記しても同じ結果になります。
jbpb0

2021/07/06 06:06

私が2021/07/02 16:17のコメントで紹介したWebページの 「古いバージョン指定でパッケージをインストールする方法」 に書かれてることは、試してみました?
haharuru

2021/07/06 06:16

2021/07/02で紹介されたWebページでの試行例 実行コマンド:# yum install http://vault.centos.org/7.2.1511/os/x86_64/Packages/httpd-2.4.6-40.el7.centos.x86_64.rpm 読み込んだプラグイン:fastestmirror, refresh-packagekit, security インストール処理の設定をしています httpd-2.4.6-40.el7.centos.x86_64.rpm | 2.7 MB 00:02 /var/tmp/yum-root-E1cpMO/httpd-2.4.6-40.el7.centos.x86_64.rpm を調べています: httpd-2.4.6-40.el7.centos.x86_64 次のリポジトリーへの更新として /var/tmp/yum-root-E1cpMO/httpd-2.4.6-40.el7.centos.x86_64.rpm を設定します: httpd-2.2.15-69.el6.centos.x86_64 Loading mirror speeds from cached hostfile 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> Package httpd.x86_64 0:2.2.15-69.el6.centos will be 更新 ---> Package httpd.x86_64 0:2.4.6-40.el7.centos will be an update --> 依存性の処理をしています: httpd-tools = 2.4.6-40.el7.centos のパッケージ: httpd-2.4.6-40.el7.centos.x86_64 --> 依存性の処理をしています: systemd-units のパッケージ: httpd-2.4.6-40.el7.centos.x86_64 --> 依存性の処理をしています: systemd-units のパッケージ: httpd-2.4.6-40.el7.centos.x86_64 --> 依存性の処理をしています: systemd-units のパッケージ: httpd-2.4.6-40.el7.centos.x86_64 --> 依存性の処理をしています: libc.so.6(GLIBC_2.14)(64bit) のパッケージ: httpd-2.4.6-40.el7.centos.x86_64 --> 依存性の処理をしています: libsystemd-daemon.so.0(LIBSYSTEMD_DAEMON_31)(64bit) のパッケージ: httpd-2.4.6-40.el7.centos.x86_64 --> 依存性の処理をしています: libdb-5.3.so()(64bit) のパッケージ: httpd-2.4.6-40.el7.centos.x86_64 --> 依存性の処理をしています: libpcre.so.1()(64bit) のパッケージ: httpd-2.4.6-40.el7.centos.x86_64 --> 依存性の処理をしています: libsystemd-daemon.so.0()(64bit) のパッケージ: httpd-2.4.6-40.el7.centos.x86_64 --> 依存性解決を終了しました。 エラー: パッケージ: httpd-2.4.6-40.el7.centos.x86_64 (/httpd-2.4.6-40.el7.centos.x86_64) 要求: libpcre.so.1()(64bit) エラー: パッケージ: httpd-2.4.6-40.el7.centos.x86_64 (/httpd-2.4.6-40.el7.centos.x86_64) 要求: libc.so.6(GLIBC_2.14)(64bit) エラー: パッケージ: httpd-2.4.6-40.el7.centos.x86_64 (/httpd-2.4.6-40.el7.centos.x86_64) 要求: httpd-tools = 2.4.6-40.el7.centos インストール: httpd-tools-2.2.15-69.el6.centos.x86_64 (@base/$releasever) httpd-tools = 2.2.15-69.el6.centos エラー: パッケージ: httpd-2.4.6-40.el7.centos.x86_64 (/httpd-2.4.6-40.el7.centos.x86_64) 要求: libdb-5.3.so()(64bit) エラー: パッケージ: httpd-2.4.6-40.el7.centos.x86_64 (/httpd-2.4.6-40.el7.centos.x86_64) 要求: libsystemd-daemon.so.0()(64bit) エラー: パッケージ: httpd-2.4.6-40.el7.centos.x86_64 (/httpd-2.4.6-40.el7.centos.x86_64) 要求: systemd-units エラー: パッケージ: httpd-2.4.6-40.el7.centos.x86_64 (/httpd-2.4.6-40.el7.centos.x86_64) 要求: libsystemd-daemon.so.0(LIBSYSTEMD_DAEMON_31)(64bit) 問題を回避するために --skip-broken を用いることができません これらを試行できます: rpm -Va --nofiles --nodigest 実行コマンド:# yum update centos-release 読み込んだプラグイン:fastestmirror, refresh-packagekit, security 更新処理の設定をしています Loading mirror speeds from cached hostfile 更新と設定されたパッケージがありません。
jbpb0

2021/07/06 06:35 編集

私が紹介した参考Webページの一番下のあたりに、 「1) の方法では依存関係のあるパッケージが一緒にインストールされないため、基本的には 2) の方法をおすすめします。」 って、赤字で書いてありますよね 自分で依存関係を調べて対処できないなら、1)の方法はダメです (依存関係を調べて対処するって、相当大変ですよ) というか、入れたいのは「httpd」ではなく「gcc」なのに、何で古い「httpd」をインストールするコマンドを実行するのですか? 古い「gcc」のURLを調べて、それをインストールするコマンドを実行するのなら、まだ分からないでもないけど
guest

回答1

0

http://ftp.gnu.org/gnu/gcc/gcc-4.2.1/gcc-g++4.2.1をインストール

Linuxの各ディストリビューションで用意されてるパッケージ管理システム (CentOSならばyum) を使わずに何か入れると、既に入ってるものと矛盾が起きて、いろいろとややこしくなることがあるので、できるだけパッケージ管理システムを使って入れることをお勧めします

CentOS で古いバージョンのパッケージをインストールする
に、古いパッケージをyumでインストールする方法が解説されてます

5.11/os/x86_64/CentOS
を見ると、CentOS 5.11にgcc-4.1.2が入ってたようです

投稿2021/07/11 08:24

jbpb0

総合スコア7653

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問