1
0

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.

GCC 4.7 で Passenger <= 3.0.15 のビルドが失敗する問題

Last updated at Posted at 2012-09-01

GCC 4.7 では最新リリース版の Passenger (3.0.15) のビルドに失敗する。

これは C11 で追加された TIME_UTC が、 Boost 1.49 までで定義されている TIME_UTC
と衝突するためである。

TIME_UTC is a macro in C11

Arch Linux では既に GCC 4.7 が導入されているが、
Boost も最新版の 1.50 であるため、この問題は起きない。ところが
Passenger は古いバージョンの Boost を同梱しており、それを使って必要なものを
ビルドしようとする。このため GCC 4.7 の環境ではビルドが失敗する。

Boost にパッチを当ててこの問題を解決する修正が Passenger のレポジトリに
先日コミット( [Backport fix from https://svn.boost.org/trac/boost/ticket/6940]
(https://github.com/FooBarWidget/passenger/commit/27894da4c7a5da30ef7ab4b03f914d1dec8531ac)
)されているので、git からソースコードを持ってきて gem を作り、インストール
すれば、ビルドに成功する Passenger をインストールできたことになる。

install-passenger-git.sh
# Install Doxygen and Asciidoc to Arch Linux. 
sudo pacman -S --noconfirm --needed doxygen asciidoc
git clone https://github.com/FooBarWidget/passenger.git
cd passenger
rake package
gem install -l pkg/passenger-3.0.16.gem

以上のようにすれば gem に Git 版 Passenger がインストールされる。
Passenger StandAlone を使ってみよう。

startup-passenger-standalone.sh
cd $rails_application_to_be_run_with_passenger
passenger start -p $passenger_port -d

Passenger が Nginx など、必要なものをビルドして起動するはずだ。

1
0
1

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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?