CentOS7.xにて ruby-helix を動かしてみる。
まず、大本のrubyだが、yumでインストールするとruby-2.0.0がインストールされてしまう。
これはruby-helixでは使えないバージョンなのでrubyを参考にruby-1.8.7をインストールする。

CentOS6.7の時にインストールしたパッケージのCentOS7との違いを下記に示す。
大きな差はないと思うので、下記のパッケージはそのままインストールするが、plotutilsだけは提供がないので手動で作成した。

yumパッケージCentOS7.xCentOS6.x備考
ImageMagick-devel6.7.8.96.7.2.7
fftw-devel3.3.33.2.1
libtiff-devel4.0.33.9.4
atlas-devel3.10.13.8.4
plotutils-devel2.5
cairo-devel1.12.141.8.8
vte-devel0.28.20.25.1epel
gtksourceview2-devel2.11.22.8.2epel
poppler-glib-devel0.22.50.12.4
libglade2-devel2.6.42.6.4
[root@c105 ~]# yum -y --enablerepo=epel install ImageMagick-devel fftw-devel libtiff-devel \
          atlas-devel cairo-devel vte-devel gtksourceview2-devel poppler-glib-devel libglade2-devel \
          goocanvas-devel gtksourceview3-devel gobject-introspection-devel gstreamer1-devel

*他、goocanvas-devel, gtksourceview3-devel
あとなぜか、、vlc ;不要かな...

[root@c105 ~]# rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
[root@c105 ~]# yum install vlc-devel

plotutils

CentOS6.7で提供されているplotutils-2.5のSRPMを使ってCentOS7でリコンパイルしてみる。

[root@c105 ~]# yum install libXaw-devel
[root@c105 ~]# wget http://vault.centos.org/6.7/os/Source/SPackages/plotutils-2.5-7.1.el6.src.rpm

このままrpmbuildすると libpng 関係でエラーになるので、パッチが必要で、
https://github.com/mxe/mxe/blob/master/src/plotutils-2.6-libpng-1.5.patch を参考にpatchを作成した。

[root@c105 ~]# rpm -Uvh plotutils-2.5-7.1.el6.src.rpm
[root@c105 ~]# cat << _EOF_ > rpmbuild/SOURCES/plotutils-2.5-libpng-1.5.patch
diff -up plotutils-2.5/libplot/z_write.c.orig plotutils-2.5/libplot/z_write.c
--- plotutils-2.5/libplot/z_write.c.orig        2006-01-05 02:22:37.000000000 +0900
+++ plotutils-2.5/libplot/z_write.c     2015-11-29 19:47:36.858407182 +0900
@@ -164,7 +164,7 @@ _pl_z_maybe_output_image (S___(Plotter *
     }
 
   /* cleanup after libpng errors (error handler does a longjmp) */
-  if (setjmp (png_ptr->jmpbuf))
+  if (png_jmpbuf (png_ptr))
     {
       png_destroy_write_struct (&png_ptr, (png_info **)NULL);
       return -1;
@@ -444,7 +444,7 @@ _our_error_fn_stdio (png_struct *png_ptr
 #endif
     }
 
-  longjmp (png_ptr->jmpbuf, 1);
+  longjmp (png_jmpbuf (png_ptr), 1);
 }
 
 static void 
@@ -515,7 +515,7 @@ _our_error_fn_stream (png_struct *png_pt
 #endif
     }
 
-  longjmp (png_ptr->jmpbuf, 1);
+  longjmp (png_jmpbuf (png_ptr), 1);
 }
 
 static void 
_EOF_
[root@c105 ~]#

このパッチを適用させるように spec ファイルを修正して、

[root@c105 ~]# vi rpmbuild/SPECS/plotutils.spec
*** 10,15 ****
--- 10,16 ----
  Source0:   ftp://ftp.gnu.org/gnu/plotutils/plotutils-%{version}.tar.gz
  BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
+ Patch1: plotutils-2.5-libpng-1.5.patch
  BuildRequires:   flex
  BuildRequires:   libpng-devel
  BuildRequires:   xorg-x11-proto-devel
***************
*** 49,54 ****
--- 50,56 ----
  cp -f lib/fontlist.c pic2plot/
  cp -f lib/fontlist.c plotfont/
  cp -f lib/fontlist.c tek2plot/
+ %patch1 -p1
 
 
  %build
[root@c105 ~]#

rpmbuildを実行して、完成したrpmをインストールします

[root@c105 ~]# rpmbuild -ba rpmbuild/SPECS/plotutils.spec
[root@c105 ~]# yum localinstall rpmbuild/RPMS/x86_64/plotutils-2.5-7.1.el7.centos.x86_64.rpm \
                                rpmbuild/RPMS/x86_64/plotutils-devel-2.5-7.1.el7.centos.x86_64.rpm

RMagick

RMagickはCentOS6.7と同じく 2.13.3 を適用した。
*export PATH=/opt/ruby187/bin:$PATH

[root@c105 ~]# wget http://www.imagemagick.org/download/ruby/RMagick-2.13.2.tar.bz2
[root@c105 ~]# bzip2 -cd RMagick-2.13.2.tar.bz2 | tar xf - && cd RMagick-2.13.2
[root@c105 RMagick-2.13.2]# ruby setup.rb config && ruby setup.rb setup && ruby setup.rb install

gsl

ruby-helixご指定の古いのをインストール。specファイルが用意されているのでrpmbuildで構築

[root@c105 ~]# mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
[root@c105 ~]# wget ftp://ftp.gnu.org/gnu/gsl/gsl-1.8.tar.gz
[root@c105 ~]# tar xvfz gsl-1.8.tar.gz gsl-1.8/gsl.spec.in
[root@c105 ~]# cp gsl-1.8/gsl.spec.in ~/rpmbuild/SPECS/gsl.spec
[root@c105 ~]# cp gsl-1.8.tar.gz ~/rpmbuild/SOURCES/

gslのspecファイルを編集。

[root@c105 ~]# vi ./rpmbuild/SPECS/gsl.spec
(4行目 変更)
- %define version @VERSION@
+ %define version 1.8
(76行目 削除)
- /usr/lib
(70行目 追加)
  %files
+ /usr/lib64/libgsl.a
+ /usr/lib64/libgsl.la
+ /usr/lib64/libgsl.so
+ /usr/lib64/libgsl.so.0
+ /usr/lib64/libgsl.so.0.9.0
+ /usr/lib64/libgslcblas.a
+ /usr/lib64/libgslcblas.la
+ /usr/lib64/libgslcblas.so
+ /usr/lib64/libgslcblas.so.0
+ /usr/lib64/libgslcblas.so.0.0.0
+ /usr/lib64/pkgconfig/gsl.pc
  %doc {NEWS,ChangeLog,INSTALL,README,AUTHORS,THANKS,BUGS}

その後にrpmbuildを実施。完成したらrpmファイルをインストール

[root@c105 ~]# rpmbuild -ba ~/rpmbuild/SPECS/gsl.spec
[root@c105 ~]# yum localinstall ~/rpmbuild/RPMS/x86_64/gsl-1.8-0.x86_64.rpm

*もしinstallにdebugファイルが必要と言われたら、echo "%debug_package %{nil}" >> ~/.rpmmacros として再構築する

ruby-helix

本殿。(ソースは本家から入手可能)
*export PATH=/opt/ruby187/bin:$PATH

[root@c105 ~]# gzip -cd ruby-helix-262.tar.gz | tar xf - && cd ruby-helix
[root@c105 ruby-helix]# 
[root@c105 ruby-helix]# ruby extconf.rb
checking for sys/types.h... yes
checking for u_int8_t... yes
checking for int16_t... yes
checking for int32_t... yes
checking for u_int32_t... yes
checking for main() in -lm... yes
checking for asinh() in math.h... yes
checking for jn() in math.h... yes
checking for main() in -lgslcblas... yes
checking for main() in -lgsl... yes
checking for main() in -ltiff... yes
checking for fftw3.h... yes
checking for main() in -lfftw3... yes
checking for main() in -lfftw3f... yes
           Have single float FFTW3 library
checking for gsl/gsl_specfunc.h... yes
checking for main() in -lgsl... yes
creating narray_config.h
creating Makefile
[root@c105 ruby-helix]#
[root@c105 ruby-helix]# make && make install

rb-gsl

rb-gslをインストール。これも最新版ではなく古いのが必要でrubyforgeから拾った

[root@c105 ~]# gzip -cd rb-gsl-1.8.3.tar.gz | tar xf - && cd rb-gsl-1.8.3
[root@c105 rb-gsl-1.8.3]# ruby setup.rb config -- --with-narray-include=/root/ruby-helix
---> lib
---> lib/gsl
<--- lib/gsl
<--- lib
---> ext
/opt/ruby187/bin/ruby /root/rb-gsl-1.8.3/ext/extconf.rb --with-narray-include=/root/ruby-helix
checking gsl version... 1.8
checking gsl cflags... -I/usr/include
checking for main() in -lcblas... no
checking gsl libs... -L/usr/lib64 -lgsl -lgslcblas -lm
checking for rngextra/rngextra.h... no
checking for gsl_tensor/gsl_tensor.h... no
checking rb-gsl version...1.8.3
checking ruby version... 1.8.7
checking for graph... yes
checking for narray.h... yes
checking for tamu_anova/tamu_anova.h... no
checking for main() in -ltamuanova... no
checking for round()... no
creating Makefile
<--- ext
[root@c105 rb-gsl-1.8.3]#
[root@c105 rb-gsl-1.8.3]# less ./ext/mkmf.log
[root@c105 rb-gsl-1.8.3]# ruby setup.rb setup && ruby setup.rb install && cd tests && ruby run-test.sh

rcairo

rubyのパッケージで pkg-config と test-unitが必要。rubygemsをインストールする

[root@c105 ~]# unzip rubygems-1.3.7.1.zip && cd rubygems-1.3.7.1
[root@c105 rubygems-1.3.7.1]# ruby setup.rb install

そして、

[root@c105 ~]# /opt/ruby187/bin/gem install pkg-confi
[root@c105 ~]# /opt/ruby187/bin/gem install test-unit

とインストール。
https://github.com/rcairo から rcairo-RELEASE_1_10_2.zip を入手して

[root@c105 ~]# unzip rcairo-RELEASE_1_10_2.zip && cd rcairo-RELEASE_1_10_2/
[root@c105 rcairo-RELEASE_1_10_2]# ruby extconf.rb && make && make install

ruby-gnome2

https://github.com/ruby-gnome2/ruby-gnome2 から ruby-1.8.7 でもコンパイル可能な 1.x系の最終版 1.2.6 と libgladeが含まれている 0.90.5 をダウンロードする
*2.0.0、2.0.1、2.0.2でもruby-1.8.7でコンパイルできるよとあるが、、できませんでした
まずは 1.2.6 から調理

[root@c105 ~]# unzip -q ruby-gnome2-1.2.6.zip && cd ruby-gnome2-1.2.6
[root@c105 ruby-gnome2-1.2.6]# ruby extconf.rb
(中略)
-----
Target libraries: glib2, gio2, gdk_pixbuf2, pango, atk, gtk2, gdk3, gtk3, cairo-gobject, \
gobject-introspection, goocanvas, gstreamer-gi, gstreamer, gtksourceview2, gtksourceview3, \
gvlc, poppler, rsvg2, vte, vte3
-----
Done.
[root@c105 ruby-gnome2-1.2.6]# make && make install

次にlibgladeが含まれている 0.90.5 を展開してインストール

[root@c105 ~]# unzip -q ruby-gnome2-0.90.5.zip && cd ruby-gnome2-0.90.5
[root@c105 ruby-gnome2-0.90.5]# cd libglade/
[root@c105 libglade]#
[root@c105 libglade]# ruby extconf.rb && make && make install

付属のmrcviewをちょいと調整して、
2015y12m01d_013829297.png
と表示は可能になった。

他必要なパッケージ
texlive-dvips texlive-latex inkscape R xpdf gnuplot emacs


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2015-12-01 (火) 01:44:39 (1716d)