最新版のHugoをCentOS7へインストールしたところ、下記のエラーで起動不可になった
./hugo version
./hugo: /lib64/libstdc++.so.6: versionGLIBCXX_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++ をインストールしておきます
以前は、ソースからダウンロードする方式を明記してましたが、gitからそのまま持ってきたほうが楽そうです
$ vim from-gh.sh
mkdir $HOME/src
cd $HOME/src
git clone https://github.com/gohugoio/hugo.git
cd hugo
go install --tags extended
$ sh from-gh.sh
ビルドが無事終了したら、GOPATHで指定したフォルダ(指定しなければ、~/go/)内にhugoが生成されるので、
$ ~/go/bin/hugo version
hugo v0.82.0-DEV+extended linux/amd64 BuildDate=unknown
extendedの表記がある事が確認できればOKです。
ビルドに失敗するようであれば、CentOS7上でhugoのソースビルドエラー
も参考にしてみてください。
- 上記2項目でも不可の場合
素直に、extendedが付いてないHugoをインストールしましょう。
ただし、SASS/SCSS対応のテーマだと動作はしません。
ちなみに、最新版のubuntuやdebianでは何の手を入れることなくextended版で動作確認しました。
参考までに、Extended版の違いは、SASS/SCSSがサポートされているかの違いだけです。