9
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ローカル環境でgitbookを使う

9
Posted at

やりたいこと

ローカル環境にgitbookをinstallしてpdfで出力する

前提条件

CentOSは6.4
node.jsはinstall済み

gitbookをinstallする

$ sudo npm update
$ sudo npm install gitbook-cli -g
$ git clone https://github.com/onigra/gitbook-sample
$ cd gitbook-sample
$ gitbook build
$ gitbook serve

URLが表示されるのでブラウザからアクセスします。
確認できたらctrl+cでサービスを一旦止めます。

pdf出力用にcalibreをinstallする

install方法は公式サイトを参考。
証明書でエラーになることがあるので、2016年02月時点では、

$ sudo -v && wget --no-check-certificate -nv -O- https://raw.githubusercontent.com/kovidgoyal/calibre/master/setup/linux-installer.py | sudo python -c "import sys; main=lambda:sys.stderr.write('Download failed\n'); exec(sys.stdin.read()); main()"

がお勧めです。

calibreの動作環境を満たしているか確認する

必要なlibstdc++がinstallされているか確認する

アプリケーションが要求するバージョンはGLIBCXX_3.4.15です。

$ strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX

含まれていない場合はinstallを行います。
ibstdc++gccに含まれています。
gccをビルドして、libstdc++を取り出して既存のものと置き換えます。

ビルドに必要なヘッダーのインストールします

$ sudo yum install gmp-devel mpfr-devel libmpc-devel
$ sudo yum install glibc-devel.i686

ミラーサイトからソースコードをダウンロードします

$ mkdir -p ~/src
$ cd ~/src
$ curl -LO http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-5.3.0/gcc-5.3.0.tar.gz
$ tar fxz gcc-5.3.0.tar.gz
$ cd gcc-5.3.0

ビルドします

$ ./configure
$ make

ライブラリをコピーします。

現在のライブラリインストール状況を確認して、最新のライブラリlibstdc++.so.6.0.21をコピーします。

$ ls -l /usr/lib64/libstd*
lrwxrwxrwx 1 root root     19  4月  3 15:50 2015 /usr/lib64/libstdc++.so.6 -> libstdc++.so.6.0.13
-rwxr-xr-x 1 root root 987096 10月 15 07:48 2014 /usr/lib64/libstdc++.so.6.0.13

$ sudo cp ${HOME}/src/gcc-5.3.0/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.21 /usr/lib64

既存のライブラリ (libstdc++.so.6.0.13) から、先ほどコピーした新しいライブラリに切り替えます。
古い方のライブラリはシンボリックリンクを含めて削除せず、いつでも切り戻せるよう移動するだけにします。

$ cd /usr/lib64
$ sudo mv libstdc++.so.6 libstdc++.so.6.bak
$ sudo ln -s libstdc++.so.6.0.21 libstdc++.so.6
$ ls -l /usr/lib64/libstd*
lrwxrwxrwx 1 root root       19  2月  3 13:52 2016 /usr/lib64/libstdc++.so.6 -> libstdc++.so.6.0.21
-rwxr-xr-x 1 root root   987096 10月 15 07:48 2014 /usr/lib64/libstdc++.so.6.0.13
-rwxr-xr-x 1 root root 11204470  2月  3 13:51 2016 /usr/lib64/libstdc++.so.6.0.21
lrwxrwxrwx 1 root root       19  4月  3 15:50 2015 /usr/lib64/libstdc++.so.6.bak -> libstdc++.so.6.0.13

目的のバージョンのGLIBCXX_3.4.15が有効になっているか確認します。

$ strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
BCXX
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
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH

これでcalibreの環境構築は完了です

gitbookでpdf出力を行う

gitbook-sample内で下記のコマンドを実行するとpdfが出力できます。

$ gitbook pdf

これでpdf出力までの環境が構築できました。
gitbook-sampleは動作確認のためにcloneしたので、不要なら削除して、ローカルリポジトリを作成しましょう。

関連記事

Gitbookインストールメモ
いまさら始めるgitbook インストール編
gitbook試してみた

9
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?