cootをソースから作ってみる

本家様にこれを流せば作れるよなスクリプトが提供されてます.
https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/web/build-install-coot-from-scratch.html
っが一筋縄ではいかない...

目下 version 0.9.x と version 1.1.x の2系列が存在している.

ここでは version 0.9.x を作ってみます. version 1.1.x はこちら
使用するスクリプトはこちら
https://raw.githubusercontent.com/pemsley/coot/refinement/build-it

Rockylinux9

[root@rockylinux9 ~]# cat /etc/redhat-release
Rocky Linux release 9.5 (Blue Onyx)
 
[root@rockylinux9 ~]# dnf groupinstall "Development Tools"
[root@rockylinux9 ~]# dnf install epel-release 
[root@rockylinux9 ~]# dnf install --enablerepo=devel cmake freetype-devel libpng-devel gtk2-devel libXt-devel mesa-libGLU-devel ncurses-devel gfortran libjpeg-turbo-devel libXpm-devel
[root@rockylinux9 ~]# dnf install http://mirror.ghettoforge.org/distributions/gf/el/9/gf/x86_64/libgnomecanvas-2.30.3-26.gf.el9.x86_64.rpm
 
[root@rockylinux9 ~]# mkdir script ; cd script
 
[root@rockylinux9 script]# wget https://raw.githubusercontent.com/pemsley/coot/refinement/build-it
 
[root@rockylinux9 script]# vi build-it

build-itの編集内容

--- build-it.orig       2025-02-01 20:33:02.909703150 +0900
+++ build-it    2025-02-01 20:55:54.897407112 +0900
@@ -1052,7 +1052,7 @@
 
    if [ -e /bin/rpm ] ; then
       if rpm -a ; then
-         for i in fedora-release redhat-release redhat-release-workstation centos-release sl-release openSUSE-release ; do
+         for i in fedora-release redhat-release redhat-release-workstation centos-release sl-release openSUSE-release rocky-release ; do
            dist=`rpm -q --qf '%{name}' ${i}`
            echo  dist is $dist
            dist=`rpm -q --qf '%{name}' ${i}`
@@ -1091,7 +1091,7 @@
     esac
     ;;
 
-    fedora | centos | openSUSE )
+    fedora | centos | openSUSE | rocky )
       systype=${architecture}-${dist_name}-${dist_ver}
     ;;
 
@@ -1524,8 +1524,8 @@
 # This setting of the alias fails.  It works on the command line.
 # WGET="LD_LIBRARY_PATH=/usr/lib wget -N -P ${AUTOBUILD_SOURCES}"
 # WGETO="LD_LIBRARY_PATH=/usr/lib wget   -P ${AUTOBUILD_SOURCES}"
-WGET="wget -N -P ${AUTOBUILD_SOURCES}"
-WGETO="wget   -P ${AUTOBUILD_SOURCES}"
+WGET="wget -N -P ${AUTOBUILD_SOURCES} --no-check-certificate"
+WGETO="wget   -P ${AUTOBUILD_SOURCES} --no-check-certificate"
 
 # latest version (without .tar.gz extension)
 coot_version=$fallback_coot_version
@@ -1619,6 +1619,7 @@
       coot_version=coot-0.9.8.9
       coot_version=coot-0.9.8.91
       coot_version=coot-0.9.8.92
+      coot_version=coot-0.9.8.95
       echo NNX:: coot_version $coot_version
 
    else
@@ -3378,6 +3379,7 @@
 
       boost_home_url=https://dl.bintray.com/boostorg/release/1.72.0/source
       boost_home_url=https://boostorg.jfrog.io/artifactory/main/release/1.72.0/source
+      boost_home_url=https://archives.boost.io/release/1.72.0/source
       echo wgetting $boost_home_url/boost_$boost_version.tar.gz
       ${WGET} $boost_home_url/boost_$boost_version.tar.gz
 
@@ -4593,8 +4595,8 @@
 # as is the case when one dose "make install"
 # So I will convert that to say just "../py-compile"
 #
-sed -ibackup -e 's/am__py_compile.*destdir.*/am__py_compile)/' pyrogen/Makefile
-sed -ibackup -e 's/am__py_compile.*destdir.*/am__py_compile)/' python/Makefile
+sed -ibackup -e 's/am__py_compile.*destdir.*/am__py_compile) \\/' pyrogen/Makefile
+sed -ibackup -e 's/am__py_compile.*destdir.*/am__py_compile) \\/' python/Makefile
 
 # these are no longer used
 #         --with-mmdb-prefix=$install_top_dir

っと修正した上で

[root@rockylinux9 script]# bash ./build-it
 :
(ティータイム)
 :
[root@rockylinux9 script]# ls -l ~/autobuild/
total 0
drwxr-xr-x.  5 root root 103 Feb  1 20:56 building
drwxr-xr-x.  9 root root  94 Feb  1 21:29 coot-Linux-x86_64-rocky-9.5-gtk2-python
drwxr-xr-x. 10 root root 112 Feb  1 21:24 Linux-rockylinux9-gtk2-python
[root@rockylinux9 script]#

この「~/autobuild/」に作られた「coot-Linux-x86_64-rocky-9.5-gtk2-python」が完成品. これを「/apps」に配置するなどして使う

[root@rockylinux9 ~]# mkdir /apps
[root@rockylinux9 ~]# mv autobuild/coot-Linux-x86_64-rocky-9.5-gtk2-python/ /apps/

EnvironmentModules は「/apps/modulefiles/coot」で内容は下記にします

#%Module1.0
set coot /apps/coot-Linux-x86_64-rocky-9.5-gtk2-python/
set-alias coot $coot/bin/coot

備考として
途中「~/public_html/build-logs/Linux-rockylinux9/gtk2-python-gcc-11_and_g++-11/」に各コンポーネントのコンパイルサマリが列挙されます.
全部を一つ一つ見て各コンポーネントが正常にコンパイルされてたかを確認できます.

っで起動してみると
2024y08m30d_014213313.png 2024y08m30d_014320246.png
となります。 MobaXtermのXは正しく表示される. Xmingだと背景色が白のままで一見動いていないように見える..MobaXtermの方がいいかも

libvpx-develは入れてはダメ. libgdのコンパイルに必要かなと入れたら他のコンパイルに支障が発生
python3-numpyもダメみたい. rdkitの構築にエラーになるっぽい

Rockylinux8

[root@rockylinux8 ~]# cat /etc/redhat-release
Rocky Linux release 8.10 (Green Obsidian)
[root@rockylinux8 ~]# dnf groupinstall "Development Tools" -y
[root@rockylinux8 ~]# dnf install cmake gtk2-devel gcc-gfortran libXt-devel mesa-libGLU-devel libtiff-devel gd-devel -y
[root@rockylinux8 ~]# dnf install https://raw.githubusercontent.com/rpmsphere/x86_64/master/p/pangox-compat-0.0.2-2.x86_64.rpm https://raw.githubusercontent.com/rpmsphere/x86_64/master/p/pangox-compat-devel-0.0.2-2.x86_64.rpm

っで下準備は完了

[root@rockylinux8 ~]# mkdir script; cd script
[root@rockylinux8 script]# wget https://raw.githubusercontent.com/pemsley/coot/refinement/build-it
 
[root@rockylinux8 script]# vi build-it

「build-it」の修正箇所は rockylinux9 と同じです.
っで

[root@rockylinux8 script]# bash ./build-it
 :
(ティータイム)
 :
[root@rockylinux8 script]# ls -l ~/autobuild/
total 0
drwxr-xr-x.  4 root root  62 Feb  1 21:53 building
drwxr-xr-x.  9 root root  94 Feb  1 22:35 coot-Linux-x86_64-rocky-8.10-gtk2-python
drwxr-xr-x. 10 root root 112 Feb  1 22:30 Linux-rockylinux8-gtk2-python
[root@rockylinux8 script]#

完成した「coot-Linux-x86_64-rocky-8.10-gtk2-python」を「/apps」に移します

[root@rockylinux8 ~]# cd /apps/
[root@rockylinux8 apps]# mv ~/autobuild/coot-Linux-x86_64-rocky-8.10-gtk2-python .

EnvironmentModules はこんな感じで
「/apps/modulefiles/coot」

#%Module1.0
set coot /apps/coot-Linux-x86_64-rocky-8.10-gtk2-python
set-alias coot $coot/bin/coot

2025y02m01d_224236233.png

ubuntu22.04

root@ubuntu22:~# cat /etc/os-release
 :
VERSION="22.04.3 LTS (Jammy Jellyfish)"
 :
root@ubuntu22:~# apt-get update
root@ubuntu22:~# apt install build-essential git cmake m4 libtool swig flex bison gfortran autoconf automake libssl-dev \
libxext-dev libxmu-dev libxt-dev libtinfo-dev libncurses5-dev libglu1-mesa-dev libjpeg-dev mesa-common-dev libgtk2.0-dev libgnomecanvas2-dev
 
root@ubuntu22:~# mkdir script; cd script
root@ubuntu22:~/script# wget https://raw.githubusercontent.com/pemsley/coot/refinement/build-it
 
root@ubuntu22:~/script# vi build-it

修正箇所は rockylinux8/9 と同じ. rocky部分は不要ですが.

root@ubuntu22:~/script# bash ./build-it
 :
(ティータイム)
 :
root@ubuntu22:~/script# ls -l ~/autobuild/
total 12
drwxr-xr-x  4 root root 4096  2月  1 23:10 building
drwxr-xr-x  9 root root 4096  2月  1 23:56 coot-Linux-x86_64-ubuntu-22.04.3-gtk2-python
drwxr-xr-x 10 root root 4096  2月  1 23:52 Linux-ubuntu22-gtk2-python
root@ubuntu22:~/script#
 
root@ubuntu22:~/script# mv ~/autobuild/coot-Linux-x86_64-ubuntu-22.04.3-gtk2-python/ /apps
 
root@ubuntu22:~/script# vi /apps/modulefiles/coot
#%Module1.0
set coot /apps/coot-Linux-x86_64-ubuntu-22.04.3-gtk2-python
set-alias coot $coot/bin/coot
 
root@ubuntu22:~/script#

2025y02m02d_001002743.png

ubuntu24.04

root@ubuntu24:~# cat /etc/os-release
 :
VERSION="24.04.1 LTS (Noble Numbat)"
 :
root@ubuntu24:~# apt-get update
root@ubuntu24:~# apt install build-essential git cmake m4 libtool swig flex bison gfortran autoconf automake libssl-dev \
libxext-dev libxmu-dev libxt-dev libncurses-dev libglu1-mesa-dev libjpeg-dev mesa-common-dev libgtk2.0-dev libgnomecanvas2-dev
 
libtinfo-dev libncurses5-dev
 
root@ubuntu24:~# mkdir script; cd script
root@ubuntu24:~/script# wget https://raw.githubusercontent.com/pemsley/coot/refinement/build-it
 
root@ubuntu24:~/script# vi build-it

修正箇所は rockylinux8/9とほぼ同じですが、ubuntu22とubutun24とでパッケージ名称が変更されたのでその修正を加味してます

--- build-it.orig       2025-02-02 00:31:06.647470647 +0900
+++ build-it    2025-02-02 00:30:45.677465438 +0900
@@ -1183,8 +1183,7 @@
        libxmu-dev
        libxt-dev
        libc6-dev
-       libtinfo-dev
-       libncurses5-dev
+       libncurses-dev
        libssl-dev
        libglu1-mesa-dev
        libjpeg-dev
@@ -1524,8 +1523,8 @@
 # This setting of the alias fails.  It works on the command line.
 # WGET="LD_LIBRARY_PATH=/usr/lib wget -N -P ${AUTOBUILD_SOURCES}"
 # WGETO="LD_LIBRARY_PATH=/usr/lib wget   -P ${AUTOBUILD_SOURCES}"
-WGET="wget -N -P ${AUTOBUILD_SOURCES}"
-WGETO="wget   -P ${AUTOBUILD_SOURCES}"
+WGET="wget -N -P ${AUTOBUILD_SOURCES} --no-check-certificate"
+WGETO="wget   -P ${AUTOBUILD_SOURCES} --no-check-certificate"
 
 # latest version (without .tar.gz extension)
 coot_version=$fallback_coot_version
@@ -1619,6 +1618,7 @@
       coot_version=coot-0.9.8.9
       coot_version=coot-0.9.8.91
       coot_version=coot-0.9.8.92
+      coot_version=coot-0.9.8.95
       echo NNX:: coot_version $coot_version
 
    else
@@ -3378,6 +3378,7 @@
 
       boost_home_url=https://dl.bintray.com/boostorg/release/1.72.0/source
       boost_home_url=https://boostorg.jfrog.io/artifactory/main/release/1.72.0/source
+      boost_home_url=https://archives.boost.io/release/1.72.0/source
       echo wgetting $boost_home_url/boost_$boost_version.tar.gz
       ${WGET} $boost_home_url/boost_$boost_version.tar.gz
 
@@ -4593,8 +4594,8 @@
 # as is the case when one dose "make install"
 # So I will convert that to say just "../py-compile"
 #
-sed -ibackup -e 's/am__py_compile.*destdir.*/am__py_compile)/' pyrogen/Makefile
-sed -ibackup -e 's/am__py_compile.*destdir.*/am__py_compile)/' python/Makefile
+sed -ibackup -e 's/am__py_compile.*destdir.*/am__py_compile) \\/' pyrogen/Makefile
+sed -ibackup -e 's/am__py_compile.*destdir.*/am__py_compile) \\/' python/Makefile
 
 # these are no longer used
 #         --with-mmdb-prefix=$install_top_dir

そうして構築へ

root@ubuntu24:~/script# bash ./build-it
 :
(紅茶タイム)
 :
root@ubuntu24:~/script# ls -l ~/autobuild/
total 12
drwxr-xr-x  4 root root 4096 Feb  2 00:32 building
drwxr-xr-x  9 root root 4096 Feb  2 01:17 coot-Linux-x86_64-ubuntu-24.04.1-gtk2-python
drwxr-xr-x 10 root root 4096 Feb  2 01:13 Linux-ubuntu24-gtk2-python
root@ubuntu24:~/script#
 
root@ubuntu24:~/script# mv ~/autobuild/coot-Linux-x86_64-ubuntu-24.04.1-gtk2-python /apps
 
root@ubuntu24:~/script# vi /apps/modulefiles/coot
#%Module1.0
set coot /apps/coot-Linux-x86_64-ubuntu-24.04.1-gtk2-python
set-alias coot $coot/bin/coot
 
root@ubuntu24:~/script#

2025y02m02d_012517932.png

最新の60件
2025-03-23 2025-03-22 2025-03-20 2025-03-17 2025-03-16 2025-03-15 2025-03-10 2025-03-08 2025-03-06 2025-03-03 2025-03-02 2025-03-01 2025-02-23 2025-02-18 2025-02-17 2025-02-14 2025-02-12 2025-02-03 2025-02-02
  • coot/source
2025-01-27 2025-01-26 2025-01-25 2025-01-24 2025-01-23 2025-01-20 2025-01-13 2025-01-12 2025-01-08 2024-12-30 2024-12-29 2024-12-22 2024-12-20 2024-12-17 2024-12-15 2024-12-14 2024-12-12 2024-12-11 2024-12-10 2024-12-09 2024-11-28 2024-11-22 2024-11-15 2024-11-14 2024-11-12 2024-11-06 2024-11-05

edit


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2025-02-02 (日) 01:28:41