CentOS7上のhugoでGCCエラー

gccエラーでhugoが起動しない

最新版のHugoをCentOS7へインストールしたところ、下記のエラーで起動不可になった

./hugo version
./hugo: /lib64/libstdc++.so.6: version GLIBCXX_3.4.20' not found (required by ./hugo) ./hugo: /lib64/libstdc++.so.6: version GLIBCXX_3.4.21’ not found (required by ./hugo)

GCCのバージョン確認 

# strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19

CentOSのGCCバージョンは古いままのようです

解決方法 

  • 新しいGCCをソースからインストールすれば動作するかと思いますが、CentOS上のgcc依存関係が壊れる可能性もあるので、よほど詳しい方でない限りお勧めしません。

  • Hugoをソースからコンパイルビルド(こちらが安全)
    CentOS7上に、golang+ gcc-c++ をインストールしておきます

    1. Releases · gohugoio/hugoから、Source Codeをダウンロード

    2. Souce Codeを解凍

    3. コンパイル(ソースコード内でgo install -tags extendedを実行)

    4. ~/go内のbinフォルダに実行ファイルのhugoがあれば成功 (Source Code内のフォルダではないので注意!)

    5. 実行確認

    $ ./hugo version Hugo Static Site Generator v0.63.2/extended linux/amd64 BuildDate: unknown ``` 起動する事と、extendedの表記がある事が確認できればOKです。

  • 上記2項目でも不可の場合 素直に、extendedが付いてないHugoをインストールしましょう。 ただし、SASS/SCSS対応のテーマだと動作はしません。

ちなみに、最新版のubuntuやdebianでは何の手を入れることなくextended版で動作確認しました。

参考までに、Extended版の違いは、SASS/SCSSがサポートされているかの違いだけです。


See also