2011年7月9日土曜日

CentOS 5.5で、pkgsrcのparallel/sge をインストールしてみたときのメモ

x86_64なCentOS 5.5で、pkgsrcのparallel/sge をbmake installしてみたら、少々エラーが出たので、自分用にメモしておく。



Makefileの先頭部分はこんな感じだった。しばらくしたら修正されるかも?



# $NetBSD: Makefile,v 1.40 2011/07/05 01:30:52 dholland Exp $
#



PKGNAME=                sge-6.2.2.1
DISTNAME=               ge-V62u2_1_TAG-src
PKGREVISION=            4
CATEGORIES=             parallel sysutils
MASTER_SITES=           http://gridengine.sunsource.net/files/documents/7/197/





bmakeがはじまってそうそうに、SGE_ARCHか何かが、Makefileに書いてあるものと、推定されたものとが、一致しない、みたいなことを言われたけど、とりあえずMakefileを書き換えてしまった。



たしか、Makefileのほうではx86とか書いてあるけど、推定されるのはamd64になるとか、そんな感じ。





最初に出たコンパイルエラーはこんな感じ。



gcc -DSGE_ARCH_STRING=\"lx26-amd64\" -O3 -Wall -Werror -Wstrict-prototypes -DUSE_POLL -DLINUX -DLINUXAMD64 -DLINUXAMD64_26 -D_GNU_SOURCE -DGETHOSTBYNAME_R6 -DGETHOSTBYADDR_R8  -DLOAD_OPENSSL -I/usr/pkg/include/db4 -DTARGET_64BIT  -DSPOOLING_dynamic -DSECURE -I/usr/pkg/include -Wno-strict-aliasing -DNO_JNI -DCOMPILE_DC -D__SGE_COMPILE_WITH_GETTEXT__  -D__SGE_NO_USERMAPPING__ -I../common -I../libs -I../libs/uti -I../libs/juti -I../libs/gdi -I../libs/japi -I../libs/sgeobj -I../libs/cull -I../libs/rmon -I../libs/comm -I../libs/comm/lists -I../libs/sched -I../libs/evc -I../libs/evm -I../libs/mir -I../libs/lck -I../daemons/common -I../daemons/qmaster -I../daemons/execd -I../daemons/schedd -I../clients/common -I. -Wno-strict-prototypes -fPIC -ULOAD_OPENSSL -c ../libs/comm/cl_ssl_framework.c -o cl_ssl_framework_static.o
cc1: warnings being treated as errors
../libs/comm/cl_ssl_framework.c: In function 'cl_com_ssl_build_symbol_table':
../libs/comm/cl_ssl_framework.c:1850: warning: assignment from incompatible pointer type
../libs/comm/cl_ssl_framework.c:1851: warning: assignment from incompatible pointer type
../libs/comm/cl_ssl_framework.c:1930: warning: assignment from incompatible pointer type
../libs/comm/cl_ssl_framework.c:1931: warning: assignment from incompatible pointer type
../libs/comm/cl_ssl_framework.c:1932: warning: assignment from incompatible pointer type
make: *** [cl_ssl_framework_static.o] Error 1
not done
*** Error code 1

Stop.
bmake: stopped in /usr/pkgsrc/parallel/sge
*** Error code 1

Stop.
bmake: stopped in /usr/pkgsrc/parallel/sge



キャストが足りないだけ。同じソースファイル中で検索してみたら、似たような代入をしていて、キチンとキャストしてるところがあったので、同じものをエラーしたところに追加しただけ。



      cl_com_ssl_func__SSL_CTX_new                         = (SSL_CTX* (*)(const SSL_METHOD *meth))SSL_CTX_new;
      cl_com_ssl_func__SSLv23_method                       = (const SSL_METHOD* (*)(void))SSLv23_method;



      cl_com_ssl_func__X509_cmp_current_time = (int (*)(const ASN1_TIME *s))X509_cmp_current_time;
      cl_com_ssl_func__ASN1_INTEGER_cmp = (int (*)(const ASN1_INTEGER *x, const ASN1_INTEGER *y))ASN1_INTEGER_cmp;      
      cl_com_ssl_func__ASN1_INTEGER_get = (long (*)(const ASN1_INTEGER *a))ASN1_INTEGER_get;





次のエラーは



./utilbin/authuser.c -o authuser.o
../utilbin/authuser.c:74:31: error: security/pam_appl.h: No such file or directory
cc1: warnings being treated as errors



たしかに、security/pam_appl.hというファイルが無い。



パッケージpam-devel.x86_64をインストールすればよさそう、と直感で思って、

yum install pam-devel.x86_64

したら、それで当たりだった。





これだけでbmake installまで、できたかな。



動作確認はまったくしてない。



20110708



0 件のコメント:

コメントを投稿