nseg57 ppaつくった話
DESCRIPTION
https://github.com/nseg-jp/w/wiki/%E7%AC%AC57%E5%9B%9E%E5%8B%89%E5%BC%B7%E4%BC%9ATRANSCRIPT
2014/11/15 NSEG Vol.57
PPAつくった話by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
⾃⼰紹介・名前:アベヒロキ (@hATrayflood)・職業:⾃宅サーバ管理者・URL:http://rayflood.org/diary/・地元:東部町
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
PPAby ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
とはby ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
PersonalPackageArchives
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
https://launchpad.net/ubuntu/+ppas
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
野良ビルド配布システム
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
forUbuntu
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
配布物by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
UbuntuのCコンパイラ
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
gccby ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
ubuntuのバージョンと⽤意されているgccのバージョン
4.14.24.34.44.54.64.74.84.910.04 ○ ○ ○12.04 ○ ○ ○14.04 ○ ○ ○ ○14.10 ○ ○ ○ ○ ○
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
絶⼤な⼈気を誇る4.4と⽋かさず⽤意されてる4.6、4.7、4.8
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
それに対してあえなくオミットされてしまった
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
4.1、4.24.3、4.5
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
こうしたいよね?4.14.24.34.44.54.64.74.84.9
10.04 ○ ○ ○ ○ ○ ○ ○ ○ ○12.04 ○ ○ ○ ○ ○ ○ ○ ○ ○14.04 ○ ○ ○ ○ ○ ○ ○ ○ ○14.10 ○ ○ ○ ○ ○※14.10はLTSじゃないのでどうでもいい
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
直近のLTSから移植4.2は8.04から
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
4.5はバグも修正PGO時のランダムクラッシュを解消
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
4.1、4.2、4.3は12.04と14.04でビルド通せなかった
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
こうなった4.14.24.34.44.54.64.74.84.9
10.04 ○ ○ ○ ○ ○ ○ ○ ○ ○12.04 ○ ○ ○ ○ ○ ○14.04 ○ ○ ○ ○ ○ ○14.10 ○ ○ ○ ○ ○※14.10はLTSじゃないのでどうでもいい
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
clangby ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
ubuntuのバージョンと⽤意されているclangのバージョン
llvmgcc2.93.03.13.23.33.43.510.04 ○12.04 △ △ △14.04 △ △ △14.10 △ ○ ○
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
基本的に排他違うバージョンを併⽤できない → コマンドが "clang" でバージョンサフィックスがない
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
3.1とか3.2はどこいった? → 12.10とか13.04とか13.10にはあった(と思う)
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
こうしたいよね?llvmgcc2.93.03.13.23.33.43.5
10.04 ○ ○ ○ ○ ○ ○ ○ ○12.04 ○ ○ ○ ○ ○ ○ ○ ○14.04 ○ ○ ○ ○ ○ ○ ○ ○14.10 ○ ○ ○※14.10はLTSじゃないのでどうでもいい
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
debianから移植バージョンサフィックスを付けて併⽤できるように
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
10.04はbinutilsやlibcloogが古いビルド不可
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
llvmgcc-4.2は12.04と14.04では未検証
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
こうなったllvmgcc2.93.03.13.23.33.43.5
10.04 ○12.04 ○ ○ ○ ○ ○ ○ ○14.04 ○ ○ ○ ○ ○ ○ ○14.10 ○ ○ ○※14.10はLTSじゃないのでどうでもいい
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
ビルドのためにリポジトリ追加しない⽅針
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
OS標準パッケージのみを使うgccもclangも
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
ビルドとアップロードは省略
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
debuild -uc -usdebuild -S -sadput ppa:h-rayflood/XXXX XXXX̲source.changes
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
PPAリポジトリ
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
ppa:h-rayflood/gcc-lowerppa:h-rayflood/gcc-upperppa:h-rayflood/llvmppa:h-rayflood/llvm-upper
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
lowerとupper?
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
ランタイムは最新バージョンで固定される
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
libgcc1libstdc++6とか
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
標準で⼊ってるgccより古いバージョンはランタイム不要
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
新しいgccはランタイム更新が必要
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
必ずしも新旧両⽅必要なわけでもないので分けた
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
clangのupperは新しいgccが必要なリポジトリ
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
12.04のclang-3.5以降はこっち
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
使い⽅by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
add-apt-repository ppa:h-rayflood/gcc-loweradd-apt-repository ppa:h-rayflood/gcc-upperapt-get updateapt-get dist-upgrade apt-get install gcc-4.5apt-get install g++-4.5
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
add-apt-repository ppa:h-rayflood/llvmadd-apt-repository ppa:h-rayflood/llvm-upperapt-get updateapt-get dist-upgrade apt-get install clang-3.4apt-get install clang-3.5
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
使い道by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
http://rayflood.org/mozilla/#gcchttp://rayflood.org/mozilla/#llvm
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
mozilla独⾃ビルドに使うためだけにPPAを作りました
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
目当てのバージョンのコンパイラがあるubuntu使うより
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
⼀⻫に全部使えればそのほうがいい
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
全⾃動でたくさんビルドするので再起動したくない
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
じゃあ全部インストールしてしまえ
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
本末転倒
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
最近の愛読書
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
・リンク集twitter @hATrayfloodhttp://twitter.com/hATrayfloodPersonal Package Archives for Ubuntuhttps://launchpad.net/ubuntu/+ppasGCC, the GNU Compiler Collectionhttps://gcc.gnu.org/Packages overview for LLVM Packaging Teamhttps://qa.debian.org/developer.php?email=pkg-llvm-team%40lists.alioth.debian.orggcc-4.1 で プロファイルを利⽤した最適化を⾏う(その1)http://d.hatena.ne.jp/pyopyopyo/20060311/p1Bug #756147 “pymol 1.2r2-1.1build1 ftbfs (ICE in set̲jump̲prob, ...”https://bugs.launchpad.net/ubuntu/+source/pymol/+bug/756147
by ABE Hiroki aka hATrayflood
2014/11/15 NSEG Vol.57
GNU GCC PPAhttps://github.com/hATrayflood/gcc-ppaLLVM/clang PPAhttps://github.com/hATrayflood/llvm-ppappa:h-rayflood/gcc-lowerhttps://launchpad.net/%7Eh-rayflood/+archive/gcc-lowerppa:h-rayflood/gcc-upperhttps://launchpad.net/%7Eh-rayflood/+archive/gcc-upperppa:h-rayflood/llvmhttps://launchpad.net/%7Eh-rayflood/+archive/llvmppa:h-rayflood/llvm-upperhttps://launchpad.net/%7Eh-rayflood/+archive/llvm-uppermozilla rayflood独⾃ビルド GCChttp://rayflood.org/mozilla/#gccmozilla rayflood独⾃ビルド LLVMhttp://rayflood.org/mozilla/#llvm
by ABE Hiroki aka hATrayflood