4
2

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.

linuxbrewでopenssl-1.0.1gのmanページのインストールに失敗するときの回避策

Posted at

現時点ではUbuntu 14.04でlinuxbrewを使ってopensslをインストールしようとすると、失敗してしまいます。

$ brew install openssl
==> Downloading https://www.openssl.org/source/openssl-1.0.1g.tar.gz
######################################################################## 100.0%
==> perl ./Configure --prefix=/home/itiut/.linuxbrew/Cellar/openssl/1.0.1g --openssldir=/home/itiut/.linuxbrew/etc/openssl zlib-dynamic shared enable-cms linux-x86_64
==> make depend
==> make
==> make test
==> make install MANDIR=/home/itiut/.linuxbrew/Cellar/openssl/1.0.1g/share/man MANSUFFIX=ssl
cms.pod around line 465: Expected text after =item, not a number
cms.pod around line 470: Expected text after =item, not a number
cms.pod around line 474: Expected text after =item, not a number
POD document had syntax errors at /usr/bin/pod2man line 71.
make: *** [install_docs] Error 255

READ THIS: https://github.com/Homebrew/homebrew/wiki/troubleshooting

These open issues may also help:
openssl failed to build on 10.9 (https://github.com/Homebrew/homebrew/issues/29238)

これはUbuntu 14.04でopenssl-1.0.1gのmanページのインストールにおいて不具合があるからです。
Documentation fixes for openssl-1.0.1g (Ubuntu 14.04) · Issue #57 · openssl/openssl

この不具合はOpenSSL_1_0_1-stableブランチでは修正されていて、次のバージョンのリリースには含まれるそうです。
しかし、現時点ではlinuxbrewを使ってopensslをインストールするとopenssl-1.0.1gがインストールされるので、何か別の方法が必要です。

バージョン1.0.1gでも使える回避策としては、インストール時にmake installを実行するのではなく、make install_swを実行してmanページのインストールを省略します。

その場しのぎの方法ですが、opensslのFormulaを直接編集してmake installmake install_swに書き換えることで、openssl-1.0.1gをインストールすることができました。
変更部分を示しておきます。

openssl.rb.patch
--- original/openssl.rb	2014-05-25 10:27:26.507374615 +0000
+++ fix/openssl.rb	2014-05-25 10:27:55.383373710 +0000
@@ -69,7 +69,7 @@
       end
     end
 
-    system "make", "install", "MANDIR=#{man}", "MANSUFFIX=ssl"
+    system "make", "install_sw", "MANDIR=#{man}", "MANSUFFIX=ssl"
 
     if build.universal?
       %w[libcrypto libssl].each do |libname|
4
2
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
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?