linuxbrewを使って、owncloudをインストールできるのかなと思ってやっていた時に
つまずいた話、結局owncloudをインストールするまでに至らなかったが、
opensslのインストール時に発生したビルドエラー対処法だけ記載します。
linuxbrew でopensslをインストールしようとした時に、ビルドエラーで進めない時の対処法
opensslビルド動作中にこんなエラーがでる
cryptlib.c:1: sorry, unimplemented: 64-bit mode not compiled in
ググると、32-bit環境にも関わらず、64-bit環境用にビルドしようとしてるとのこと
configureしてるところにオプションを指定してやればよいよと知ったが、brewってどうやってそこんところ弄るの?
fomulaってのがあって、Rubyで書かれたスクリプトがあるんだけど、
そこでconfigure用のコマンド文字列を生成しているみたい。
brew edit openssl ってするとそれを編集できる。
58行目あたりに、32 or 64bit の判定をしている部分があるけど、おそらくここで64bitが選ばれてしまうからだろう。。。
def arch_args return { :i386 => %w[linux-generic32], :x86_64 => %w[linux-x86_64] } if OS.linux? { :x86_64 => %w[darwin64-x86_64-cc enable-ec_nistp_64_gcc_128], :i386 => %w[darwin-i386-cc], } end # -- 省略 def install if build.universal? ENV.permit_arch_flags archs = Hardware::CPU.universal_archs elsif MacOS.prefer_64_bit? archs = [Hardware::CPU.arch_64_bit] else archs = [Hardware::CPU.arch_32_bit] end dirs = [] archs.each do |arch| if build.universal? dir = "build-#{arch}" dirs << dir mkdir dir mkdir "#{dir}/engines" system "make", "clean" end arch=:i386 # 無理やりここで32-bit用にしてしまう。 ENV.deparallelize system "perl", "./Configure", *(configure_args + arch_args[arch]) system "make", "depend" system "make" # -- 省略
上記のarch変数を直接書き換えることで、対応できた!
0 件のコメント:
コメントを投稿