[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dennou-ruby:003353] Re: ruby-lapack-1.3 released



山本様

ありがとうございます。
取り込んで、リポジトリにアップしておきました。

2011/5/3 Hiroki Yamamoto <hiroki@xxxxxxxxxxxxxxxxxx>:
> ruby-lapack-1.5で
> Mac OSX では rake でのインストールにいくつか問題がありましたのでご報告します。
> #gem からのインストールは未確認です。
>
> Mac OSX (ruby 1.8.7 (2011-02-18 patchlevel 334) [i686-darwin10]) では
> rake 時に
> 1. lapack.so が lapack.bundle という名前で作られるので lapack.so がないといってこける
> rake install 時に
> 2. dst = File.join(destdir, archdir, target_prefix) で destdir が nil だと joinできないと言われてこける
> 3. install lib, dst, :mode => 644 だと実行されるのが install -c -m 01204 になってる
>
> これらは以下のように Rakefile を書き換えると回避できました。
>
> diff -u Rakefile.orig Rakefile
>
> --- Rakefile.orig       2011-05-02 11:14:40.000000000 +0900
> +++ Rakefile    2011-05-03 23:23:11.000000000 +0900
> @@ -14,9 +14,15 @@
>
>  NAME = "lapack"
>  LIBS = FileList["lib/#{target_prefix}/*rb"]
> +
> +case Config::CONFIG["host_os"]
> +when /darwin/
> +DLLIB = "ext/#{NAME}.bundle"
> +so_file = File.join("lib", target_prefix, "#{NAME}.bundle")
> +else
>  DLLIB = "ext/#{NAME}.so"
>  so_file = File.join("lib", target_prefix, "#{NAME}.so")
> -
> +end
>
>  task :default => so_file
>
> @@ -47,17 +53,26 @@
>  task :install => [:install_so, :install_rb]
>
>  task :install_so => DLLIB do
> +if destdir then
>   dst = File.join(destdir, archdir, target_prefix)
> +else
> +  dst = File.join(archdir, target_prefix)
> +end
> +p dst
>   mkdir_p dst
>   install DLLIB, dst, :mode => 0755
>  end
>
>  task :install_rb => LIBS do
> -  dst = File.join(destdir, libdir, target_prefix)
> +if destdir then
> +  dst = File.join(destdir, archdir, target_prefix)
> +else
> +  dst = File.join(archdir, target_prefix)
> +end
>   mkdir_p dst
> -  LIBS.each do |lib|
> -    install lib, dst, :mode => 644
> -  end
> +    LIBS.each do |lib|
> +    install lib, dst, :mode => 0644
> + end
>  end
>
>  CLEAN.include("ext/*.o")



-- 
Seiya Nishizawa
Center for Planetary Science, Kobe University
TEL : 078-803-6472
FAX : 078-803-5731