アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になっております。

CentOSの64ビットマシンを使っています。

C言語の簡単なサンプルとして、ポインタ変数の長さを表示するプログラム(sizeof(ポンタ変数)をprintf)を作りました。

これをコンパイルして実行すると8と表示されますので、64bitとアプリケーションとしてコンパイルされたのだろうと思います。


次に32Bitアプリケーションとしてコンパイルするために-m32オプションを付けてコンパイルしたところ、以下のとおりエラーが出てしまい困っております。


gcc -m32 -o sample sample.c
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.4.7/libgcc_s.so when searching for -lgcc_s
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.4.7/libgcc_s.so when searching for -lgcc_s
/usr/bin/ld: cannot find -lgcc_s
collect2: ld returned 1 exit status


解決方法について教えていただければ幸いです。


コンパイラは、gcc-4.4.7-3.el6.x86_64をインストールしています。

よろしくお願いします。

A 回答 (5件)

>どちらもNo package libgcc.i386 available でエラーになりました。



[root@localhost ~]# yum search libgcc
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: ftp.tsukuba.wide.ad.jp
* extras: ftp.tsukuba.wide.ad.jp
* updates: ftp.tsukuba.wide.ad.jp
================ N/S Matched: libgcc ================
libgcc.i686 : GCC version 4.4 shared support library
libgcc.x86_64 : GCC version 4.4 shared support library

Name and summary matches only, use "search all" for everything.
[root@localhost ~]#

そりゃ、i396はありませんからね。


>libgcc-4.4.7-3.el6.x86_64がすでに入っているので、 libgcc-4.4.7-4.el6.i686を入れられない

libgcc-4.4.7-3.el6.x86_64をアップデートしてlibgcc-4.4.7-4.el6.x86_64ににしてから
libgcc-4.4.7-4.el6.i686をインストールすればよいのでは?

この回答への補足

yum install libgcc.x86_64 libgcc.i686
でいけました。

補足日時:2014/05/21 09:04
    • good
    • 1

>そりゃ、i396はありませんからね。



9ぢゃねぇぇぇぇぇ…
i386ね。
    • good
    • 2
この回答へのお礼

大丈夫ですよ。ありがとうございます。

お礼日時:2014/05/21 09:05

>インストールしようとすると、libgcc-4.4.7-3.el6.x86_64がすでに入っているので、 libgcc-4.4.7-4.el6.i686を入れられない、という趣旨のメッセージが出ます。



「libgcc-4.4.7-3.el6.x86_64がすでに入っているので、 libgcc-4.4.7-4.el6.i686を入れられない」というエラーメッセージが出力されたんですか?
エラーメッセージを書く際には趣旨など意訳したものではなく出力されたそのままを書きましょう。
意訳が不適切だった場合、伝言ゲームになってしまいます。

で、x86_64版とi686版を共にインストールする際にはバージョンが同一である必要があるので

libgcc-4.4.7-3.el6.x86_64
libgcc-4.4.7-4.el6.i686

は一緒にはインストールできません。
libgcc-4.4.7-3.el.i686をどこからか調達してくるかgcc関連をごっそり4.4.7-4にしてください。
    • good
    • 2
この回答へのお礼

ありがとうございました。

お礼日時:2014/05/21 09:06

 過去の記録によると。



>64ビットのlinuxで32ビットメモリモデルの指定のしかたを御教えください
http://oshiete.goo.ne.jp/qa/2324332.html

 この質問は解決をしたらしい。

参考URL:http://oshiete.goo.ne.jp/qa/2324332.html

この回答への補足

ご紹介いただいたURLに記載されていた以下を実施しようとしたのですが、どちらもNo package libgcc.i386 available でエラーになりました。

yum install glibc-devel.i386
yum install libgcc.i386

補足日時:2014/05/20 15:35
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2014/05/20 15:35

libgcc.i686 はインストールしてありますか?

この回答への補足

インストールしようとすると、libgcc-4.4.7-3.el6.x86_64がすでに入っているので、 libgcc-4.4.7-4.el6.i686を入れられない、という趣旨のメッセージが出ます。

補足日時:2014/05/20 09:01
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2014/05/20 09:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!