Skip to content

Instantly share code, notes, and snippets.

@tamamushi
Last active October 25, 2015 12:17
Show Gist options
  • Save tamamushi/fae6ff78e20e3f57af5d to your computer and use it in GitHub Desktop.
Save tamamushi/fae6ff78e20e3f57af5d to your computer and use it in GitHub Desktop.
PhantomJSインストールとFlash対応化まで

PhantomJSをインストールして使ってみる

PhantomJSをFlashに対応させる。

PhantomJSをFlashに対応させるには以下の作業を行う。

  1. gccをインストールする

  2. Qt(5.4.x)をインストールする

  3. Xvfbをインストールする

  4. PhantomJSをコンパイルしてインストールする

初めQt‐5.5.1をダウンロードしてきてコンパイルして成功後、いざPhantomJSをコンパイル しようとしたら、Qt-5.4.xじゃないとコンパイルできないと出てコンパイルできなかった。

同梱されているbuild.shを実行したらコンパイルっぽい事は出来たがその後どうやって インストールすればいいかが解らなかった。と言うか出来上がったはずのバイナリが何処 にもない。。

という事でもう一度Qt-5.4.2をダウンロードしてきてインストールを実施する

gccをインストールする

関連ファイルをインストール

$ sudo yum groupinstall "Development Tools"

glibc-devel.i686 (the 32-bit version is required to build GCC) をインストール

$ sudo yum install glibc-devel.i686

GCC4.8.1以上をインストールする。

$ wget http://robotlab.itk.ppke.hu/gcc/releases/gcc-4.9.3/gcc-4.9.3.tar.gz
$ tar xvjf gcc-4.9.3.tar.gz
$ cd gcc-4.9.3
$ ./contrib/download_prerequisites
$ cd ..

$ mkdir gcc-build    ## コンパイル要ディレクトリ
$ cd gcc-build
$ ../gcc-4.9.3/configure --disable-multilib --enable-languages=c,c++
$ make
$ sudo make install

--disable-multilibを指定しないと32bit用のヘッダを見に行こうとする。 --enable-languagesはコンパイルしたい言語。指定しないと全て(Java等)も コンパイルしようとしものすごい時間がかかる。

prefixを指定していない場合、/usr/local/配下にインストールされる為、そのまま だとコンパイル時など参照されないため、 LD_LIBRARY_PATHを設定して、コンパイル時に /usr/local/が参照されるようにする

$ BRARY_PATH=/usr/local/lib64/:$LD_LIBRARY_PATH
$ export LD_LIBRARY_PATH

Qt(5.4.x)をインストールする

関連ファイルをインストール

$ sudo yum install libxcb

とりあえず関係ありそうなファイルをダウンロード。して解凍。

$ mkdir qt-build
$ cd qt-build

$ wget http://download.qt.io/official_releases/qt/5.4/5.4.2/submodules/qtbase-opensource-src-5.4.2.tar.gz
$ wget http://download.qt.io/official_releases/qt/5.4/5.4.2/submodules/qt5-opensource-src-5.4.2.tar.gz
$ tar xvzf qbase-opensource-src-5.4.2.tar.gz
$ tar xvzf qt5-opensource-src-5.4.2.tar.gz

qtbaseからコンパイル

$ cd qtbase-opensource-src-5.4.2
$ ./configure 
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment