i686マシンにi586用のバイナリを作成できるようクロスコンパイル環境を構築中なのですが、gccのコンパイルエラーで躓いています。
http://0x100.com/Gentoo/PPC64/kernel_crosscompil …
を参考に
(binutils のインストール)
$ tar zxf binutils-2.14.tar.gz
$ mkdir binutils-2.14/work
$ cd binutils-2.14/work
$ ../configure --target=i586-linux --prefix=/usr/local
$ make
# make install
(gcc のインストール)
$ tar zxf gcc-3.3.2.tar.gz
$ mkdir gcc-3.3.2/work
$ cd gcc-3.3.2/work
$ ../configure --target=i586-linux --prefix=/usr/local --enable-languages=c,c++
$ make
【 「../../gcc/config/i386/linux.h:232:20: signal.h: そのようなファイルやディレクトリはありません」というエラー。そこで、gcc-3.3.2/work/gcc/Makefile の LIBGCC2_INCLUDES に -I/usr/include を追加 】
$ make
【 今度は 「/usr/local/i586-linux/bin/ld: cannot find -lc」というリンカオプションエラー。gcc-3.3.2/work/gcc/Makefileの SHLIB_LC = -lc をコメントアウトすることで応急処置】
$ make
(略)
checking whether the C compiler ( /home/****/gcc-3.3.2/work/gcc/xgcc -B/home/****/gcc-3.3.2/work/gcc/ -B/usr/local/i586-linux/bin/ -B/usr/local/i586-linux/lib/ -isystem /usr/local/i586-linux/include -O2 -g -O2 ) works... no
configure: error: installation or configuration problem: C compiler cannot create executables.
make: *** [configure-target-libiberty] エラー 1
で止まってしまいました。
何か分かる方がいましたら、アドバイスをお願いします。
文字数制限のためにあまり詳しくかけなかったので、何か足りない点があればご指摘下さい。
[ホスト環境]
CPU : Pen3
OS : Fedora core 3
gcc : バージョン 3.4.2 20041017
No.2ベストアンサー
- 回答日時:
クロスコンパイルは、コンパイルを実行するプラットフォームとはOSもしくはCPUアーキテクチャが異なるプラットフォーム用のプログラムをコンパイルして作成する(x86向けLinux上でPPC向けLinux用のプログラムをコンパイルする)事ですから、今回のような同じアーキテクチャ(x86)の場合、クロスコンパイル環境を作成する必要はないのでは?
i586用バイナリを作成したいなら、gccの最適化オプション(-march=cpu-type、-mtune=cpu-type、-mcpu=cpu-typeあたりでcpu-typeにi586を指定)を指定かな。
カーネルだとカーネルパラメータでProcessor family(Processor type and features)のようなのがあると思うから、そこでi586に該当するものを設定すればいいのではないかと思います。
No.1
- 回答日時:
クロスコンパイル?
そんなもの必要?
make時のオプションを付ければ
良いだけのように思いますが
普段はわざわざ別PCでカーネルのmakeなんてしないから
確証はないけどmakeでオプション指定すればいいだけ
だと思います。
makeのオプションで出来るのですか…、ただ未熟なのか、
> makeでオプション指定すればいいだけ
のオプションの指定の仕方が見つけられませんでした。
もう少し調査してみます。
カーネルのコンパイルは別としてクロスコンパイルは今後のためになりそうなので、一応このまま構築作業をしてみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PostgreSQL PostgreSQL14.6のSSL対応について 1 2023/01/05 15:42
- UNIX・Linux postfix smtpサーバーリレーがTLSハンドシェーク失敗 1 2022/08/15 15:45
- その他(プログラミング・Web制作) python 2 2022/12/23 09:06
- C言語・C++・C# gcc のコンパイラオプションについて 2 2022/12/21 17:11
- UNIX・Linux cronの@rebootでのdateコマンドの実行につきまして 2 2023/06/11 16:23
- その他(プログラミング・Web制作) python flask から fastapiへの移行時のエラー対処 1 2023/02/05 12:26
- UNIX・Linux cronでシェルスクリプト実行時のkubactlコマンドが機能しない対処法。 2 2022/08/03 18:58
- Ruby Ruby / passenger のインストールについて 1 2023/01/30 18:31
- C言語・C++・C# exeファイルが作れない(windows10) 6 2022/08/13 08:47
- その他(プログラミング・Web制作) mariadbでのエラー 1 2022/11/15 12:31
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・ハマっている「お菓子」を教えて!
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
make でエラー
-
mrtgの設定について
-
gccのインクルードパスの確認
-
ubuntu 初期化について
-
パソコンでゲームをプレイしよ...
-
自分は、パソコンにAPEXを入れ...
-
Windows2000を最新マシンにイン...
-
Raspberry Pi 3 A+ ブラウザ遅い
-
1枚でも「1枚”組”」なのですか?
-
virtual boxにインストールした...
-
富士通 ESPRIMO B532/G のBIOS...
-
M.2 NVME SSDがWindowsからはア...
-
初の自作PCでBIOS設定していた...
-
百均で売っていたヘアスタイリ...
-
ImgBurn とブータブルISO
-
影廊というPCゲームがあるので...
-
Freenasでphpでsocketエラー
-
iPhone5sからiPad初代にミラー...
-
redhatlinux9.0にPHPを再インス...
-
カスタムーダーメイド3D2パッケ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
gccのインクルードパスの確認
-
makeコマンドができない
-
*** ターゲット `all' を make ...
-
Debianでのmakeコマンドインス...
-
make でエラー
-
macos での /usr/local/lib と...
-
Solaris10でCコンパイラが見...
-
ソースからmakeした場合の削除方法
-
apache make時のエラーで困って...
-
ダウンロードファイルなどは、...
-
OpensslのVer.ダウン
-
Linuxのgccのインクルードパス?
-
glibcバージョンアップ
-
readline インストールについて
-
linuxの/usr/includeについて
-
Mac上でPythonのtkinterを使っ...
-
./configureの次にmakeが出来ま...
-
newlibのmakeについて
-
perlのダウングレード方法
-
makeのエラーメッセージが理解...
おすすめ情報