山口です。

httpd-2.0.54が出ていたので、version upしようと思いきや、中々
makeが成功せず、前に進めません。

何か簡単なところでつまづいているような気もするんですが、解決
の糸口がつかめません。という訳で、「こうすればいいかも」な情報
を頂ける事を期待してfj.unixにすがってみます。

どなたか、何かヒントがありましたら教えて下さい。

【症状】
   具体的にはhttpd-2.0.54のmake時に
         :
    /path/to/httpd-2.0.54/srclib/apr/.libs/libapr-0.so: undefined reference to `dlclose@SUNW_1.22'
    collect2: ld returned 1 exit status
    make[2]: *** [htpasswd] Error 1
         :
   などと怒られてしまいます。*1

【やったこと】
   configureの内容は
   > cat config.nice
   #! /bin/sh
   #
   # Created by configure
   
   "./configure" \
   "--enable-so" \
   "--prefix=/path/to/www" \
   "$@"
   です。

   途中、/usr/include/pthread.hの291Lから304Lあたりで文法エラーが
   出る*2ので、pthread.hをsrclib/apr/includeへcpし、291Lから304L
   までcomment outしてmakeを途中まで無理きり進めています。

   また、libgcc_s.so.1がnot foundで-rpathを使えというメッセージが
   出たのでbuild/config_vars.mkのAP_LIBSへ-rpathを追加しています。

【環境】
   uname -aは
      SunOS hoge 5.10 s10_58 i86pc i386 i86pc
   です。

   gccは
      コンフィグオプション: ../gcc-3.3.2/configure --prefix=/opt/sfw/gcc-3
      --with-ld=/usr/ccs/bin/ld --with-as=/usr/ccs/bin/as --without-gnu-ld
      --without-gnu-as --enable-shared
      スレッドモデル: posix
      gcc バージョン 3.3.2
   です。

【*1】
   エラーの詳細は次の通りです。(途中、適宜改行を入れています)
   > make
   make[2]: Entering directory `/path/to/httpd-2.0.54/support'
   /path/to/httpd-2.0.54/srclib/apr/libtool --silent --mode=link gcc  -g -O2
   -DSOLARIS2=10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -DAP_HAVE_DESIGNATED_INITIALIZER
   -I/path/to/httpd-2.0.54/srclib/apr/include -I/path/to/httpd-2.0.54/srclib/apr-util/include
   -I/path/to/httpd-2.0.54/srclib/apr-util/xml/expat/lib -I. -I/path/to/httpd-2.0.54/os/unix
   -I/path/to/httpd-2.0.54/server/mpm/prefork -I/path/to/httpd-2.0.54/modules/http
   -I/path/to/httpd-2.0.54/modules/filters -I/path/to/httpd-2.0.54/modules/proxy
   -I/path/to/httpd-2.0.54/include -I/path/to/httpd-2.0.54/modules/generators
   -I/path/to/httpd-2.0.54/modules/dav/main -export-dynamic
   -L/path/to/httpd-2.0.54/srclib/apr-util/xml/expat/lib   -o htpasswd  htpasswd.lo
   /path/to/httpd-2.0.54/srclib/pcre/libpcre.la
   /path/to/httpd-2.0.54/srclib/apr-util/libaprutil-0.la
   /path/to/httpd-2.0.54/srclib/apr-util/xml/expat/lib/libexpat.la
   /path/to/httpd-2.0.54/srclib/apr/libapr-0.la -lsendfile -lrt -lm -lsocket -lnsl
   -lresolv -rpath /opt/sfw/gcc-3/lib
   /path/to/httpd-2.0.54/srclib/apr/.libs/libapr-0.so: undefined reference to `dlerror@SUNW_1.22'
   /path/to/httpd-2.0.54/srclib/apr/.libs/libapr-0.so: undefined reference to `modf@SYSVABI_1.3'
   /path/to/httpd-2.0.54/srclib/apr/.libs/libapr-0.so: undefined reference to `gethostname@SUNWprivate_1.1'
   /path/to/httpd-2.0.54/srclib/apr/.libs/libapr-0.so: undefined reference to `isnan@SYSVABI_1.3'
   /path/to/httpd-2.0.54/srclib/apr/.libs/libapr-0.so: undefined reference to `dlopen@SUNW_1.22'
   /path/to/httpd-2.0.54/srclib/apr/.libs/libapr-0.so: undefined reference to `dlsym@SUNW_1.22'
   /path/to/httpd-2.0.54/srclib/apr/.libs/libapr-0.so: undefined reference to `dlclose@SUNW_1.22'
   collect2: ld returned 1 exit status
   make[2]: *** [htpasswd] Error 1

【*2】
   *1 エラーはこんなんです。httpd-2.0.52でも出ていました。その時は
   comment outしたら上手く誤魔化せた記憶があります。
   
   In file included from ../include/apr_portable.h:47,
                    from apr_snprintf.c:23:
   /usr/include/pthread.h:291: error: parse error before '*' token
   /usr/include/pthread.h:292: error: parse error before '*' token
   /usr/include/pthread.h:293: error: parse error before '*' token
   /usr/include/pthread.h:294: error: parse error before '*' token
   /usr/include/pthread.h:295: error: parse error before '*' token
   /usr/include/pthread.h:296: error: parse error before '*' token
   /usr/include/pthread.h:297: error: parse error before '*' token
   /usr/include/pthread.h:298: error: parse error before '*' token
   /usr/include/pthread.h:300: error: parse error before '*' token
   /usr/include/pthread.h:301: error: parse error before '*' token
   /usr/include/pthread.h:303: error: parse error before '*' token
   /usr/include/pthread.h:304: error: parse error before '*' token
   make[4]: *** [apr_snprintf.lo] Error 1

-- 
 Tadasuke YAMAGUCHI @ Hyogo