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

[WIP] Scilab/Scicosのビルド

Last updated at Posted at 2019-05-11

$ wget http://www.scilab.org/download/6.0.2/scilab-6.0.2-x86_64-src.tar.gz
$ tar zxvf scilab-6.0.2-x86_64-src.tar.gz 
$ su
# ./configure 

記載されているパッケージの確認はせずにとりあえず前に進

# # HDF5
# wget https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
# rpm -Uvh epel-release-7-11.noarch.rpm
# yum install hdf5
#
# # ocaml
# yum install ocaml
#
# # ant
# yum install ant
#
## jgraphx
# git clone https://github.com/jgraph/jgraphx.git
# ant
# cp lib/jgraphx.jar /usr/local/lib/java/
#
# # flexdock
# git clone https://github.com/opencollab/flexdock.git
# yum install maven
# mvn clean install
#
# # glugen
# git clone --recurse-submodules git://jogamp.org/srv/scm/gluegen.git gluegen   
# ant
BUILD FAILED
# yum install ant-antlr
# ant
#
# jogl
# git clone --recurse-submodules git://jogamp.org/srv/scm/jogl.git jogl
# ant
#
# yum install java-latest-openjdk
# ant

JavaFXは、OpenJDKを自前でビルドする必要があるらしい。

# yum install mercurial bison flex gperf ksh pkgconfig \
    libpng12-devel libjpeg-devel libxml2-devel \
    libxslt-devel systemd-devel glib2-devel  gtk2-devel \
    libXtst-devel pango-devel freetype-devel
# 
# # /usr/lib/jvm/java-1.8.0-openjdk1.8.0.212.b04-0.el7_6.x86_64/jre
# #     [echo] jvmJava.exe                
#
# sudo cp -R ./build/sdk/* $JAVA_HOME/
# sudo cp -R ./build/sdk/rt/* $JAVA_HOME/jre/

  936  unzip gradle-4.8-bin.zip 
  937  ls /opt/gradle/
  938  mv gradle-4.8 /opt/gradle/
  939  export PATH=$PATH:/opt/gradle/gradle-4.8/bin
  940  hg clone http://hg.openjdk.java.net/openjfx/8u-dev/rt
  944  gradle tasks
  945  gradle clean
  946  gradle projects
  947  gradle
  968  sudo cp -R ../../rt/build/sdk/* /usr/lib/jvm/java-1.8.0-openjdk/
  969  sudo cp -R ../../rt/build/sdk/rt/* /usr/lib/jvm/java-1.8.0-openjdk/jre/
 1012  cp jar/* ../../gluegen/build/gluegen*.jar /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/lib/
 1019  cp ../jogl/build/jar/*.jar /usr/local/lib/java/
 1020  cp ../gluegen/build/gluegen*.jar /usr/local/lib/java/
 1052  grep 'javax.media.opengl' *
 1061  ln -s jogl-all.jar jogl2-all.jar
 1065  cp ../jogamp-all-platforms/lib/linux-i586/*.so /usr/local/lib
 1078  LD_LIBRARY_PATH=/usr/local/lib/ ./configure
 1087  grep glTexParameterf /usr/lib/libjogl_desktop.so 
 1090  echo $LD_LIBRARY_PATH
 1091  export LD_LIBRARY_PATH=/usr/lib:/usr/local/lib
 1109  ln -s /usr/local/lib/libjogl_desktop.so libjogl2.so
# ./configure
...
checking jogl2... /usr/local/lib/java/jogl2-all.jar
checking minimal version (Specification-Version 2.2) of jogl2... yes
checking for glTexParameterf in -ljogl_desktop... no
configure: WARNING: Could not link against -ljogl_desktop. Will try against -ljogl_desktop -lGL
checking for glTexParameterf in -ljogl_desktop ... no
configure: error: "libjogl: Library
missing (Cannot find symbol glTexParameterf). Check if libjogl - C/Java (JNI)
interface for JOGL2 - or libGL (OpenGL library) are installed and if the version is correct. Note that you might have to update etc/librarypath.xml to provide the actual path to the JNI libraries."

置いたlibjogl_desktop.soがi386向けのものだったので、リンクできていなかった。

glugen2

# grep MachineDescriptionRuntime ../gluegen2/*/*/*/* 2>error
バイナリファイル ../gluegen2/make/lib/v2.1.5/gluegen-rt.jar に一致しました
バイナリファイル ../gluegen2/make/lib/v2.2.0/gluegen-rt.jar に一致しました
バイナリファイル ../gluegen2/make/lib/v2.2.1/gluegen-rt.jar に一致しました

新しいglugenでは無くなったクラスを使用するらしい。

cp ../gluegen2/make/lib/v2.2.1/gluegen-rt.jar /usr/lib/java/gluegen2-rt.jar
cp ../gluegen/build/obj/libgluegen-rt.so /usr/local/lib

https://www.findjar.com/jar/javax/help/javahelp/2.0.02/javahelp-2.0.02.jar.html
からjavahelp2

http://ftp.jaist.ac.jp/pub/apache/lucene/java/8.1.0/
からlucene-core

https://altlinux.pkgs.org/sisyphus/classic-noarch/jrosetta-1.0.4-alt2_14jpp8.noarch.rpm.html
rpm -ivh jrosetta-1.0.4-alt2_14jpp8.noarch.rpm

あとは、yum searchか、mvnパッケージのサイトで見つかった。
地道に入れていって、scilabのconfigureが通るようになった。

flexboxがcore, view, etcと4ファイルだったので、参照するjarを4ファイルに変更。

# scilab-lib.properties
flexdock.jar=/usr/local/lib/java/flexdock-core-1.3.jar
flexdock2.jar=/usr/local/lib/java/flexdock-view-1.3.jar
flexdock3.jar=/usr/local/lib/java/flexdock-drag-1.3.jar
flexdock4.jar=/usr/local/lib/java/flexdock-perspective-1.3.jar
<!-- build.incl.xml -->
        <pathelement location="${flexdock.jar}"/>
        <pathelement location="${flexdock2.jar}"/>
        <pathelement location="${flexdock3.jar}"/>
        <pathelement location="${flexdock4.jar}"/>

javax.media.openglをcom.jogamp.openglに置き換え。
setLowercaseExpandedTerms(boolean lowercaseExpandedTerms)
が見つからない。大したことなさそうなので、コメントに。
setBoost
が見つからない。廃止されたようなので、コメントに。

ビルドが通った。

cd /usr/src/rtai/rtai-lab/scilab5
make install

5.3向けのソフトのため、6.0.2にあうように、パスを変更したり、
loadScicosLibs();loadXcosLibs();と変更して、ビルドを通した。

//exec("SCI/contrib/RTAI/loader.sce");
exec('/usr/local/scilab-6.0.2/share/scilab/contrib/RTAI/loader.sce')

disp("Scicos-RTAI Ready");

//load('SCI/macros/RTAI/lib')
//load('/usr/local/scilab-6.0.2/share/scilab/contrib/RTAI/macros/RTAI')
load('/usr/local/scilab-6.0.2/share/scilab/contrib/RTAI/macros/lib')


//%xcos_menu($+1)=['RTAI','RTAI CodeGen','Set Target']
//%scicos_menu($+1)=['RTAI','RTAI CodeGen','Set Target']
xcos_pal($+1,:)=['RTAI-Lib','SCI/macros/RTAI/RTAI-Lib.cosf']
0
0
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
0
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?