お世話になっております。
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をインストールしています。
よろしくお願いします。
No.4ベストアンサー
- 回答日時:
>どちらも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をインストールすればよいのでは?
No.3
- 回答日時:
>インストールしようとすると、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にしてください。
No.2
- 回答日時:
過去の記録によると。
>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
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PostgreSQL PostgreSQL14.6のSSL対応について 1 2023/01/05 15:42
- C言語・C++・C# ExcelCS 1 2023/01/27 19:47
- C言語・C++・C# プログラム Arduino 1 2022/07/03 11:13
- その他(プログラミング・Web制作) ラズパイ上の、pythonのエラーについて 1 2023/04/12 23:27
- C言語・C++・C# スタックフレームの消滅 6 2023/05/20 12:33
- Ruby Ruby / passenger のインストールについて 1 2023/01/30 18:31
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- UNIX・Linux postfix smtpサーバーリレーがTLSハンドシェーク失敗 1 2022/08/15 15:45
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- UNIX・Linux cronでシェルスクリプト実行時のkubactlコマンドが機能しない対処法。 2 2022/08/03 18:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
<unistd.h>をVisualStudioでつ...
-
アプリケーションのDLLファイル...
-
C言語をコンパイルするとコンピ...
-
math.hに含まれる関数が使えない
-
不明なプラグマ・・・?
-
libsshのコンパイルエラー
-
Eclipseで使えるコンパイラ、リ...
-
実行ファイルが作成環境以外のP...
-
Visual Basic.NETの処理速度は6...
-
Linux(g++)とAIX(XL C++)の挙動...
-
C#で char型とstring型の比較で...
-
cygwinのgccで正常にコンパイル...
-
実行後にコンパイルに失敗しま...
-
ビープ音が鳴りません・・・
-
c言語です コンパイルした時に...
-
#If True Then の # って何??
-
define文のパラメータを実行時...
-
Verilog_HDLでのdefineとifdef
-
ヘッダーファイル『windows.h』...
-
VBで作成したOCXでバージョンが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<unistd.h>をVisualStudioでつ...
-
アプリケーションのDLLファイル...
-
C言語をコンパイルするとコンピ...
-
実行後にコンパイルに失敗しま...
-
math.hに含まれる関数が使えない
-
ビープ音が鳴りません・・・
-
c言語です コンパイルした時に...
-
<math.h>ヘッダを入力している...
-
C#で char型とstring型の比較で...
-
共有ライブラリの内容確認について
-
すべてのリビルド: 0 正常、 0 ...
-
[COBOL] ソースの復帰
-
64ビットのlinuxで32ビットメモ...
-
VS2010環境で2点ほど質問
-
gcc バージョン違いによるコン...
-
ヘッダーファイル『windows.h』...
-
C言語で作ったらWindowsでもMac...
-
自作DLLの中身を暗号化
-
MVSマシンで0C7でABENDしたので...
-
Verilog_HDLでのdefineとifdef
おすすめ情報