本家様 https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/

coot200714,xray/coot
ソースコードから作る coot/source

本家様のダウンロードサイトから左上の「Download Binaries」リンクをクリックして、その中の release/ から最新版バイナリーを得ます。
ここでは rockylinux8 で動かしたいので「coot-0.9.8.92-binary-Linux-x86_64-scientific-linux-7.6-python-gtk2.tar.gz」を選びます(20240831時点)

これを「/apps/src/coot-0.9.8.92-binary-Linux-x86_64-scientific-linux-7.6-python-gtk2.tar.gz」とかに置いて

[root@rockylinux ~]# cat /etc/redhat-release
Rocky Linux release 8.10 (Green Obsidian)
 
[root@rockylinux ~]#
[root@rockylinux ~]# dnf install libpng15 compat-openssl10
[root@rockylinux ~]# cd /apps
[root@rockylinux apps]# tar xf src/coot-0.9.8.92-binary-Linux-x86_64-scientific-linux-7.6-python-gtk2.tar.gz

と展開します。
起動用のEnvironmentModulesは下記のようにします
「/apps/modulefiles/coot」

#%Module1.0
#
set-alias coot /apps/coot-Linux-x86_64-scientific-linux-7.6-gtk2-python/bin/coot

このmodulefilesをloadして「coot」と打てば使えます.

[saber@rockylinux ~]$ module use /apps/modulefiles/
[saber@rockylinux ~]$ module load coot
 
[saber@rockylinux ~]$ coot

2024y09m01d_000312998.png 2024y09m01d_000359626.png

RHEL9系のrockylinux9で使いたい

提供されている「coot-0.9.8.92-binary-Linux-x86_64-scientific-linux-7.6-python-gtk2.tar.gz」をrockylinux9に入れて動かしてみると、下記のようにエラーが出て使えなかった

[illya@rockylinux9 ~]$ /apps/coot-Linux-x86_64-scientific-linux-7.6-gtk2-python/bin/coot
/apps/coot-Linux-x86_64-scientific-linux-7.6-gtk2-python/libexec/coot-bin: error while loading shared libraries: libpng15.so.15: cannot open shared object file: No such file or directory
. ------ Coot crashed - trying to diagnose -----
ldd -r on guile gives:
        linux-vdso.so.1 (0x00007ffc4d775000)
        libguile.so.17 => /apps/coot-Linux-x86_64-scientific-linux-7.6-gtk2-python/lib/libguile.so.17 (0x00007fc8c6a00000)
        libgmp.so.10 => /apps/coot-Linux-x86_64-scientific-linux-7.6-gtk2-python/lib/libgmp.so.10 (0x00007fc8c6600000)
        libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fc8c6e11000)
        libm.so.6 => /lib64/libm.so.6 (0x00007fc8c6d36000)
        libltdl.so.3 => /apps/coot-Linux-x86_64-scientific-linux-7.6-gtk2-python/lib/libltdl.so.3 (0x00007fc8c6200000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007fc8c6d2f000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fc8c6d2a000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fc8c5e00000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fc8c6e58000)
Guile 1.8.8
Copyright (c) 1995, 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation
Guile may be distributed under the terms of the GNU General Public Licence;
certain other uses are permitted as well.  For details, see the file
`COPYING', which is included in the Guile distribution.
There is no warranty, to the extent permitted by law.
catching the crash log:
coot-exe: "/apps/coot-Linux-x86_64-scientific-linux-7.6-gtk2-python/libexec/coot-bin"
/usr/bin/ls
-rwxr-xr-x. 1 illya illya 273336584 Sep  6  2023 /apps/coot-Linux-x86_64-scientific-linux-7.6-gtk2-python/libexec/coot-bin
coot-version:
/apps/coot-Linux-x86_64-scientific-linux-7.6-gtk2-python/libexec/coot-bin
/apps/coot-Linux-x86_64-scientific-linux-7.6-gtk2-python/libexec/coot-bin: error while loading shared libraries: libpng15.so.15: cannot open shared object file: No such file or directory
platform:
/usr/bin/uname
Linux rockylinux9 5.14.0-427.18.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Mon May 27 16:35:12 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
core: #f
No core file found.  No debugging
[illya@rockylinux9 ~]$

っと無理みたい. これを無理やりでも動かす方法はある.
っで不足のライブラリを入れても

[root@rockylinux9 ~]# dnf install libpng15 mesa-libGLU openldap-compat

最後に「libssl.so.10」が要求される。この「libssl.so.10」を含むパッケージはrockylinux9では提供されていない。
っで「libssl.so.10」はrockylinux8では「compat-openssl10-1.0.2o-4.el8_6.x86_64.rpm」に含まれている。なのでこれをrebuildすれば、、と思うがエラーが出てダメ.
なのでソースから作る. 使うソースは openssl-1.0.2系

[root@rockylinux9 ~]# wget https://openssl.org/source/old/1.0.2/openssl-1.0.2u.tar.gz
[root@rockylinux9 ~]# tar xf openssl-1.0.2u.tar.gz
[root@rockylinux9 ~]# cd openssl-1.0.2u/
[root@rockylinux9 openssl-1.0.2u]# ./Configure shared --prefix=/apps/openssl-1.0.2 linux-x86_64
[root@rockylinux9 openssl-1.0.2u]# vi Makefile

Makefileを修正します

--- Makefile.orig       2024-09-01 01:40:26.908680823 +0900
+++ Makefile    2024-09-01 01:41:35.741390251 +0900
@@ -9,9 +9,8 @@
 MINOR=0.2
 SHLIB_VERSION_NUMBER=1.0.0
 SHLIB_VERSION_HISTORY=
-SHLIB_MAJOR=1
-SHLIB_MINOR=0.0
-SHLIB_EXT=.so.$(SHLIB_MAJOR).$(SHLIB_MINOR)
+SHLIB_MAJOR=10
+SHLIB_EXT=.so.$(SHLIB_MAJOR)
 PLATFORM=linux-x86_64
 OPTIONS=enable-shared --prefix=/apps/openssl-1.0.2 no-ec_nistp_64_gcc_128 no-gmp no-jpake no-krb5 no-libunbound no-md2 no-rc5 (略
 CONFIGURE_ARGS=shared --prefix=/apps/openssl-1.0.2 linux-x86_64
@@ -345,7 +344,7 @@
 link-shared:
        @ set -e; for i in $(SHLIBDIRS); do \
                $(MAKE) -f $(HERE)/Makefile.shared -e $(BUILDENV) \
-                       LIBNAME=$$i LIBVERSION=$(SHLIB_MAJOR).$(SHLIB_MINOR) \
+                       LIBNAME=$$i LIBVERSION=$(SHLIB_MAJOR) \
                        LIBCOMPATVERSIONS=";$(SHLIB_VERSION_HISTORY)" \
                        symlink.$(SHLIB_TARGET); \
                libs="$$libs -l$$i"; \
@@ -359,7 +358,7 @@
                        libs="$(LIBKRB5) $$libs"; \
                fi; \
                $(CLEARENV) && $(MAKE) -f Makefile.shared -e $(BUILDENV) \
-                       LIBNAME=$$i LIBVERSION=$(SHLIB_MAJOR).$(SHLIB_MINOR) \
+                       LIBNAME=$$i LIBVERSION=$(SHLIB_MAJOR) \
                        LIBCOMPATVERSIONS=";$(SHLIB_VERSION_HISTORY)" \
                        LIBDEPS="$$libs $(EX_LIBS)" \
                        link_a.$(SHLIB_TARGET); \

修正したらmakeします

[root@rockylinux9 openssl-1.0.2u]# make
[root@rockylinux9 openssl-1.0.2u]# make install

っでEnvironmentModulesは下記のようにします

#%Module1.0
#
prepend-path LD_LIBRARY_PATH /apps/openssl-1.0.2/lib/
set-alias coot /apps/coot-Linux-x86_64-scientific-linux-7.6-gtk2-python/bin/coot

そうすると一応起動する.

2024y09m01d_015513581.png

っが、、起動中に下記文言を言われる

/apps/coot-Linux-x86_64-scientific-linux-7.6-gtk2-python/libexec/coot-bin: /apps/openssl-1.0.2/lib/libssl.so.10: no version information available (required by /apps/coot-Linux-x86_64-scientific-linux-7.6-gtk2-python/lib/libcurl.so.4)
/apps/coot-Linux-x86_64-scientific-linux-7.6-gtk2-python/libexec/coot-bin: /apps/openssl-1.0.2/lib/libcrypto.so.10: no version information available (required by /apps/coot-Linux-x86_64-scientific-linux-7.6-gtk2-python/lib/libcurl.so.4)
/apps/coot-Linux-x86_64-scientific-linux-7.6-gtk2-python/libexec/coot-bin: /apps/openssl-1.0.2/lib/libcrypto.so.10: no version information available (required by /apps/coot-Linux-x86_64-scientific-linux-7.6-gtk2-python/lib/libcurl.so.4)

致命的なエラーではないと思えるが、、、

気になるならソースから作るしかないみたい
参照coot/source

memo

export LIBGL_ALWAYS_INDIRECT=1

こっちも参照CUDA/GL

ubuntuなら、、

cootのサイトで提供しているubuntu版は「coot-0.9.8-binary-Linux-x86_64-ubuntu-20.04.4-python-gtk2.tar.gz」が最新っぽい。っでこれは ubuntu20.04向け.
ubuntu22.04とかでは動きません。「libssl.so.1.1」が足りないとして止まります。rockylinux9の「libssl.so.10」に似てます.

っでじゃぁー同じようにlibssl.so.1.1を自作して回避させてみる.

root@ubuntu22:~# grep PRETTY_NAME /etc/os-release
PRETTY_NAME="Ubuntu 22.04.3 LTS"
 
root@ubuntu22:~# cd /apps/src/
root@ubuntu22:/apps/src# wget https://openssl.org/source/old/1.1.1/openssl-1.1.1w.tar.gz
root@ubuntu22:/apps/src# tar xf openssl-1.1.1w.tar.gz
root@ubuntu22:/apps/src# cd openssl-1.1.1w/
root@ubuntu22:/apps/src/openssl-1.1.1w# ./Configure shared --prefix=/apps/openssl-1.1.1w linux-x86_64
 
root@ubuntu22:/apps/src/openssl-1.1.1w# make && make install

っでEnvironmentModulesは下記のようにします
「/apps/modulefiles/coot」

#%Module1.0
prepend-path LD_LIBRARY_PATH /apps/openssl-1.1.1w/lib
prepend-path PATH /apps/coot-Linux-x86_64-ubuntu-20.04.4-gtk2-python/bin

っでloadしてcootを立ち上げると
2024y09m01d_200629239.png
と起動できた. 起動中の文言にエラーっぽいものはなかったです

なら、さらに ubuntu24.04なら、、

同じように「libssl.so.1.1」が足りないとして止まります。
なのでこちらも同様、openssl-1.1.1w.tar.gzをコンパイルして入れます

root@ubuntu24:~# grep PRETTY_NAME /etc/os-release
PRETTY_NAME="Ubuntu 24.04.1 LTS"
 
root@ubuntu24:~# cd /apps/src/
root@ubuntu24:/apps/src# wget https://openssl.org/source/old/1.1.1/openssl-1.1.1w.tar.gz
root@ubuntu24:/apps/src# tar xf openssl-1.1.1w.tar.gz
root@ubuntu24:/apps/src# cd openssl-1.1.1w/
root@ubuntu24:/apps/src/openssl-1.1.1w# ./Configure shared --prefix=/apps/openssl-1.1.1w linux-x86_64
root@ubuntu24:/apps/src/openssl-1.1.1w# make && make install

EnvironmentModulesも同様に
「/apps/modulefiles/coot」

#%Module1.0
prepend-path LD_LIBRARY_PATH /apps/openssl-1.1.1w/lib
prepend-path PATH /apps/coot-Linux-x86_64-ubuntu-20.04.4-gtk2-python/bin

とします。
起動してみると下記のようになります。起動の際、文言にエラーのようなものはこちらでもありませんでした。

2024y09m01d_231113113.png

最新の60件
2025-02-17 2025-02-15 2025-02-14 2025-02-12 2025-02-03 2025-02-02 2025-02-01 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-12-08 2024-11-28 2024-11-22
  • coot
2024-11-15 2024-11-14 2024-11-12 2024-11-06 2024-11-05 2024-11-04 2024-11-02 2024-11-01 2024-10-28 2024-10-27 2024-10-23 2024-10-18 2024-10-17 2024-10-15 2024-10-14

edit


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2024-11-22 (金) 01:35:05