LLVM Clang、Linuxカーネルビルドに成功
1 :
たかちゃんψ ★ :
2010/10/28(木) 23:53:40 ID:??? LLVMのC/C++コンパイラであるClangがまたひとつのマイルストーンに到達した。
[cfe-dev] Clang builds a working Linux Kernel (Boots to RL5 with SMP, networking and X, self hosts)の報告によれば、LLVM Clangを使って
Linuxカーネル2.6.36/SMP版のビルドに成功したという。
同カーネルを使ってXの利用とネットワークの利用も確認したと報告されている。
LLVM Clangは2010年2月にセルフホスティングに到達。
OSSのC/C++コンパイラはGCCが代表的な存在だが、ライセンスがGPLv3に移行してからOSSのプロジェクトの対応が2つに分かれ始めている。
GPLv3ライセンスを採用したためにGPLv2での最後の提供となるGCC 4.2.1で採用を停止するケースと、GCCの最新版を常に積極的に採用するケースだ。
LLVM Clangの採用を進めるプロジェクトにはFreeBSDなどがある。
最新のLLVMはlibstdc++をBSDをライセンスのlibc++への置き換えを進めるなど、こうしたプロジェクトが採用しやすい状況が揃ってきている。
FreeBSDのみならずLinuxもビルドできることが示されたことで、LLVM Clangが一定の水準に到達していることが伺える。
http://journal.mycom.co.jp/news/2010/10/28/005/index.html
もうここまできたか
また新しく知識入れなきゃならんのか orz
おおこれはすごい
最適化オプションとか当然GCCとは別の書式になるんだよな。 うぜぇな
開発者泣かせだな
で、どんな風に便利になるの?
ライセンスの問題で便利になるとかいう事ではない。
まだこのレベルか。意外と難航しているなあ。
本番はLionかな
そもそも元記事のGPLv3を理由にgccを取り止める理由がわからない。 gccを使っても吐くオブジェクトコードはGPLが適用されるわけではないのに…。
>>11 コンパイラを作るときに、gccをエンジンにすると、いろいろ面倒だから。
>>11 BSDの場合、組み込み機器の開発に使われることがあるんだけど、GPL3はハードに使った場合もソース公開を義務付けてる。
Linusさんはこれはやり過ぎだと言って反対してるんだがGNUは譲らない。
で、これやられると炊飯器とか電子レンジなんかの製品を作ってるメーカーは困ってしまう。
そこでGPL3でない環境が必要になった。BSDはCLANGとLLVMが安定したらもうGNUコンパイラを使わないことに決めてる。
Linuxの場合、無理にCLANG、LLVMにする必要はないんだろうけどLinusさんがGNU3嫌ってるので
この際変えようと思ってるのかも知れない。
あーーーーーもう、GPLやらMITやらCCやらMITやらメンドクセーーーーーと思っているひとりです。
MITだぶってた
>>13 gccそのものではなくてgccの出力結果にはGPLは適用されないでしょ?
gccのランタイムライブラリかなんかの問題?
GPLのとてつもない”制限”が みなを苦しめている。
LLVMと言ってもアップルだからなぁ
GPL3が蔓延するとLinuxが衰退するね。 ストールマンのほうが影響力高いの? GNU Hurdも完成しないのにえらい強気だよな > GNU
まぁ、あっぷる的だいどだからな
ここでマカドザ論争するな氏ね
LLVM ハ、アップル ダカラ
カンケーナイネ
Appleは、Objective-CコンパイラのライセンスをGPL互換からはずしたいんだろ。
>>26 Objective-Cコンパイラのライセンスってなんだ?
>>27 gccのObjective-Cコンパイラのことだったら、gpl。
Appleは自社のClangだよね
あそこがオプソに貢献するなんて、絶対ありえねー
WebKitも知らないやつがいるとは
831 名前:名無しさん@お腹いっぱい。 [sage]: 2010/10/30(土) 19:06:08 ID:pQI245le0 >オプソ この言い方が恥ずかしい。 無知を曝け出して喜ぶ露出狂だなw
GPLだとコンパイラに独自拡張なんか入れたら それを公開しないとならないからな。 商用がGPLを避けるのは当たり前。
>>30 結果的にオープンソースに貢献したといえる。
オープンソースを改良したものを、ライセンスに則ってソース開示してるだけ。
自社開発のものをオープンソースにしたことってあったっけ?
あと、khtmlの開発グループと喧嘩してたけどどうなった?
GPLと一口に言ってもいろんなバリエーションがあるんだけどな。
Androidに採用されているのはKHTMLではなくWebKit
いつIEはオープンになるのだろう 閉鎖的すぎる
WebKitはkhtmlの亜種 仲良くやれ
IEはMosaicの亜種 仲良くやれ
パクリだろw
MSはMosaicに金を払っているがコードは貰っていない。 Clarkは、Mosaicの開発者にネスケを開発させたが、Mosaicに金を払っていない。
初期のIEのMosaicエラーはなぜ表示されたんだろw
>>47 それは、Spyglass社が入れたんだろ。
IEはMosaicのコードを使っていると考えるのが普通 もちろんライセンスを受けているから問題ない
IEはMosaicの正統の末裔
WebKitはkhtmlの正統の末裔
>>51 WebKitは、KHTMLの末裔ではあるが正統ではない。
IEは、Mosaicの末裔ではあるが正統ではない。
KHTMLにフリーライドして、ぱくったのがWebKit
Mosaicにフリーライドして、ぱくったのがIE
マイクロソフト信者にオープンソースという概念が理解できない 頭が悪いからね 2流大学なのだろう
IEって自社製品ではないんだな
>>17 嫌なら別のコンパイラを作るなり、買ってくるなりすれば
いいわけで、フリーライダーはいかんよ。苦しめているって
朝鮮人みたいな台詞をはくな。
最後のGPLV2のGCCから派生させることだって可能だ。
>>59 フリーライダーとか言うなよ。元々フリーで使っていいってのがGPLの主旨だろ。
それを叙々に縛りきつくしてきてるのは事実だし。
正直、アメリカの法律屋にそそのかされて変質してしまったんじゃないかな。
×フリーで使っていい ○フリーでしか使わせない
>>61 そのフリーが無料という意味なら、間違ってる。
自由という意味なら……どうだろ?
配布しないんならどう使おうと自由、
配布するんなら配布する人の自由を制限する、というのがGPLだと思う。
>>60 ストールマン的にGPLv2じゃ縛りが緩すぎる、
自分の理想の世界とは違うと思っただけでしょ。
実際LinuxカーネルのGPLライセンスだってかなりグレーだし。
>>62 配布しないから自由にいじってフィードバックしないぜ
ってのがフリーライダーとして批判される。Googleとか
>>63 だったら最初からきつくしとけば誰も使わなかったものを。
最初は緩くしといてユーザー増えてからきつくするって、なんちゃってサギじゃん。
それに気づいた人が遅まきながらClang+LLVMに換えるのは当然の流れ。
>>65 はじめからきついんだが、都合のいい解釈をするやつらが現れたから。
>>65 いや、昔GPLv2だったものは、GPLv2のままだよ。
新たな追加をGPLv3にするところがあるってだけ。
別のライセンスだからね。
だからGPLv2がよければ、gccをforkすればよい。
>>67 フォークしたものはそのうちつぶれるか統合される。
GPL2とGPL3に別れたプロジェクトがそのまま合流することはできないよ
70 :
62 :2010/11/03(水) 02:30:28 ID:???
>>64 そっか、それでGPLv2からGPLv3への流れができたんだったね。
GPLv3への流れは起こってないと思うが? どちらかといえば、反GPLv3がおきている。
72 :
62 :2010/11/03(水) 03:41:40 ID:???
>>71 ごめん。
どうやらGPLv3とAGPLとを勘違いしていたようだ。
>>66 それは詭弁。
はじめから(GPL V1,V2の時から)きつかったというならV3になって使わない団体が増えたことの説明ができない。
>>73 GNUははじめからきついことを言っていたのだが、実際にはいろいろ都合のいい解釈が使われていた。
都合のいい解釈をふさがれたことが気に入らない団体は使わない。
法(契約)の抜け道ってやつだな
現行GPLv3を適用しちまったプロジェクトでも次期バージョンではGPLv2にするという事も可能だろ? プロジェクト内部で分裂するかも知れんが。出来ない事は無いんじゃねぇの?
>>76 GPLv3 “or any later version”のライセンスを適用するとか書いてると、
GPLv2には戻せないんじゃないかな。
著作権者全員の許可を得ればどうとでもなると思うけど、現実的にはGPLv2のも
のをフォークすることになると思う。
なるほど。 でもフォークすると別物になっていくからなぁ ストールマン死め!
もともとGPLの目指す世界を実現する為に開発されたのGCCなのに なに狂ってるの?いやなら市販のコンパイラ買えよ。好きなだけ クローズドで使っていいのだよ。
だからこうやって、GCC依存から抜け出そうと みんなががんばっているわけだ。
発展の原動力だね
変な幻想がまかり通っているけど、gccのはくコードは、専用コンパイラに比べると一段低い。
>>74 それはGNUに好意的すぎる解釈だな。きついかどうかは書かれた文章でしかわからないから、
曖昧な文書を書いたほうが悪かったということだろう。
ちょっと
>>84 さんは極端に考えていると思うんだけども。
法解釈だけで済まない問題が、「FSF的には」出てきている。
例えば、GPL的には明らかにアウトでも、
著作者が訴えなければ、FSF的にはどうにもならない。
それがLinuxカーネルのクローズド・ドライバで起きた。
あれこれ言っても仕方ないから、FSFは新たにライセンス考えた。
FSFは偽GPLを排除したい。GPLじゃないものにGPLを名乗られたくない。
そしてGPLv3は使いたくなければ使わなければいい。
GCCについてはGIMPLEのコードがGPLv3オンリーになってしまうのが、
コミュニティにかなりの損失であると思うけれども、
ライセンス保持者たちがこれでいい考えたのならば仕方ない。
GPLv2&LGPLだったCUPSのApple特例条項なんかもどうなんだろって思うけど、
CPUSの開発者たちが訴えなければ問題ない。
GPLv3だとこういうのは無理。
ある特定のソフトウェアがGPLv3であるのに困る人が増えるのは分かる。
ただGPLv3はOSSのライセンスが抱えている隠れた問題の一部を明確にしている。
GNUがどういう趣旨で設立された組織か考えれば、GPLV3の登場は 必然だって普通にわかると思うけどなあ。 BSDが非GNU化に進むのは、これもBSDの流れを見れば必然。例え GPLV3が無くても使えるBSDライセンスのコンパイラが出来れば、 そっちに移るだろうよ。
*BSDはCLang移行で疲弊してしまって、 コミュニティ小さくなってしまう可能性あるね。
なんだかんだ言っても、Linuxの成功はGPLによるところが大きい。 有用になってくると、何の縛りもないとどうしてもただ乗りが大多数になってしまう。
>>87 いやそれはないだろう。
いまGCCとGNUライブラリをClangとClang用ライブラリに差し替えるだけで済むようにしてるところだから。
アプリ側はソースがあればClangで再コンパイルするだけで動くようになるだろうし、
そうでないものは現在のGNUv2ライブラリを入れとけばそのまま使い続けられるはず。
予定通りFreeBSD9からClangに移行できればGNUと手を切れるからお互いにいいだろう。
> いまGCCとGNUライブラリをClangとClang用ライブラリに差し替えるだけで済むようにしてるところだから。 それすら出来ないだろうという、大方の予想
いや、出来んだろ。ただその状態を維持していけるかは怪しい。 GNUがギブ&テイクの「公平な」立場を用意し、Linuxの「使いたいから作る」 というエンジンがのることでGNU LinuxだったわけでそこからGNUを抜くの だから。代わりに「お金」とか別の要素で穴埋めすれば良いのだが、フリー ライダーなGoopleなんかがやってくれるかねぇ・・・。
将来にわたって互換路線を維持するのではなくて GPLV2最終であったGCC4.2に限った代替を目指す事になる。 GPLv3と関わりたくないプロジェクトがClangに乗換えた後は GCCのことは忘れて独自の開発に入ればいい。
りんご教祖がクロスプラットホーム不要論を打ち上げたからには おさき真っ暗じゃないか。広まったところでガッツリやられそうなのに 乗り換えるとかいくらんでも信仰心が高ぶりすぎてるでしょ・・
Appleといえば、Objective-Cのコンパイラがgccだから、
gcc関連技術者をたくさん雇ったよね。
でgccの中の人だった人、数人が、今CLangやってる。
*BSDより深刻でしょ、gcc/g++依存は。
>>89 今はgccのみ? GPLなライセンスのものは。
AppleがObjective-CをGNUにプレゼントしたんだよ。
つか*BSDはGNUをportsに入れるなよ乞食
>>95 ・NEXTSTEPのObjective-Cコンパイラ、ランタイムは、
他社製のを購入して利用していた。
・GNUSTEPはMac OS X以前に開発が始まっていた。
つまりAppleがObjective-Cに関わる以前からGNUによって開発された。
・OPENSTEPは、NeXTとSunの共同規格である。(JobsがAppleに戻る以前)
・ほぼ同時にgccのObjective-Cに鞍替えした。
だからむしろAppleがGNUにObjective-Cコンパイラをプレゼントして貰っている。
その割には、Objective-Cは私の物というあっぷる的態度をとるのだから 狂ってるな。邪悪過ぎる。
>>98 Objective-Cだけあっても使い勝手悪いからね。
gccでObjective-Cが使えるといっても、MacのライブラリかGNUStepのライブラリがないとね。
GNUStepとgccのObjective-Cは同時に進んだプロジェクトだから別々ってことはない。 Jobsがいるとはいえ、Appleが一番の新参者。
*BSDとLinuxがClangに移行すれば今後GNUがどうしようとGNUの影響力の低下は免れなくなる。 GNUは自分の言い分を押し通そうとし過ぎて周囲の反発を招いてしまったね。 全く妥協しないんだから当然か。頑なすぎればどこかでうまくいかなくなるに決まっている。 大局的に見れば、少し妥協しても*BSDとLinuxにGNUを使い続けさせるように仕向けておいたほうが良かった。 もう遅いけどね。 *BSDとLinuxが使わなくなればGNUの存在価値はかなり低くなる。 代わってClang、LLVMチームに注目が集まる。
BSDは虫の息 終わったも同然だからどうでもいい
Linuxは移行しないでしょ Clangの開発者が互換性のメルクマールにGCCベッタリのlinux kernelを利用しただけ
そんなもんディストリ次第だろ 「Linuxは〜」なんてアホもいいとこ
結局、kernel開発コミュニティがどう動くかで決まるわけで。 外野がいくら騒いでも変わらん。 あとはredhatやubuntuがどう出るかでも変わるか。
>>102 あんたが使ってる2chもBSDですよ。虫の息ならそろそろ使えなくなるのかなあw
どうかな、LinuxがGNUとおさらばするなら、GNU OSが再始動する 可能性も十分ある。その場合はLinuxがさようなら2なるかも知れない。
GNU OS w
Clangの開発者の名前は?
ここ久しぶりだわ この前vim7.3をclangでビルドしようとしたら、どうしてもリンクするライブラリ見つけてくれなくて積んだ・・ -L,-l,-Iとかつけてもなんか無視されるんだよね。gccならちゃんと問題なく見つけてくれるんだけどね。 *BSDがkernel,userland以外にもports,pkgsrcとかもclang-llvmに移行するなら、こういうエラーは星の数ほど出てくるだろうから、 開発するに足る需要さえあればいつかは実現できるだろうけど、今のgccみたいに安定した状態になるには あと10年近くはかかっちゃうんじゃないかな。 自分がよく使うOpenBSD,NetBSDはclangじゃなくてpccを使おうとしてるみたいだけど、 ただでさえ美味しくないパフォーマンスがますますすごいことになりそう・・・
112 :
名無しさん@お腹いっぱい。 :2011/04/30(土) 12:13:59.65 ID:EdboyMQS
>>111 FreeBSDでもclangはまだカーネルがやっとコンパイルできる段階になっただけで、
正式にディストリに標準搭載されてないからvimなどのアプリはコンパイルできなくても不思議はないね。
V9.0で標準搭載されるようになればほとんどコンパイルできるようになるはず。