GCCについて part10

■ このスレッドは過去ログ倉庫に格納されています
2011/09/03(土) 14:13:04.14
史上最強かもしれなかったツール、GCC(GNU Compiler Collection)について語るスレ。

GNU本家のGCCページ
http://gcc.gnu.org/

Binutils - Collection of binary utilities ←これも必要だぞ。
http://www.gnu.org/directory/GNU/binutils.html

GNU Binutils
http://sources.redhat.com/binutils/

GCC online documentation
http://gcc.gnu.org/onlinedocs/

Installing GCC
http://gcc.gnu.org/install/

GCC Timeline
http://gcc.gnu.org/releases.html#timeline

Calendar
http://gcc.gnu.org/develop.html#timeline

前スレ
GCCについて part9
http://hibari.2ch.net/test/read.cgi/tech/1246059290/

関連スレ
【最速へ】LowLevelVirtualMachine【LLVM】
http://hibari.2ch.net/test/read.cgi/tech/1211547655/
2012/04/11(水) 07:08:36.38
get_wild関数で変数名がxyzです。
何が起こるでしょうか?
2012/04/11(水) 07:31:21.19
>>181
つまりclock_gettimeは使わないという結論か
2012/04/11(水) 14:43:38.38
>>183
time関係は遅いのかもしれんけど、今時の実行環境ならさほど問題になるようなことはない気がするけど
何をするかによっても関数の実行時間が問題になるかは変わってくるからね
2012/04/12(木) 01:36:44.09
>>182
アスファルトにタイヤを切りつける
2012/04/12(木) 12:34:06.48
>>182
プログラム「都市狩り」起動
2012/04/12(木) 12:35:16.88
>>182
プログラム「都市狩り」起動
2012/04/12(木) 22:37:53.88
>>182
恋人が交通事故死します。
2012/04/15(日) 18:17:28.30
冴羽遼は関係無いだろ
2012/04/15(日) 20:46:36.79
じゃあ何ならいいんだ
2012/05/03(木) 11:29:23.10
gccをビルドすると/usr/lib/に妙なperlかpythonのスクリプト(忘れた))が生成されるけど、あれ何するためのものなの?
192age
垢版 |
2012/05/03(木) 11:31:53.03
GCC4.7でIntelコンパイラーのように__Cilk命令がマージされたような話を聞いたけど、これ本当にマージされてるの?
どうやったら動くの?何か特殊なビルドオプション等が必要?
2012/05/04(金) 00:57:31.93
?-gdb.py
消しても問題みたいだけど
2012/05/04(金) 01:00:40.04
逝ってるなコンパイラは逝ってるなことやってるんだ
2012/06/15(金) 15:53:57.15
4.7.1
2012/07/04(水) 18:10:06.71
system関数を使ってmpg123を呼び出し、
mp3ファイルを再生しようとしています。
そして、再生の途中で再生を終了させるにはどんな方法があるでしょうか?
端末からコマンドラインで直接打つ場合はctrl+cで止められますが、
ctrl+cと同じことをgccでやろうとしたらどうすればいいのでしょうか?
環境はlinuxです。
2012/07/04(水) 18:37:19.91
systemはやめてfork-execでpidを得た後killすればいい
2012/07/05(木) 12:04:38.02
>>196
popenとmpg123 -Rでやれば
2012/07/24(火) 01:02:18.16
kill `ps | grep mpg123 | awk '{print $1;}'`
ってやるシェルスクリプトをsystemすればいいんじゃね?
200デフォルトの名無しさん
垢版 |
2012/07/27(金) 08:18:19.48
os xをマラにしたらgccが消えてしまいました。
どこへ行かれたのでしょうか?
2012/07/27(金) 09:17:44.29
>>200
XcodeのメニューPreferencesからDownloadsタブのComponentsにあるCommand Line Toolsをインストールしれ
2012/08/17(金) 02:08:45.92
gcc/config/i386/i386.cの
distance_non_agu_define_in_bb
の関数が
ヌルポで落ちることがあるぜえ
2012/08/17(金) 14:31:42.91
つ bugzilla
2012/08/17(金) 15:01:23.80
自力で何とかしたから、そこまでやる気なし
2012/08/17(金) 16:25:58.44
ちょっwww
2012/08/17(金) 17:12:11.88
こうして不具合は残ったままになるのでした。おしまい。
2012/08/17(金) 17:27:52.03
たまに、
引掛け?
みたいなことしてることあるし
2012/08/17(金) 18:30:39.29
ヌルポでコンパイルが止まるだけ
君には見つけられるかって感じだからね
2012/08/18(土) 13:29:25.72
gcc4.7.1+pthreads_win32でスレッドモデルposixでビルドすると、c++のプレコンパイルヘッダのmakeでこけます。
operator<でエラーで、どうやらptw32_handle_tが構造体だから比較できないってことらしい。
どなたか対処法などご存知ではないでしょうか?

2012/08/18(土) 13:35:58.92
クラスにする
2012/08/18(土) 15:02:52.41
おそらく文脈的にoperator<なんていらん所だろう
コンパイラが変な解釈してるだけと思う
2012/08/18(土) 15:43:14.51
そっちかよw
pthreads_win32をやめるのがいいかと。
2012/08/18(土) 20:40:29.10
>>212
無茶言うなよ・・・
2012/08/18(土) 21:22:45.78
ここの3番
ttp://sourceforge.net/mailarchive/message.php?msg_id=26533137
2012/08/18(土) 22:49:01.09
楽しようとして、ハマりましたって、オチにならなきゃいいけどね
2012/08/18(土) 23:08:57.58
>>214
サンクスです。
さっそく、試してみます。
2012/08/30(木) 20:29:33.41
コンバイン1,2,3
状態
ありがと
2012/09/03(月) 03:13:46.95
単独行動できる仕掛けが
2012/09/21(金) 03:07:46.70
4.7.2
220デフォルトの名無しさん
垢版 |
2012/10/11(木) 22:53:24.71
ほしゅあげ
2012/11/09(金) 02:16:10.23
ビルド時に内部エラーが出るとバックトレースしてくれるようになってるな
2012/12/17(月) 08:18:28.87
forの中のx++をx+1とかx+2にすると無限ループになってしまいます。
x++以外にしたいときはどう書くのでしょうか?
linuxで4.4.5です(円記号は実際にはバックスラッシュです)

#include <stdio.h>

int main()
{
int x;

for(x=0; x<10; x++)
{
printf("%d\n",x);
}

return 0;
}
2012/12/17(月) 08:20:09.02
>>222
x+=1 とか x+=2 とかにすればいいよ。
gcc 特有の事情でない話は C スレに行った方がいいよ。
2012/12/18(火) 17:31:31.01
x = x++;
以来の衝撃を受けた気がする
2012/12/19(水) 22:42:12.03
沖林正紀 を超えたかも知れない
226デフォルトの名無しさん
垢版 |
2013/01/13(日) 11:32:27.35
mesてsh3のローカルバージョンなんだが、setjmp.hが無い。
longjmpの代わりになる方法とかないか?
2013/01/13(日) 23:44:34.43
>>226
newlibあたりからもらってくればいいんでないかい
2013/01/13(日) 23:56:49.15
gcc の新しい CPU 向けのポートの話はここでいいの?
229デフォルトの名無しさん
垢版 |
2013/01/14(月) 04:45:24.75
>>228 yes
230デフォルトの名無しさん
垢版 |
2013/01/14(月) 17:31:06.90
>227
なるほど。 とはいったものの、どうしたらいいのやら。
newlibのソースって当然ASMだろうな。mesのGCCですんなりコンパイルできる
だろうか?
2013/01/14(月) 18:00:13.06
>>229
あれはふつーのsh-coffだろう
何も考えずにプロジェクトに入れちまえ
232231
垢版 |
2013/01/14(月) 18:00:54.52
すまん
s/229/230/
2013/01/14(月) 18:35:07.31
何を悩むことがあるのか分からん。
とりあえずnewlibをコンパイルしてみればいいじゃないか。SH4ということにして。
2013/01/16(水) 01:59:09.30
newlib/libc/machine/sh/setjmp.S
2013/01/20(日) 21:02:32.76
GDBについて聞きたいんだが、ファイルポインタなどで外部ファイルからパラメータを読み込むプログラムなんだけど
デバックする場合、エラーは起きる?それともこれがエラーの原因なんかな
2013/01/20(日) 21:13:10.35
日本語でok
2013/01/20(日) 21:13:54.81
うーん、ダメやなGDBうまくわかってないから伝えられないな
すまんな
2013/01/20(日) 21:16:38.64
ニシくんテクとして壊れたパーツもあえて保持するというテクがあるんやで
2013/01/20(日) 21:17:21.02
gbk
2013/01/20(日) 21:17:26.27
GDBの問題じゃないからね、それ
2013/01/20(日) 21:27:31.25
プログラム的におかしいってことなんかな
コンパイル時にエラーは言われないんだけど、実行結果でエラー言われるんだよね
もう一度確認してみますわ
2013/01/20(日) 21:31:35.73
scanfの使い方がおかしいだけでしょ
&のつけ忘れとか
2013/01/20(日) 21:33:52.87
エスパーすげえな
SetFilePointerとデバッガで挙動が変わるのと何の関係が?としか思えなかったわ
2013/01/20(日) 21:47:35.79
書き方がおかしな所はコンパイル時にわかるけど
実行時の問題まで探してくれてるわけじゃないからね
2013/01/20(日) 21:59:32.49
エスパーな質問なのに答えてくれてほんとありがとう
scanf確認したんですが&は一応ついてました
もう少し色々お聞きしたいのですが、C言語の話題になってしまいそうなのでC言語スレで聞いて見ようと思います

GDB自体は実際の実行と同じように動作すると分かって良かったでうs
2013/01/22(火) 00:45:18.92
GCCVer3の最終版使うのとGCC最新版(Ver4)使うのではどっちが安定なんだろうか
2013/01/22(火) 00:56:08.11
対応したarchなら、コンパイルという動作はどっちも安定してるんじゃね
2013/01/22(火) 09:26:59.11
4の安定版使え。
2013/01/22(火) 09:44:34.52
コンパイラ単体で見れば歴史の長い3の方が枯れていると言えるかもしれないけど、
そう単純なものでもないんだよね。
C++ABI がちょっと違ったりするので、今更3を使うのは問題の種になると思う。
と言うわけで私としては4を推す。
2013/01/31(木) 20:15:33.81
short-enum な --taret=arm* な 4.6.4 で,
short-enam な --hist=arm* な 4.6.4 を作ろうとすると
色々まずいっぽいんだが, 既知の事実ですか?
2013/01/31(木) 20:24:56.18
コンパイル時にしてするものでビルド時に指定するもんじゃないような
2013/01/31(木) 20:36:24.41
>>251
やっぱそうなるか
じゃあ libgcc だけ, 単独に short-enum にできる安直な方法ってある?
2013/01/31(木) 20:40:44.15
4.7だと
libgcc/config/arm/t-linux
に仕込めばいいような
2013/01/31(木) 20:43:16.98
もしくは
make CFLAGS_FOR_TARGET="-g -O2 -fomit-frame-pointer" CXXFLAGS_FOR_TARGET="-g -O2 -fomit-frame-pointer"
な感じか?
2013/03/06(水) 23:53:27.37
たのもう
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'

とか出てるんだけど、何が悪いかわかる人いたら教えてくらさい
ただし英語のドキュメントは読めない
2013/03/06(水) 23:56:04.33
ちなみに OS は CentOS 5.3 x86_64 でございますれば
他に補足の情報が必要であれば指摘ください
2013/03/07(木) 00:20:28.62
command line option とみなされてるのが問題なんだろ
shell 変えてみるとか
2013/03/08(金) 09:11:55.41
うーん、sh、csh、ksh、bash を試しましたが変化ありませんなあ・・・orz
2013/03/09(土) 02:46:26.94
-Vを消しちゃえばいいやん
2013/03/09(土) 13:30:08.59
>>255
同じような症状で
--disable-libquadmath
つけたら通った
2013/03/11(月) 04:33:46.70
'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互換かなんかの分岐に入ってしまってるんだろう

と予想、外れてたらごめん
2013/03/11(月) 05:49:25.22
たぶん、glibc-develあたりのパッケージが入ってないような
# yum groupinstall "Development Tools"
をやれば、いいような
263257
垢版 |
2013/03/11(月) 07:03:51.09
>>262
漏れも最初にそう思ったんだけど、
わざとボケてみたんだ。
ごめん。
2013/03/11(月) 09:38:08.17
俺も俺も
2013/03/17(日) 14:29:39.93
すいません、これでできました
su
mkdir /w; mkdir /w/gcc; cd /w/gcc
wget http://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
wget http://www.mpfr.org/mpfr-current/mpfr-3.1.2.tar.bz2
wget http://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
2013/03/17(日) 15:08:52.01
あ、↑の #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 検索しても、なぜかコケて回避できないみたいな記述があったような無かったような
2013/03/17(日) 15:44:56.69
あー、

../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
お手上げでしょか?
2013/03/17(日) 16:31:58.39
ecj1って、eclipse関連のパッケージみたいだね。
https://launchpad.net/ubuntu/+source/ecj/3.5.1-6
2013/03/17(日) 16:41:06.65
GCJ使うのが目標だったのね。
ディストリビューションのspecファイル参考にするといいんじゃないかな。
2013/03/20(水) 09:53:14.28
4.8.0リリース?
2013/03/20(水) 19:02:05.70
リリースアナウンス出てないからまだだろう
2013/03/21(木) 12:32:55.08
gcc 4.8.0をmakeしようとしたらこんなの出ました。
この前にmakeをビルドしたのですが、makeのビルドに失敗したって意味でしょうか?
http://www.07ch.net/up2/src/lena8828.png
2013/03/21(木) 16:35:57.64
makefileの1〜6行目を晒すとか
2013/03/21(木) 16:42:10.00
makeで始める行はmakeコマンドが出力してる。[n]はネストの深さ。
エラーが起きているのはシェルにコマンド行で渡して実行させているコード。
EOFが出てるのは、Win32上で有名な
> [Please ignore a syntax error on the next line - it is intentional]
じゃないんだな。この部分は出てないので。
2013/03/21(木) 19:49:40.74
http://www.07ch.net/up2/src/lena8830.png
すみません。今見たらbuild/libiberty/config.logにNo such file or directoryと書いてありました。
ぐぐってみます。
ありがとうございました。
276275
垢版 |
2013/03/22(金) 11:21:05.10
しつこくてすみません
MinGWにpthreadsをインストールしてgcc 4.8.0をコンパイルしようとしたのですが、sys/systemcfg.hが無いといわれて
ググったのですが、見当たらないのでwinpthreadsをコンパイルしようとしたのですが、makeでエラーになります。
http://www.07ch.net/up2/src/lena8836.png
configureもmakeも改変せずにビルドしているのですが、makeが存在していないファイルを作ろうとしていてmakefileに問題があるのでしょうか?
2013/03/22(金) 13:45:00.07
windowsでは無理
2013/03/23(土) 01:57:39.27
GCC 4.8.0 released [2013-03-22]
279275
垢版 |
2013/03/23(土) 10:20:20.80
しつこくてすみません
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は作れていないのでしょうか?
280275
垢版 |
2013/03/23(土) 10:27:04.93
くっつけるerr.logを間違えました上の部分のエラーログは
process_begin: CreateProcess(NULL, /bin/mkdir -p src, ...) failed.
make (e=2): 指定されたファイルが見つかりません。
make[1]: *** [src/.dirstamp] エラー 2
make: *** [all] エラー 2
こちらです
281275
垢版 |
2013/03/23(土) 10:57:48.87
cd src
touch .dirstamp
cd .deps
touch .dirstamp
したらmakeできました
お騒がせしました
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況