LoginSignup
27
7

More than 3 years have passed since last update.

Rustで”HelloWorld!”しようとしたら「error: linker `cc` not found」と表示された時の対処方法

Last updated at Posted at 2019-12-29

こんにちは。
2019年も残すところ今日を含めて3日となりました。
今年は9連休ということもあり、新しい技術や気になっているプログラミング言語などに入門してみようと考えている人も多いかと思います。
私も、最近AWSがプロジェクト支援を開始したRustに入門してみることにしました。
早速、インストールしてチュートリアルなどをやっていこうと思ったのですが、最初からつまずいたので同じ所でつまずいた人に参考になればと思っています。

TL;DR

gccコンパイラがインストールされていないと、エラーになるので気をつけましょうという話

環境

  • AWS EC2(Amazon Linux2)

手順

AWS環境で検証していますが、EC2の立ち上げまでの手順は省略します。

Rustのインストール

以下の日本語ドキュメントを参考に実施しています。
https://doc.rust-jp.rs/the-rust-programming-language-ja/1.6/book/getting-started.html

公式サイト(英語)
https://www.rust-lang.org/

1.14以降のバージョンをインストールするため、以下のコマンドを実行します。

$ curl https://sh.rustup.rs -sSf | sh

途中でインストール方法を聞かれますが、デフォルトの1を選択してエンターを押下します。

$ curl https://sh.rustup.rs -sSf | sh
・・・(省略)・・・
1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
>1
・・・(省略)・・・

以下の様なメッセージが表示されたらインストールが終わりました。

Rust is installed now. Great!

To get started you need Cargo's bin directory ($HOME/.cargo/bin) in your PATH
environment variable. Next time you log in this will be done
automatically.

To configure your current shell run source $HOME/.cargo/env

メッセージに記載されているsourceコマンドを実行してシェルの内容を反映しましょう。

$ source $HOME/.cargo/env

正しくインストールできているか確認します。

$ rustc --version
rustc 1.40.0 (73528e339 2019-12-16)

バージョンが確認できたので正しくインストールできているようです。

「Hello,World!」のプログラムを書く

ドキュメントの手順通りに進めていくので、フォルダを作成します。

$ mkdir ~/projects
$ cd ~/projects
$ mkdir hello_world
$ cd hello_world

次に、プログラムを書いていくファイルを作成します

$ vi main.rs

作成したファイルに以下のコードを記述して保存します。

main.rs
fn main() {
    println!("Hello, world!");
}

保存が終わったら実行してみましょう。

$ rustc main.rs

すると以下の様なエラーが表示されます。

error: linker `cc` not found
  |
  = note: No such file or directory (os error 2)

error: aborting due to previous error

色々調べてみるとgccのコンパイラが必要みたいなので、インストールします。

$ yum install -y gcc

インストールが終了したらもう一度rustc main.rsを実行してみます。特にエラーもなくmainの実行ファイルが作成されたみたいです。

$ ls
main  main.rs

作成された実行ファイルを実行してみると「Hello, World!」が表示されました。

$ ./main
Hello, world!

まとめ

調べて見ると意外と単純なことでした。
環境構築の部分は入門者にとっては、最初の関門ですね。
まだまだ、休みは長いのでじっくりチュートリアル進めていくことにします。
内容に不備ありましたら、コメントで教えて頂けると幸いです。

27
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
27
7