のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,836人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレGCCについて part10

    gcc スレッド一覧へ / gcc とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    251 : デフォルトの名無 - 2013/01/31(木) 20:24:56.18 .net (+27,-1,-3)
    コンパイル時にしてするものでビルド時に指定するもんじゃないような
    252 : デフォルトの名無 - 2013/01/31(木) 20:36:24.41 .net (+1,-29,-7)
    >>251
    やっぱそうなるか
    じゃあ libgcc だけ, 単独に short-enum にできる安直な方法ってある?
    253 : デフォルトの名無 - 2013/01/31(木) 20:40:44.15 .net (-1,-29,-5)
    4.7だと
    libgcc/config/arm/t-linux
    に仕込めばいいような
    254 : デフォルトの名無 - 2013/01/31(木) 20:43:16.98 .net (+3,-30,-61)
    もしくは
    make CFLAGS_FOR_TARGET="-g -O2 -fomit-frame-pointer" CXXFLAGS_FOR_TARGET="-g -O2 -fomit-frame-pointer"
    な感じか?
    255 : デフォルトの名無 - 2013/03/06(水) 23:53:27.37 .net (+0,+0,+0)
    たのもう
    gcc 4.7.2 のコンパイルでつまづいてる (gmp 5.1.1、mpfr 3.1.1、mpc 1.0.1 はコンパイルできた)

    ../configure --enable-languages=c,c++ --enable-bootstrap --enable-shared --enable-threads=posix \
    --enable-checking=release --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object \
    --disable-dssi --disable-multilib --with-gmp-lib=/usr/local/lib64 --with-mpfr-lib=/usr/local/lib64 \
    --with-mpc-lib=/usr/local/lib64 --without-ppl --with-tune=generic

    の後の make 実行したら mkdir -p -- x86_64-unknown-linux-gnu/libgcc のあるフェーズで、

    checking for suffix of object files... configure: error: in `/w/gcc/gcc-4.7.2/build/x86_64-unknown-linux-gnu/libgcc':
    configure: error: cannot compute suffix of object files: cannot compile
    See `config.log' for more details.

    とか言われた
    x86_64-unknown-linux-gnu/libgcc/config.log には

    configure:3344: /w/gcc/gcc-4.7.2/build/./gcc/xgcc -B/w/gcc/gcc-4.7.2/build/./gcc/ -B/usr/local/x86_64-unkn
    own-linux-gnu/bin/ -B/usr/local/x86_64-unknown-linux-gnu/lib/ -isystem /usr/local/x86_64-unknown-linux-gn
    u/include -isystem /usr/local/x86_64-unknown-linux-gnu/sys-include -V >&5
    xgcc: error: unrecognized command line option '-V'

    とか出てるんだけど、何が悪いかわかる人いたら教えてくらさい
    ただし英語のドキュメントは読めない
    256 : デフォルトの名無 - 2013/03/06(水) 23:56:04.33 .net (-1,-29,-8)
    ちなみに OS は CentOS 5.3 x86_64 でございますれば
    他に補足の情報が必要であれば指摘ください
    257 : デフォルトの名無 - 2013/03/07(木) 00:20:28.62 .net (+8,-29,-27)
    command line option とみなされてるのが問題なんだろ
    shell 変えてみるとか
    258 : デフォルトの名無 - 2013/03/08(金) 09:11:55.41 .net (-1,-29,-27)
    うーん、sh、csh、ksh、bash を試しましたが変化ありませんなあ・・・orz
    259 : デフォルトの名無 - 2013/03/09(土) 02:46:26.94 .net (-2,-25,+0)
    -Vを消しちゃえばいいやん
    260 : デフォルトの名無 - 2013/03/09(土) 13:30:08.59 .net (+0,-29,-16)
    >>255
    同じような症状で
    --disable-libquadmath
    つけたら通った
    261 : デフォルトの名無 - 2013/03/11(月) 04:33:46.70 .net (+0,-30,-192)
    'unrecognized' command line optionでxgccのエラーだぜ、ってことで>>257はおかしい
    xgccってのはまさにいま作ってる最中のgccで、そいつが-Vを受け付けてない(手元のgccで試したら確かに4.7系は-Vを受け付けない)
    -Vの出力から'compute suffix of object files'をしようとしてるんだから>>259もおかしい
    エラーはlibgccのconfigureで起きてるっぽいので>>260もどうかなあ

    つーことで、configureのその行の前後にxgcc -B中略 -Vの結果を加工して
    suffix of object files(たぶん.o)をどっかの変数に入れてるところがあるはずなんで
    その辺書き換えて直接.oをセットしてしまえばいいと思う
    環境差かなんかで普通入り込まない過去のgcc互換かなんかの分岐に入ってしまってるんだろう

    と予想、外れてたらごめん
    262 : デフォルトの名無 - 2013/03/11(月) 05:49:25.22 .net (+7,-30,-55)
    たぶん、glibc-develあたりのパッケージが入ってないような
    # yum groupinstall "Development Tools"
    をやれば、いいような
    263 : 257 - 2013/03/11(月) 07:03:51.09 .net (+58,+29,-7)
    >>262
    漏れも最初にそう思ったんだけど、
    わざとボケてみたんだ。
    ごめん。
    264 : デフォルトの名無 - 2013/03/11(月) 09:38:08.17 .net (+45,+27,+0)
    俺も俺も
    265 : デフォルトの名無 - 2013/03/17(日) 14:29:39.93 .net (+3,-30,+0)
    すいません、これでできました
    su
    mkdir /w; mkdir /w/gcc; cd /w/gcc
    wgethttp://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-4.7.2/gcc-4.7.2.tar.bz2
    wget ftp://ftp.gmplib.org/pub/gmp/gmp-5.1.1.tar.bz2
    wgethttp://www.mpfr.org/mpfr-current/mpfr-3.1.2.tar.bz2
    wgethttp://core.ring.gr.jp/pub/GNU/mpc/mpc-1.0.1.tar.gz
    tar xvfj gcc-4.7.2.tar.bz2
    tar xvfj gmp-5.1.1.tar.bz2
    tar xvfj mpfr-3.1.2.tar.bz2
    tar xvfz mpc-1.0.1.tar.gz
    mkdir gcc-4.7.2/build
    mkdir gmp-5.1.1/build
    mkdir mpfr-3.1.2/build
    mkdir mpc-1.0.1/build
    cd gmp-5.1.1/build
    ../configure --enable-cxx
    make
    #make install
    cd ../../mpfr-3.1.2/build
    ../configure
    make
    #make install
    cd ../../mpc-1.0.1/build
    ../configure
    make
    #make install
    cd ../../gcc-4.7.2/build
    ../configure --enable-languages=c,c++ --enable-cxx --with-newlib --disable-multilib --enable-threads=posix --with-tune=amdfam10
    export LD_LIBRARY_PATH=/usr/local/lib64
    make
    #make install
    266 : デフォルトの名無 - 2013/03/17(日) 15:08:52.01 .net (+3,-30,+0)
    あ、↑の #make install は make install でございますれば

    で、

    ../configure --enable-languages=java --with-newlib --disable-multilib --enable-threads=posix --disable-bootstrap

    とするとコケて、どうしても Java コンパイラが作れないです

    libtool: compile: /w/gcc/gcc-4.7.2/build_java/./gcc/xgcc -shared-libgcc
    ---snip---
    java/net/.deps/natVMInetAddress.Tpo -c java/net/natVMInetAddress.cc -fPIC -DPIC -o java/net/.libs/natVMInetAddress.o
    java/net/natVMInetAddress.cc:42:52: error: declaration of C function ‘int gethostname(char*, int)’ conflicts with
    In file included from java/net/natVMInetAddress.cc:12:0:
    /usr/include/unistd.h:845:12: error: previous declaration ‘int gethostname(char*, size_t)’ here
    make[3]: *** [java/net/natVMInetAddress.lo] Error 1

    Web 検索しても、なぜかコケて回避できないみたいな記述があったような無かったような
    267 : デフォルトの名無 - 2013/03/17(日) 15:44:56.69 .net (+3,-30,-90)
    あー、

    ../configure --enable-languages=java --disable-multilib --disable-bootstrap

    にしたらコンパイルできますた
    が、実際に .java ファイルをコンパイルしようとすると

    gcc: error trying to exec 'ecj1': execvp: No such file or directory

    とか怒られる
    ググったらこんな感じ
    http://barutan.s296.xrea.com/cgi-bin/tdiary/?date=20100220#p04
    お手上げでしょか?
    268 : デフォルトの名無 - 2013/03/17(日) 16:31:58.39 .net (-1,-29,-12)
    ecj1って、eclipse関連のパッケージみたいだね。
    http://launchpad.net/ubuntu/+source/ecj/3.5.1-6
    269 : デフォルトの名無 - 2013/03/17(日) 16:41:06.65 .net (-1,-29,-15)
    GCJ使うのが目標だったのね。
    ディストリビューションのspecファイル参考にするといいんじゃないかな。
    270 : デフォルトの名無 - 2013/03/20(水) 09:53:14.28 .net (-6,-29,-3)
    4.8.0リリース?
    271 : デフォルトの名無 - 2013/03/20(水) 19:02:05.70 .net (+57,+29,-1)
    リリースアナウンス出てないからまだだろう
    272 : デフォルトの名無 - 2013/03/21(木) 12:32:55.08 .net (+48,-29,-17)
    gcc 4.8.0をmakeしようとしたらこんなの出ました。
    この前にmakeをビルドしたのですが、makeのビルドに失敗したって意味でしょうか?
    273 : デフォルトの名無 - 2013/03/21(木) 16:35:57.64 .net (-1,-29,-8)
    makefileの1~6行目を晒すとか
    274 : デフォルトの名無 - 2013/03/21(木) 16:42:10.00 .net (+3,-30,-89)
    makeで始める行はmakeコマンドが出力してる。[n]はネストの深さ。
    エラーが起きているのはシェルにコマンド行で渡して実行させているコード。
    EOFが出てるのは、Win32上で有名な
    > [Please ignore a syntax error on the next line - it is intentional]
    じゃないんだな。この部分は出てないので。
    275 : デフォルトの名無 - 2013/03/21(木) 19:49:40.74 .net (+88,-30,-29)
    すみません。今見たらbuild/libiberty/config.logにNo such file or directoryと書いてありました。
    ぐぐってみます。
    ありがとうございました。
    276 : 275 - 2013/03/22(金) 11:21:05.10 .net (+53,-30,-74)
    しつこくてすみません
    MinGWにpthreadsをインストールしてgcc 4.8.0をコンパイルしようとしたのですが、sys/systemcfg.hが無いといわれて
    ググったのですが、見当たらないのでwinpthreadsをコンパイルしようとしたのですが、makeでエラーになります。
    configureもmakeも改変せずにビルドしているのですが、makeが存在していないファイルを作ろうとしていてmakefileに問題があるのでしょうか?
    277 : デフォルトの名無 - 2013/03/22(金) 13:45:00.07 .net (+11,-11,+1)
    windowsでは無理
    278 : デフォルトの名無 - 2013/03/23(土) 01:57:39.27 .net (-1,-29,+0)
    GCC 4.8.0 released [2013-03-22]
    279 : 275 - 2013/03/23(土) 10:20:20.80 .net (+3,-30,-173)
    しつこくてすみません
    make[1]: *** `src/libwinpthread_la-barrier.lo' に必要なターゲット `src/.dirstamp' を make するルールがありません. 中止.
    make: *** [all] エラー 2
    となるんですがmakefileの該当部分は

    libdummy.la: $(libdummy_la_OBJECTS) $(libdummy_la_DEPENDENCIES)
    $(LINK) $(libdummy_la_OBJECTS) $(libdummy_la_LIBADD) $(LIBS)
    src/$(am__dirstamp):
    @$(MKDIR_P) src
    @: > src/$(am__dirstamp)
    src/$(DEPDIR)/$(am__dirstamp):
    @$(MKDIR_P) src/$(DEPDIR)
    @: > src/$(DEPDIR)/$(am__dirstamp)
    src/libwinpthread_la-barrier.lo: src/$(am__dirstamp) \
    src/$(DEPDIR)/$(am__dirstamp)
    これでは.dirstampは作れていないのでしょうか?
    280 : 275 - 2013/03/23(土) 10:27:04.93 .net (+3,-30,-51)
    くっつけるerr.logを間違えました上の部分のエラーログは
    process_begin: CreateProcess(NULL, /bin/mkdir -p src, ...) failed.
    make (e=2): 指定されたファイルが見つかりません。
    make[1]: *** [src/.dirstamp] エラー 2
    make: *** [all] エラー 2
    こちらです
    281 : 275 - 2013/03/23(土) 10:57:48.87 .net (-1,-29,-6)
    cd src
    touch .dirstamp
    cd .deps
    touch .dirstamp
    したらmakeできました
    お騒がせしました
    282 : デフォルトの名無 - 2013/03/25(月) 12:34:35.28 .net (+57,+29,-59)
    4.8で動かなくなる奴たくさんありそうだな

    普通の実行順序で考えると動きそうだし
    たまたまローカル変数ですべて収まってたから、
    過度に最適化されたのかな?
    283 : デフォルトの名無 - 2013/03/25(月) 12:48:29.38 .net (+62,+29,-103)
    SPECのコードが壊れた話?

    C言語は高級アセンブラで、思った通りの機械語コードを吐いてくれる、
    なんてのが昔話だと、いい加減みんな認識すべきなんだな。

    現代のC言語は、最適化オプション付けていて、未定義を踏んでたら
    悪魔と契約してでも最適化を掛けてくるもんだ、と思うべき。
    284 : デフォルトの名無 - 2013/03/25(月) 12:53:58.03 .net (+50,+23,+2)
    日本語でどうぞ
    285 : デフォルトの名無 - 2013/03/25(月) 13:01:18.08 .net (+56,+28,-13)
    壊れるようなコードを書いているやつが悪い
    286 : デフォルトの名無 - 2013/03/25(月) 13:26:59.99 .net (+82,+29,-2)
    >>284
    このスレでこの程度のジャーゴンもわからないとか。
    287 : デフォルトの名無 - 2013/03/25(月) 13:55:39.89 .net (+62,+24,-18)
    >>286
    単語の問題ではなく文法の問題では?
    288 : デフォルトの名無 - 2013/03/25(月) 14:46:33.36 .net (+57,+29,-22)
    brokenな日本語でも日本語の話者ならば補って理解できる。
    289 : デフォルトの名無 - 2013/03/25(月) 21:04:51.78 .net (+57,+29,-69)
    実行される可能性がある未定義動作のコードが一行でも混じっていれば
    そのプログラムは起動直後からソースコードを一切無視してどういうふるまいをしても構わない。

    過度の最適化ではない。
    290 : デフォルトの名無 - 2013/03/25(月) 22:16:03.70 .net (+68,+29,-53)
    >>286
    底辺職種に従事している人が多いからね
    そんな奴は脳レベルが低すぎてbrokenな日本語は理解不能
    291 : デフォルトの名無 - 2013/03/25(月) 23:31:42.31 .net (+52,+29,-1)
    罵倒遊びも飽きた
    292 : デフォルトの名無 - 2013/03/28(木) 12:01:59.57 .net (+57,+29,-4)
    4.8、動かない以前にビルド通らんのが出てきたぞ
    バージョン上がる度に型チェック厳しくなる一方だぜ
    293 : デフォルトの名無 - 2013/04/02(火) 05:44:55.99 .net (-2,-30,-16)
    http://gcc.gnu.org/projects/cxx0x.html
    Rvalue references for *this : GCC 4.8.1
    294 : デフォルトの名無 - 2013/04/06(土) 15:49:25.58 .net (-1,-29,-12)
    fast-mathオプションをつけるとisnanが機能しなくなるのだけど、何かいい手はない?
    295 : デフォルトの名無 - 2013/04/06(土) 16:06:06.33 .net (-1,-29,-6)
    そのファイルだけfast-mathを外してコンパイルする。
    と、どうなるか試してほしい。
    296 : デフォルトの名無 - 2013/04/06(土) 16:45:32.27 .net (-1,-29,-13)
    fast-mathつけなければ大丈夫。
    fast-mathをつけると、isnan以外にも、a != aで判定する方法もダメ。
    何かいい方法ないかな
    297 : デフォルトの名無 - 2013/04/06(土) 16:57:51.17 .net (+3,-30,-100)
    -ffast-math をばらして必要なオプションだけを指定してみたら?

    -ffast-math
      Sets -fno-math-errno, -funsafe-math-optimizations,
      -fno-trapping-math, -ffinite-math-only, -fno-rounding-math, -fno-signaling-nans and fcx-limited-range.
    298 : デフォルトの名無 - 2013/04/06(土) 22:18:43.85 .net (-2,-30,-18)
    -ffast-math -fno-finite-math-only の併用でok
    299 : デフォルトの名無 - 2013/04/08(月) 21:00:04.38 .net (+0,-30,-97)
    4.8ビルドしようとするとgccでintl-printと__printf__が不明と怒られる
    仕方ないのでconfig.hに#include <libintl.h>を書き足すと>>255と同じ事
    言われて怒られる、しかしgmp等はインスト済み
    これってx64のライブラリ以外にx86のライブラリも必要って事なのかな?
    300 : デフォルトの名無 - 2013/04/08(月) 22:29:24.61 .net (+0,-30,-22)
    コマンドラインまで >>255 と同じなら

    × --with-gmp-lib=/usr/local/lib64
    ○ --with-gmp=/usr/local

    mpfr,mpc も同様
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / gcc スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について