- PR -

solaris10(sparc)でCyrus-SASL makeでエラー

1
投稿者投稿内容
black-dr
常連さん
会議室デビュー日: 2008/03/10
投稿数: 27
投稿日時: 2008-08-28 08:51
度々、申し訳ありません。
solaris10(sparc)で ./configure は、問題無く終了しますが、
makeでエラーとなります。

どうもdigest のところで、makeがつまっている様なのですが。。
どうすれば、いいか、わからないのです。何かぬけているものが
あるのでしょうか?

現在の環境は、
OS:solaris10 5/08(sparc)
Gcc:gcc-3.4.6-sol10-sparc-local.gz
make:make-3.81-sol10-sparc-local.gz
Cyrus-SASL:cyrus-sasl-2.1.22.tar
openssl:openssl-0.9.8h-sol10-sparc-local
BerkeleyDB.4.4
インストール手順は、下記手順を参考に..

http://www.rinneza.com/junya/tech/solaris10_x86/mail/cyrus_sasl_2_1_22.html


gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../lib -I../sasldb -I../include -I/usr/local/BerkeleyDB.4.4/include -Wall -W -g -O2 -MT digestmd5.lo -MD -MP -MF .deps/digestmd5.Tpo -c digestmd5.c -fPIC -DPIC -o digestmd5.lo
digestmd5.c:812: error: syntax error before "des_key_schedule"
digestmd5.c:812: warning: no semicolon at end of struct or union
digestmd5.c:813: warning: type defaults to `int' in declaration of `ivec'
digestmd5.c:813: warning: data definition has no type or storage class
digestmd5.c:814: error: syntax error before "keysched2"
digestmd5.c:814: warning: type defaults to `int' in declaration of `keysched2'
digestmd5.c:814: warning: data definition has no type or storage class
digestmd5.c: In function `dec_3des':
digestmd5.c:849: warning: implicit declaration of function `des_ede2_cbc_encrypt'
digestmd5.c:852: error: dereferencing pointer to incomplete type
digestmd5.c:853: error: dereferencing pointer to incomplete type
digestmd5.c:854: error: dereferencing pointer to incomplete type
digestmd5.c:855: error: `DES_DECRYPT' undeclared (first use in this function)
digestmd5.c:855: error: (Each undeclared identifier is reported only once
digestmd5.c:855: error: for each function it appears in.)
digestmd5.c: In function `enc_3des':
digestmd5.c:900: error: dereferencing pointer to incomplete type
digestmd5.c:901: error: dereferencing pointer to incomplete type
digestmd5.c:902: error: dereferencing pointer to incomplete type
digestmd5.c:903: error: `DES_ENCRYPT' undeclared (first use in this function)
digestmd5.c: In function `init_3des':
digestmd5.c:918: error: invalid application of `sizeof' to incomplete type `digestmd5.c'
digestmd5.c:923: warning: implicit declaration of function `des_key_sched'
digestmd5.c:923: error: `des_cblock' undeclared (first use in this function)
digestmd5.c:923: error: syntax error before ')' token
digestmd5.c:927: error: syntax error before ')' token
digestmd5.c:929: error: dereferencing pointer to incomplete type
digestmd5.c:934: error: increment of pointer to unknown structure
digestmd5.c:934: error: arithmetic on pointer to an incomplete type
digestmd5.c:936: error: syntax error before ')' token
digestmd5.c:940: error: syntax error before ')' token
digestmd5.c:943: error: dereferencing pointer to incomplete type
digestmd5.c: In function `dec_des':
digestmd5.c:967: warning: implicit declaration of function `des_cbc_encrypt'
digestmd5.c:970: error: dereferencing pointer to incomplete type
digestmd5.c:971: error: dereferencing pointer to incomplete type
digestmd5.c:972: error: `DES_DECRYPT' undeclared (first use in this function)
digestmd5.c:976: error: dereferencing pointer to incomplete type
digestmd5.c: In function `enc_des':
digestmd5.c:1021: error: dereferencing pointer to incomplete type
digestmd5.c:1022: error: dereferencing pointer to incomplete type
digestmd5.c:1023: error: `DES_ENCRYPT' undeclared (first use in this function)
digestmd5.c:1027: error: dereferencing pointer to incomplete type
digestmd5.c: In function `init_des':
digestmd5.c:1042: error: invalid application of `sizeof' to incomplete type `digestmd5.c'
digestmd5.c:1047: error: `des_cblock' undeclared (first use in this function)
digestmd5.c:1047: error: syntax error before ')' token
digestmd5.c:1049: error: dereferencing pointer to incomplete type
digestmd5.c:1054: error: increment of pointer to unknown structure
digestmd5.c:1054: error: arithmetic on pointer to an incomplete type
digestmd5.c:1056: error: syntax error before ')' token
digestmd5.c:1058: error: dereferencing pointer to incomplete type
digestmd5.c: In function `digestmd5_server_mech_step2':
digestmd5.c:2100: warning: dereferencing type-punned pointer will break strict-aliasing rules
digestmd5.c:2117: warning: dereferencing type-punned pointer will break strict-aliasing rules
make[2]: *** [digestmd5.lo] Error 1
make[2]: Leaving directory `/home/admin/cyrus-sasl-2.1.22/plugins'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/admin/cyrus-sasl-2.1.22'
make: *** [all] Error 2
※googleっていろいろ対処を探しているのですが、解決策が出ません。
英語でなんとなく問題提議は、あるみたいなのですが。。。


あんとれ
ぬし
会議室デビュー日: 2004/01/14
投稿数: 556
投稿日時: 2008-08-28 20:31
cyrus-sasl-2.1.21 であれば、
http://www.sunfreeware.com/ にあるパッケージを利用できるのに、
わざわざソースコードからコンパイルすることに拘る理由が分かりません。

エラーになって Google を調べられたようですが、
問題が発生した箇所のソースコードは確認されたのでしょうか?

エラーの内容からするに、des_key_schedule という構造体が定義されているが、
ヘッダファイルが上手く読まれていないため、構造体と認識されないように見えます。

なので、ヘッダファイルを読み込めるようにしてあげればよいのではないでしょうか。
des_key_schedule という名前から言って、暗号関係、すなわち openssl のファイルを
正しく読み込めていないと推測できます。

実際、gcc の引数を見ても -I/usr/local/ssl/include が指定されていません。
configure オプションに --with-openssl=/usr/local/ssl を指定して
やり直してみてはいかがでしょうか。

あと、ソースツリーを削除せず、make clean だけしてやり直すのであれば、
config.cache を削除するのを忘れないでください。


[ メッセージ編集済み 編集者: あんとれ 編集日時 2008-08-28 20:32 ]
black-dr
常連さん
会議室デビュー日: 2008/03/10
投稿数: 27
投稿日時: 2008-08-29 09:35
あんとれさん。。。ありがとうございました。
sunfreewareにあったんですね。。。見落としてました。
<opensslは、ここから入れたのですが。。。>
更に./configure に--with-openssl ...を追加して再度makeしたら、
ちゃんとできました。make clean 時、
config.cacheを消すというのは、知りませんでした。
(凹んでいます...) 今、postfixでも、make installでこけていまして。。。
もう、make地獄で嵌っているので、更に指摘された点を注意したい
と思います。dbm_dirfno,dbm_pagfnoが未定義とかで参照エラーになって
しまっています。


NeXT
大ベテラン
会議室デビュー日: 2004/04/06
投稿数: 215
お住まい・勤務地: 江戸
投稿日時: 2008-08-29 10:29
> dbm_dirfno,dbm_pagfnoが未定義とかで参照エラーになって
> しまっています。

「Postfix のぺーじ」にある以下の情報に該当しませんか?
http://www.kobitosan.net/postfix/jhtml/faq.html#dbm_dirfno
1

スキルアップ/キャリアアップ(JOB@IT)