Torque-4.2.10は,,難しい...

macOSから直接queueを投げられるようにしてみたいと思った

すでにApple/CommandLineToolsはインストール済み。torqueのソースは他のマシンでyumdownloaderで入手

mini:~ supervisor$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin
 
mini:~ supervisor$ cd src/
mini:src supervisor$ gzip -cd torque-4.2.10.tar.gz | tar xf -
mini:src supervisor$ cd torque-4.2.10
mini:torque-4.2.10 supervisor$ ./configure
 :
 :
checking for SSL_accept in -lssl... no
configure: error: TORQUE needs lib openssl-devel in order to build
mini:torque-4.2.10 supervisor$

とopenssl-develがないと言われエラーとなる。macOS Sierraでインストールされているopensslは

mini:~ supervisor$ openssl
OpenSSL> version
OpenSSL 0.9.8zh 14 Jan 2016
OpenSSL>
OpenSSL> quit
mini:~ supervisor$

と 0.9.8zh を採用している。何が駄目だったのかを調べるため config.log を確認してみる

mini:torque-4.2.10 supervisor$ view config.log
 :
configure:17698: g++ -o conftest -g -O2   conftest.c -lssl    -lpthread -lrt >&5
clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
ld: library not found for -lrt
clang: error: linker command failed with exit code 1 (use -v to see invocation)
 :
mini:torque-4.2.10 supervisor$

どうやらsslの問題ではなく、「-lrt」が問題だった見たい。これは「glibc」(GNU C library)の「librt.so.1」に該当するライブラリで
macOS Sierraにこのファイルはない。
「configure」のこの「-lrt」部分を削除して進めることにした。コンパイルの最中で再度GNU C libraryが必要といわれたら対処することにした

mini:torque-4.2.10 supervisor$ diff -u configure.old configure
--- configure.old       2015-03-20 12:25:05.000000000 +0900
+++ configure   2017-04-29 12:12:06.000000000 +0900
@@ -17649,7 +17649,7 @@
 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_create" >&5
 $as_echo "$ac_cv_lib_pthread_pthread_create" >&6; }
 if test "x$ac_cv_lib_pthread_pthread_create" = x""yes; then
-  PTHREAD_LIBS="$PTHREAD_LIBS -lpthread -lrt"
+  PTHREAD_LIBS="$PTHREAD_LIBS -lpthread"
 else
   { { $as_echo "$as_me:$LINENO: error: TORQUE needs pthreads in order to build" >&5
 $as_echo "$as_me: error: TORQUE needs pthreads in order to build" >&2;}
mini:torque-4.2.10 supervisor$

こうして再度configureを実施します

mini:torque-4.2.10 supervisor$ ./configure
 :
Building components: server=yes mom=yes clients=yes
                     gui=no drmaa=no pam=no
PBS Machine type    : darwin
Remote copy         : /usr/bin/scp -rpB
PBS home            : /var/spool/torque
Default server      : mini.local
 
Unix Domain sockets :
Linux cpusets       : no
Tcl                 : disabled
Tk                  : disabled
Authentication      : classic (pbs_iff)
 
Ready for 'make'.
mini:torque-4.2.10 supervisor$

一応、最後まで通った。これでmakeを行ってみる。っが途中で

In file included from ../../../src/include/pbs_job.h:101:
../../../src/include/hash_table.h:83:10: fatal error: 'endian.h' file not found
#include "endian.h" /* LITTLE_ENDIAN */
         ^
1 error generated.

endian.hがないとしてエラーが発生した。
このファイル、Linuxでは「glibc-headers」に含まれるもので、やはりglibcが必須のようだ。。
一応glibcのコンパイルを試みたが、、ハードルが高すぎで諦めた。

なので、、次にTorque-2.4.17を試してみた。

2.4.17

CentOS5とかのころには使っていたTorqueのバージョンである。これをmacOS Sierraに入れてみることにした
ソースはhttp://www.adaptivecomputing.com/products/open-source/torque-old/torque-archived-versions-library/より入手可能

ここではqsubを流せればいいので「clinet」機能のみを有効にした

mini:src supervisor$ export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin
mini:src supervisor$ gzip -cd torque-2.4.17.tar.gz | tar xf - && cd torque-2.4.17
 
mini:torque-2.4.17 supervisor$ ./configure --disable-server --disable-mom --disable-gui \
                                           --with-server-home=/var/lib/torque --without-tcl --without-tk \
                                           --disable-unixsockets
 :
Building components: server=no mom=no clients=yes
                     gui=no drmaa=no pam=no
PBS Machine type: darwin
Remote copy: /usr/bin/scp -rpB
PBS home: /var/lib/torque
Default server: mini.local
Unix Domain sockets: no
Tcl: disabled
Tk: disabled
 
Ready for 'make'.
mini:torque-2.4.17 supervisor$
 
mini:torque-2.4.17 supervisor$ make && sudo make install

コマンドqsubらは/usr/local/binに置かれた

torqueサーバにこのクライアントから接続を試みたが、、、

mini:~ supervisor$ qmgr
pbs_iff: cannot read reply from pbs_server
No Permission.
qmgr: cannot connect to server  (errno=15007) Unauthorized Request
mini:~ supervisor$

と無理でした。


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2017-04-30 (日) 00:41:28 (55d)