• 締切済み

gccのコンパイルについて

大変初心者で申し訳ないのですが・・・ 現在、Solaris8にてgcc自体をコンパイルしてるのですが、まずは古いパッケージ版をインストールして、その後、2.95のソースをダウンロードして来て、パッケージ版をアンインストールして2.95のソースからはうまくいきました。その後3.3.2版を同様にして行っているのですが、コンパイルできません。 当初は重大なエラー: libiconv.so.2: open に失敗しましたと表示されていたのですが、libiconv自体もインストールして、/usr/local/lib自体も見えてなかったようですのでcrleにて追加し、リトライしてみましたが、以下のメッセージが出て失敗してしまいます。 ------------------------------------------------- 未定義の 最初に参照している シンボル ファイル libiconv_close ./intl/libintl.a(loadmsgcat.o) libiconv_open ./intl/libintl.a(loadmsgcat.o) libiconv ./intl/libintl.a(dcigettext.o) ld: 重大なエラー: シンボル参照エラー。cc1 に書き込まれる出力はありません。 ----------------------------------------------- と出たまま色々と調べてますがなかなかわからないのが現状です。もしお分かりになる方教えていただけませんでしょうか?よろしくお願いいたします。

みんなの回答

  • katouka09
  • ベストアンサー率50% (130/256)
回答No.1

わざわざコンパイルしなくても、すでにコンパイル済みの パッケージが提供されています。 参考URLにてバイナリが提供されているので、ダウンロードしてインストールすれば使えるようになります。 gccなら最新版の3.4.2まで提供されています。 もう少しgoogleとかでバイナリがないか調べたほうが いいでしょう。

参考URL:
http://sunsite.sut.ac.jp/sun/solbin/

関連するQ&A

  • gccコンパイル時のエラーメッセージを説明してください。

    下に書いてあるプログラムをコンパイルしたら、更にその下に書いてあるようなエラーメッセージがでました。何を直せといっているのかいまいちよく分からないので解説してください。 そもそもgccのコンパイルに失敗しているってことなのかなとも思いましたが、gccはネットからゲットしてきたパッケージなので、なんとも確証がもてません。 プログラム #include<string.h> char * Basename(char *pathname) { char *cp; if(cp = strrchr(pathname,'/')) return cp + 1; return pathname; } メッセージ Undefined first referenced symbol in file main /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.2/crt1.o ld: fatal: Symbol referencing errors. No output written to a.out collect2: ld returned 1 exit status

  • gccですが、コンパイルができません!

    以下のプログラムですが #include <stdio.h> int main() { Int col; char i; scanf( "%d", &col ); for( i = 0 ; i < 26 ; i++ ){ if( i > 0 && ( i % col ) == 0 ) printf( "\n" ); printf( "%c", 'a' + i ); } return 0; } 以上のプログラムをgccでコンパイルしました。 コンパイルするために入力した文字→  gcc p.c -o p.exe 以下のエラーがでてコンパイルできません。 p.c: In function `main': p.c:4: error: `Int' undeclared (first use in this function) p.c:4: error: (Each undeclared identifier is reported only once p.c:4: error: for each function it appears in.) p.c:4: error: syntax error before "col" p.c:7: error: `col' undeclared (first use in this function) p.c:17:2: warning: no newline at end of file  以上なぜコンパイルができないのですか? よろしくお願いいたします。

  • gcc コンパイル killed

    gccでC言語で書いたコードをコンパイルしたところ コンパイルには成功したのですが 実行してみると killed と表示されてしまいます #include <stdio.h> int main(){ printf("TEST\n"); return 0; } こんな簡単なものでもコンパイル後、実行すると killedと表示されTESTと表示されません $gcc test.c -o test $./test killed $ この様になります。ldid -Sでコンパイルされたファイルを直すことは可能なのですが どのコードでも毎回、killedという表示になってしまいます 毎回毎回コンパイル後にldidコマンドを使用するのも嫌なので直したいのですが "再インストール以外"の方法で直してみたいです。今後、同じようなエラーが起きた際、役にも立ちますし、Cについての勉強にもなりますので (再インストールでは詳しい原因がわかりません) 原因をご存知の方がいましたらよろしくお願いします。(Linux)

  • ソースコンパイルしたアプリを調べる

     rpmパッケージからインストールしたアプリはrpm -qa | grep アプリ などで調べることができると思います。ソースコンパイルしたアプリはどのように調べることができますでしょうか?  また、ソースコンパイルしたアプリは自分の環境でコンパイルするので不具合が少ないと聞きましたが、rpmパッケージだとなにかあったりするものなのでしょうか?アンインストールなどの面から見るとどう見てもrpmパッケージをインストールした方がいいと思うのですが・・・・。 宜しくお願いします。

  • コンパイルが通らない原因は?

    初心者な質問で大変申し訳ありません。 宜しければ教えていただけますでしょうか? 現在、Javaの学習をしていまして、 教材のソースをコンパイルしたところ、 エラーになってしまい困っております。 内容としましては、 サーブレットとBeansの連携プログラムです。 サーブレット:MvcControl1.java Beans:MvcBean1.java サーブレットでMvcBean1をインスタンス化して いるので、先にMvcBean1をコンパイルし、 次に同フォルダ(Dir)内のMvcControl1をコンパイル しようとしたところ、 MvcControl1.java:17: シンボルを解決できません。 シンボル: クラス MvcBean1 場所 : chap8.MvcControl1 の クラス MvcBean1 mvcbean1 = new chap8.MvcBean1(); // インスタンス化 ^ MvcControl1.java:17: シンボルを解決できません。 シンボル: クラス MvcBean1 場所 : chap8 の パッケージ MvcBean1 mvcbean1 = new chap8.MvcBean1(); // インスタンス化 ^ エラー 2 個 と、エラーが出てしまいます。 MvcControl1と同じディレクトリーに MvcBean1のクラスファイルを置いているのですが、 何が原因かわかりません。 宜しければ教えて頂けませんでしょうか? お願い致します。

    • ベストアンサー
    • Java
  • コンパイルエラー

    VCでファイル(.c)をコンパイルしたところ 以下のエラーが出てしまいました。 error LNK2019: 未解決の外部シンボル _sqlcxt が関数 _xxxxxxxx で参照されました。 なんかの設定不足でしょうか? お分かりの方がおりましたら、よろしくお願いします。

  • コンパイルできない?

    数値計算用のソフトとして、コンパイラにSalfordのFORTRAN77、エディタにCpadを使用しています。 ソースコードをCpadに書き込み、コンパイルしてコマンドプロンプトを開き、必要な数値を入力して計算をしています。 ですが、どこも間違っていないソースコードを使用しているにも関わらず、「コンパイルに失敗しました」と表示され、計算ができないということが発生し困っています。 たとえば、どこも間違っていないソースコード「A」をコピーし、コピーしたソースコードをCpadに貼り付けてソースコード「B」を作成したとします。 普通であれば、「A」で計算可能であれば「B」でも可能なはずです。 ところが「B」をコンパイルしようとすると、「A」をコピー時にどこも変えていないにもかかわらず「コンパイルに失敗しました」と表示されてしまうのです。 Cpadを再インストールしてみましたが、この問題は解決しませんでした。 原因として考えられるものは何なのでしょうか? 数値計算に関してはど素人同然ですので、お手柔らかにお願い致します。

  • コンパイルできない...

    学校のC言語のレポートを家でやろうと思ったのですが、ソースコードを変更していないのにコンパイル時にエラーがでます。おそらく環境の違いによるものだと思うのですが、そのへんには非常に疎いもので教えていただけないでしょうか? 実行したコンパイルは gcc -g -o abc abc.c fft.o -lm です。 学校はRed Hat Linuxで自宅はWindowsなのでcygwinを用いています。エラー文ではfft.oがうまく取り込めていないみたいです。

  • LINUXでコンパイルができません

    RedHat6.2と7.0をつかっているのですが、tar.gz形式のソフトをダウンロードして、解凍するところまでは出来るのですが、makeコマンドを使ってコンパイルしようとすると、始めは、makeなんてない!って言われてこりゃいかんと思い、インストールディスクに入ってたmakeのRPMパッケージをインストールしてやってみたところ、今度はgccがないぞ!と言われて、「へ?それもいるの?」という感じで、パッケージを探したところ、入ってなくて仕方なくネット上を捜し歩いたら、rpmパッケージを発見したので、それをインストールしたのですが、それで実行すると、最後の最後で、エラーが出て、結局コンパイルできませんでした。これではなんにもソフトがインストールできません。どなたかアドバイスをお願いします。因みに今は、自宅ではないのでエラーメッセージがわかりません。帰ってからコメントしておきます。

  • PHP5ビルド時のundefined reference to `libiconv'エラーについて

    下の『libintlの入手方法を教えてください。 』で回答者の方から、libiconvの機能はglibcで提供されていると教えていただいたので、--with-iconv-dir=DIRオプションをつけずにPHPをビルドしようとしましたが、  undefined reference to `libiconv'  undefined reference to `libiconv_open'  undefined reference to `libiconv_close' というエラーが出てビルドできません。 一度、libiconvをインストールしてしまっていたので、これを削除して、さらに、glibc-headers-2.4-4.i386.rpmとglibc-devel-2.4-4.i386.rpmを強制的に入れなおしても状況は改善しませんでした。 やはり、libiconvを使わないといけないのでしょうか? ※ちなみに、libconvを使うようにしても同じエラーがでまして、Makefileに-liconvを追加して凌ぐことはできましたが、あまり美しくないかなと思っています。 どうか宜しくご教示願います。

専門家に質問してみよう