スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
新しい記事を書く事で広告が消せます。
Solaris9でApache+mod_ssl
先日やったSolaris9でApache-1.3.33とOpenSSL-0.9.8とmod_ssl-2.8.23-1.3.33のApacheコンパイルのメモ。
いつもの手順でconfigure、makeしたら
flex -Pssl_expr_yy -s -B ssl_expr_scan.l
make[4]: flex: Command not found
みたいなエラー。。
そうか、そうか、flexがないのか。ということで、flex-2.5.31のパッケージをhttp://www.sunfreeware.com/からダウンロードしてインストール。
すかさずmake
↓
/usr/local/bin/flex -Pssl_expr_yy -s -B ssl_expr_scan.l
m4: bad option: -P
make[2]: *** [ssl_expr_scan.c] Broken Pipe
make[1]: *** [all] Error 1
make: *** [subdirs] Error 1
…また失敗。。
flexがいけないのか?じゃあflexのバージョンを2.5.4にしようかと思ってソースからコンパイルしようとしたらbisonコマンドのところでエラー。
じゃあbisonのバージョンを新しいのにしようと思ったらm4のバージョンを1.4にあげよと。
m4?(゚Д゚)?あっ、さっきのはflexのエラーじゃなくてm4のエラーじゃないですか。
おし!とにかくflex、bison、m4全部新しくしてLet's make!
↓
lex.ssl_expr_yy.c:1900: error: parse error before numeric constant
lex.ssl_expr_yy.c: In function `ssl_expr_yy_scan_string':
lex.ssl_expr_yy.c:1901: error: number of arguments doesn't match prototype
lex.ssl_expr_yy.c:293: error: prototype declaration
lex.ssl_expr_yy.c:1903: warning: passing arg 1 of `strlen' makes pointer from integer without a cast
lex.ssl_expr_yy.c:1903: warning: passing arg 1 of `ssl_expr_yy_scan_bytes' makes pointer from integer without a cast
make[4]: *** [ssl_expr_scan.o] Error 1
make[3]: *** [all] Error 1
make[2]: *** [subdirs] Error 1
make[2]: Leaving directory `/home/sugi/src/apache_1.3.33/src'
make[1]: *** [build-std] Error 2
make[1]: Leaving directory `/home/sugi/src/apache_1.3.33'
make: *** [build] Error 2
まじっすか。。まだダメですか。。
色々調べた結果、configure後Apacheのソースディレクトリで
# touch src/modules/ssl/ssl_expr_scan.c
すれば良いいことが分かった。
OK!今度こそ(゚Д゚)!make!
↓
#/openssl-0.9.8/libcrypto.a(dso_dlfcn.o)(.text+0x35): In function `dlfcn_load':
: undefined reference to `dlopen'
#/openssl-0.9.8/libcrypto.a(dso_dlfcn.o)(.text+0x95): In function `dlfcn_load':
: undefined reference to `dlclose'
#/openssl-0.9.8/libcrypto.a(dso_dlfcn.o)(.text+0xbc): In function `dlfcn_load':
: undefined reference to `dlerror'
#/openssl-0.9.8/libcrypto.a(dso_dlfcn.o)(.text+0x147): In function
`dlfcn_bind_var':
: undefined reference to `dlsym'
#/openssl-0.9.8/libcrypto.a(dso_dlfcn.o)(.text+0x172): In function
`dlfcn_bind_var':
: undefined reference to `dlerror'
#/openssl-0.9.8/libcrypto.a(dso_dlfcn.o)(.text+0x237): In function
`dlfcn_bind_func':
: undefined reference to `dlsym'
#/openssl-0.9.8/libcrypto.a(dso_dlfcn.o)(.text+0x262): In function
`dlfcn_bind_func':
: undefined reference to `dlerror'
#/openssl-0.9.8/libcrypto.a(dso_dlfcn.o)(.text+0x50b): In function
`dlfcn_unload':
: undefined reference to `dlclose'
collect2: ld returned 1 exit status
make[2]: *** [target_static] Error 1
make[2]: Leaving directory `#/apache_1.3.33/src'
make[1]: *** [build-std] Error 2
make[1]: Leaving directory `#/apache_1.3.33'
make: *** [build] Error 2
#apache_1.3.33
……。( ̄Д ̄;;もう何なのかと。。。
dso_xxxxx.oとか出てるからDSO有効にすればいいかなとか思ってconfigureに
--enabel-module=so
を足したら…
コンパイル通った∩(´∀`)∩♪
で、のちにconfigure前に環境変数LDFLAGSに-ldlをセットすればDSO有効じゃなくてもコンパイル通ることが判明。
Bシェル系 LDFLAGS=-ldl; export LDFLAGS
Cシェル系 setenv LDFLAGS -ldl
はぁ~。疲れました。
いつもの手順でconfigure、makeしたら
flex -Pssl_expr_yy -s -B ssl_expr_scan.l
make[4]: flex: Command not found
みたいなエラー。。
そうか、そうか、flexがないのか。ということで、flex-2.5.31のパッケージをhttp://www.sunfreeware.com/からダウンロードしてインストール。
すかさずmake
↓
/usr/local/bin/flex -Pssl_expr_yy -s -B ssl_expr_scan.l
m4: bad option: -P
make[2]: *** [ssl_expr_scan.c] Broken Pipe
make[1]: *** [all] Error 1
make: *** [subdirs] Error 1
…また失敗。。
flexがいけないのか?じゃあflexのバージョンを2.5.4にしようかと思ってソースからコンパイルしようとしたらbisonコマンドのところでエラー。
じゃあbisonのバージョンを新しいのにしようと思ったらm4のバージョンを1.4にあげよと。
m4?(゚Д゚)?あっ、さっきのはflexのエラーじゃなくてm4のエラーじゃないですか。
おし!とにかくflex、bison、m4全部新しくしてLet's make!
↓
lex.ssl_expr_yy.c:1900: error: parse error before numeric constant
lex.ssl_expr_yy.c: In function `ssl_expr_yy_scan_string':
lex.ssl_expr_yy.c:1901: error: number of arguments doesn't match prototype
lex.ssl_expr_yy.c:293: error: prototype declaration
lex.ssl_expr_yy.c:1903: warning: passing arg 1 of `strlen' makes pointer from integer without a cast
lex.ssl_expr_yy.c:1903: warning: passing arg 1 of `ssl_expr_yy_scan_bytes' makes pointer from integer without a cast
make[4]: *** [ssl_expr_scan.o] Error 1
make[3]: *** [all] Error 1
make[2]: *** [subdirs] Error 1
make[2]: Leaving directory `/home/sugi/src/apache_1.3.33/src'
make[1]: *** [build-std] Error 2
make[1]: Leaving directory `/home/sugi/src/apache_1.3.33'
make: *** [build] Error 2
まじっすか。。まだダメですか。。
色々調べた結果、configure後Apacheのソースディレクトリで
# touch src/modules/ssl/ssl_expr_scan.c
すれば良いいことが分かった。
OK!今度こそ(゚Д゚)!make!
↓
#/openssl-0.9.8/libcrypto.a(dso_dlfcn.o)(.text+0x35): In function `dlfcn_load':
: undefined reference to `dlopen'
#/openssl-0.9.8/libcrypto.a(dso_dlfcn.o)(.text+0x95): In function `dlfcn_load':
: undefined reference to `dlclose'
#/openssl-0.9.8/libcrypto.a(dso_dlfcn.o)(.text+0xbc): In function `dlfcn_load':
: undefined reference to `dlerror'
#/openssl-0.9.8/libcrypto.a(dso_dlfcn.o)(.text+0x147): In function
`dlfcn_bind_var':
: undefined reference to `dlsym'
#/openssl-0.9.8/libcrypto.a(dso_dlfcn.o)(.text+0x172): In function
`dlfcn_bind_var':
: undefined reference to `dlerror'
#/openssl-0.9.8/libcrypto.a(dso_dlfcn.o)(.text+0x237): In function
`dlfcn_bind_func':
: undefined reference to `dlsym'
#/openssl-0.9.8/libcrypto.a(dso_dlfcn.o)(.text+0x262): In function
`dlfcn_bind_func':
: undefined reference to `dlerror'
#/openssl-0.9.8/libcrypto.a(dso_dlfcn.o)(.text+0x50b): In function
`dlfcn_unload':
: undefined reference to `dlclose'
collect2: ld returned 1 exit status
make[2]: *** [target_static] Error 1
make[2]: Leaving directory `#/apache_1.3.33/src'
make[1]: *** [build-std] Error 2
make[1]: Leaving directory `#/apache_1.3.33'
make: *** [build] Error 2
#apache_1.3.33
……。( ̄Д ̄;;もう何なのかと。。。
dso_xxxxx.oとか出てるからDSO有効にすればいいかなとか思ってconfigureに
--enabel-module=so
を足したら…
コンパイル通った∩(´∀`)∩♪
で、のちにconfigure前に環境変数LDFLAGSに-ldlをセットすればDSO有効じゃなくてもコンパイル通ることが判明。
Bシェル系 LDFLAGS=-ldl; export LDFLAGS
Cシェル系 setenv LDFLAGS -ldl
はぁ~。疲れました。
スポンサーサイト