--
    --.--

    スポンサーサイト

    上記の広告は1ヶ月以上更新のないブログに表示されています。
    新しい記事を書く事で広告が消せます。

    このエントリーをはてなブックマークに追加
    2015
    04.08

    Homebrew - glib 2.44.0がSnow Leopardでupgradeできない

    マニアックネタですみません^-^;
    困った時のHomebrewネタ^-^;
    Homebrew(OSX10.6.8)の環境で
    brew upgradeとかでひっかかったことをメモしています。

    今年に入ってから目立ったエラーもなく順調だったんですが
    いいタイミングで出ましたよ、エラーが(笑)

    glib 2.44.0のアップグレードでコケる

    glibが2.44.0にバージョンアップされたようで、
    Homebrewがそれをアップグレードしようとするんですが
    インストールの段階でコケてしまいます^-^;

    トラブルシュート用のURLが表示されていたので見に行ったものの
    ちょっと違う感じだし、よく分からない^-^;;

    数日待ったものの改善される様子無し…
    その上、最新のglibに依存する他のパッケージのアップデートも続々到着。
    早いとこglibをアップグレードしないと、どんどん溜まっていきそう^-^;;;

    解決策を探ってみる


    $ brew upgrade glib -vで詳細を表示させてみましたが
    自分にはチンプンカンプンw
    表示の終盤にこんな感じのが複数出てきてます。
    ../../gio/glistmodel.h:36: error: redefinition of typedef 'GListModel'
    ../../gio/giotypes.h:64: error: previous declaration of 'GListModel' was here

    エラーって書いてあるからこの辺が原因?(適当だなー笑)

    glib, GListModelとかでググってみると、それらしい情報にたどり着きました。
    Bug 744473 – including causes "redefinition of typedef" compile warning
    どうやら「gcc 4.2.1とかじゃなくて、もっと新しいgcc 4.8とかでビルドしてみたら?」という情報らしい。

    前にgcc 4.9をインストールしていたので、それを使ってみます。
    gcc 4.9をインストールした時の記事はこちら
    Homebrew - 指定したパッケージを新しいgccでコンパイルしてみる)。


    gcc 4.9でコンパイルしてみる


    brew upgrade glibの時に
    --cc=gcc-4.9というオプションをつけて再挑戦!

    $ brew upgrade glib --cc=gcc-4.9
    ==> Upgrading 1 outdated package, with result:
    glib 2.44.0
    ==> Upgrading glib
    ==> Downloading http://ftp.gnome.org/pub/gnome/sources/glib/2.44/glib-2.44.0.tar
    Already downloaded: /Library/Caches/Homebrew/glib-2.44.0.tar.xz
    ==> Downloading https://gist.githubusercontent.com/jacknagel/af332f42fae80c570a7
    Already downloaded: /Library/Caches/Homebrew/glib--patch-a4cb96b5861672ec0750cb30ecebe1d417d38052cac12fbb8a77dbf04a886fcb.diff
    ==> Downloading https://gist.githubusercontent.com/jacknagel/9835034/raw/282d36e
    Already downloaded: /Library/Caches/Homebrew/glib--patch-d285c70cfd3434394a1c77c92a8d2bad540c954aad21e8bb83777482c26aab9a.patch
    ==> Patching
    patching file gio/gdbusprivate.c
    Hunk #1 succeeded at 2117 (offset 18 lines).
    Hunk #2 succeeded at 2127 (offset 18 lines).
    patching file gio/xdgmime/xdgmime.c
    patching file glib/gutils.c
    patching file gio/Makefile.am
    Hunk #2 succeeded at 526 (offset 10 lines).
    patching file gio/Makefile.in
    Hunk #1 succeeded at 129 (offset -4 lines).
    Hunk #2 succeeded at 158 (offset -2 lines).
    Hunk #3 succeeded at 300 (offset -3 lines).
    Hunk #4 succeeded at 3489 (offset 53 lines).
    patching file gio/gnextstepsettingsbackend.c
    patching file gio/gnextstepsettingsbackend.m
    ==> ./configure --disable-maintainer-mode --disable-silent-rules --disable-dtrac
    ==> make

    # --cc=gcc-4.9オプションを指定しないでビルドすると、以下のようなエラーが出る
    make[4]: *** [all] Error 2
    make[3]: *** [all-recursive] Error 1
    make[2]: *** [all] Error 2
    make[1]: *** [all-recursive] Error 1
    make: *** [all] Error 2

    READ THIS: https://git.io/brew-troubleshooting

    These open issues may also help:
    Glib-Networking fails to build on 10.9 (https://github.com/Homebrew/homebrew/issues/36323)

    # 一方、gcc-4.9でビルドすると、上記のようなエラーは出ず、無事にインストールが完了する。
    ==> make install
    /usr/local/Cellar/glib/2.44.0: 424 files, 19M, built in 117 seconds

    という訳で、無事インストールできたっぽいです。
    保証はできませんので自己責任でどーぞ。

    gobject-introspection 1.44.0でも同様のエラー

    この後、gobject-introspection 1.44.0のアップグレードの際にも
    よく似たエラーが出てきました。
    $ brew upgrade gobject-introspection
    ==> Upgrading 1 outdated package, with result:
    gobject-introspection 1.44.0
    ==> Upgrading gobject-introspection
    ==> Downloading http://ftp.gnome.org/pub/GNOME/sources/gobject-introspection/1.4
    Already downloaded: /Library/Caches/Homebrew/gobject-introspection-1.44.0.tar.xz
    ==> ./configure --prefix=/usr/local/Cellar/gobject-introspection/1.44.0
    /usr/local/Cellar/glib/2.44.0/include/glib-2.0/gio/giotypes.h:65: error: previous declaration of 'GListStore' was here
    make[2]: *** [libgirepository_1_0_la-gdump.lo] Error 1
    make[2]: *** Waiting for unfinished jobs....
    make[1]: *** [all-recursive] Error 1
    make: *** [all] Error 2

    READ THIS: https://git.io/brew-troubleshooting

    これもglibの時と同じように
    brew upgrade gobject-introspection --cc=gcc-4.9でコンパイルさせてみたところ…
    うまくいきました!
    $ brew upgrade gobject-introspection --cc=gcc-4.9
    # 中略
    ==> make install
    /usr/local/Cellar/gobject-introspection/1.44.0: 224 files, 11M, built in 67 seconds



    2015.4.23追記
    atk 2.16.0のアップグレードでも同様のことが起きました(汗)
    で、brew upgrade atk --cc=gcc49ではうまくいきました。
    これで3回連続。ウチの環境がおかしくなってるのか不安になってきた^-^;
    OS X 10.7以上の人はbottle(ビルド済みのもの)をダウンロードしてるから問題ないだろうけど…

    次に現れたgit 2.3.6では問題なくアップグレードできました。
    しばらく様子見ですね^-^;
    関連記事

    このエントリーをはてなブックマークに追加
    トラックバックURL
    http://w6o6n.blog.fc2.com/tb.php/152-a33da0c0
    トラックバック
    管理人の承認後に表示されます
    - dot dot 2015.04.08 22:02
    コメント
    管理者にだけ表示を許可する
     
    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。