Date: Thu, 28 Jul 2011 19:19:09 -0700 From: Jo Rhett <jrhett@netconsonance.com> To: freebsd-apache@freebsd.org Subject: How to compile apr1 with bdb 1.85 support? Message-ID: <91FCB5C7-D791-438E-84A6-C2831B41D42F@netconsonance.com> In-Reply-To: <BEA8B970-6C8F-4699-B857-910CAE2D60BF@netconsonance.com> References: <B11948A9-A085-4D97-B8E8-700D7169E7C7@netconsonance.com> <4E2F3B16.7060204@p6m7g8.com> <FD27D76B-04E5-4D61-98D1-2B76BB02C50C@netconsonance.com> <B4CA9D00-9EDD-4632-8A7F-3E0C45A89088@netconsonance.com> <BEA8B970-6C8F-4699-B857-910CAE2D60BF@netconsonance.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Does anyone know how to compile devel/apr1 with support for Berkeley DB = 1.85 from the OS distribution? On Jul 27, 2011, at 1:50 AM, Jo Rhett wrote: > Okay, by compiling apr with BDB support (db48 since that's what I have = installed) I got that .so file to exist, but apr can't read the file. = It would appear that the root of this problem is that I can compile = apache with db185 support, but there's no way I have found to compile = apr with support for db185? >=20 > 54579 initial thread NAMI "/path/to/passwd.dat" > 54579 initial thread STRU struct stat {dev=3D94, ino=3D14790906, = mode=3D-rw-r----- , nlink=3D1, uid=3D1001, gid=3D80, rdev=3D59123456, = atime=3D1311756287, stime=3D117346 > 0427, ctime=3D1173460427, birthtime=3D1173460427, size=3D16384, = blksize=3D16384, blocks=3D32, flags=3D0x0 } > 54579 initial thread RET stat 0 > 54579 initial thread CALL open(0x884b1100,O_RDONLY,<unused>0) > 54579 initial thread NAMI "/path/to/passwd.dat" > 54579 initial thread RET open 13/0xd > 54579 initial thread CALL fcntl(0xd,F_GETFD,0) > 54579 initial thread RET fcntl 0 > 54579 initial thread CALL fcntl(0xd,F_SETFD,FD_CLOEXEC) > 54579 initial thread RET fcntl 0 > 54579 initial thread CALL read(0xd,0xbfbfe484,0x200) > 54579 initial thread GIO fd 13 read 512 bytes > 54579 initial thread RET read 512/0x200 > 54579 initial thread CALL write(0x2,0xbfbfda50,0x5b) > 54579 initial thread GIO fd 2 wrote 91 bytes > "__db_meta_setup: /path/to/passwd.dat: unexpected file type or = format" > 54579 initial thread RET write 91/0x5b > 54579 initial thread CALL write(0x2,0x883847f3,0x1) > 54579 initial thread GIO fd 2 wrote 1 byte > 54579 initial thread RET write 1 > 54579 initial thread CALL close(0xd) > 54579 initial thread RET close 0 > 54579 initial thread CALL gettimeofday(0xbfbfa7c4,0) > 54579 initial thread RET gettimeofday 0 > 54579 initial thread CALL write(0x6,0xbfbfc81c,0xbe) > 54579 initial thread GIO fd 6 wrote 190 bytes > "[Wed Jul 27 01:44:49 2011] [error] [client 99.124.207.89] = (120022)APR does not understand this error code: could not open dbm = (type DB) auth file: /path/to/passwd.dat > " >=20 > On Jul 27, 2011, at 1:31 AM, Jo Rhett wrote: >=20 >> More interesting. I explicitly set AuthDBMType to DB and that = problem disappeared, but the error remained. Looking at kdump this = seems to be the problem: >>=20 >> 3928 httpd NAMI "/usr/local/lib/apr-util-1/apr_dbm_db-1.so" >> "[Wed Jul 27 01:06:25 2011] [error] [client 99.124.207.89] = (20019)DSO load failed: could not open dbm (type DB) auth file: = /path/to/passwd.dat >>=20 >> # ls -la /usr/local/lib/apr* >> -rw-r--r-- 1 root wheel 7164 Jul 26 02:36 /usr/local/lib/apr.exp >> -rw-r--r-- 1 root wheel 4412 Jul 26 02:36 = /usr/local/lib/aprutil.exp >>=20 >> This doesn't seem to be a problem of reading the file so much as = trying to load a DS0 that doesn't exist? >>=20 >> I've rebuilt apr1 a few times now, and those files simply aren't = installed. >>=20 >> On Jul 27, 2011, at 12:31 AM, Jo Rhett wrote: >>> On Jul 26, 2011, at 3:09 PM, Philip M. Gollucci wrote: >>>> run httpd -X >>>> and then use ktrace -i / kdump >>>> then grep for NAMI and the name of your file >>>=20 >>> Okay, well this makes sense at least - it's looking for a .dir file = which of course doesn't exist. What I don't understand here is that I = don't have gdbm or sdbm enabled. In fact, I don't even have them = compiled on the platform. >>>=20 >>> # kdump |grep /passwd >>> 724 httpd NAMI "/path/to/passwd.dat.dir" >>>=20 >>> And more to the point, I explicitly told apache not to use anything = except BDB 185. You can see this in the configure line built by the = port: >>>=20 >>> $ head -10 /usr/ports/www/apache22/work/httpd-2.2.19/config.log >>> This file contains any messages produced by compilers while >>> running configure, to aid debugging if configure makes a mistake. >>>=20 >>> It was created by configure, which was >>> generated by GNU Autoconf 2.68. Invocation command line was >>>=20 >>> $ ./configure --prefix=3D/usr/local --enable-layout=3DFreeBSD = --with-perl=3D/usr/local/bin/perl5.14.1 --with-port=3D80 = --with-expat=3D/usr/local --with-iconv=3D/usr/local --enable-http = --with-pcre=3D/usr/local --with-apr=3D/usr/local/bin/apr-1-config = --with-apr-util=3D/usr/local/bin/apu-1-config --disable-authn-file = --disable-authn-default --disable-authz-host --disable-authz-groupfile = --disable-authz-user --disable-authz-default --disable-auth-basic = --disable-charset-lite --disable-include --disable-log-config = --disable-env --disable-setenvif --disable-mime --disable-status = --disable-autoindex --disable-asis --disable-cgid --disable-cgi = --disable-negotiation --disable-dir --disable-imagemap --disable-actions = --disable-userdir --disable-alias --disable-filter --disable-substitute = --disable-proxy --disable-proxy-connect --disable-proxy-ftp = --disable-proxy-http --disable-proxy-ajp --disable-proxy-balancer = --disable-proxy-scgi --disable-reqtimeout --enable-so = --enable-mods-shared=3Dauth_basic auth_digest authn_file authn_dbm = authn_anon authn_default authn_alias authz_host authz_groupfile = authz_user authz_dbm authz_owner authz_default cache disk_cache = file_cache dav dav_fs actions alias asis autoindex cern_meta cgi = charset_lite deflate dir dumpio env expires headers imagemap include = info log_config logio mime mime_magic negotiation rewrite setenvif = speling status unique_id userdir usertrack vhost_alias filter version = reqtimeout ssl --with-dbm=3Ddb185 --with-berkeley-db=3D/usr = --with-ssl=3D/usr --enable-v4-mapped --with-devrandom --with-mpm=3Dprefork= --prefix=3D/usr/local --mandir=3D/usr/local/man = --infodir=3D/usr/local/info/ --build=3Di386-portbld-freebsd8.2 >>>=20 >>>=20 >>>> On 07/26/11 09:35, Jo Rhett wrote: >>>>> I have a 6.3 system which I just upgraded to 8.2, and obviously = recompiled all ports from scratch. I cleared out the ports DB entirely, = cleared out /usr/local entirely except for etc/config files. Every = other port on the system recompiled fine, except for apache. It works = for everything except reading authentication files. I'd deeply = appreciate any assistance you can give to solving this. >>>>>=20 >>>>> For some reason I can't figure out, BDB authentication using the = built-in db 1.85 no longer works. >>>>>=20 >>>>> dbmmanage /path/to/file view/adduser/delete/etc works fine >>>>> file /path/to/file >>>>> /path/to/file: Berkeley DB 1.85 (Hash, version 2, native = byte-order) >>>>>=20 >>>>> Accessing from the web server always returns a 500 error with the = following in the error log: >>>>> (2)No such file or directory: could not open dbm (type default) = auth file: /path/to/passwd.dat >>>>>=20 >>>>> I've recompiled apr and apache with a variety of different = options, and nothing works. apr without any databases doesn't work. apr = with BDB doesn't work, etc. My options for apache have remained the = same: >>>>> APACHE_PORT=3Dwww/apache22 >>>>> WITH_DBM=3Dbdb >>>>> WITH_BDB_BASE=3Dyes >>>>> =09 >>>>> apr1$ make showconfig >>>>> =3D=3D=3D> The following configuration options are available for = apr-ipv6-devrandom-db48-1.4.5.1.3.12: >>>>> THREADS=3Don "Enable Threads in apr" >>>>> IPV6=3Don "Enable IPV6 Support in apr" >>>>> BDB=3Doff "Enable Berkley BDB support in apr-util" >>>>> GDBM=3Doff "Enable GNU dbm support in apr-util" >>>>> LDAP=3Doff "Enable LDAP support in apr-util" >>>>> MYSQL=3Doff "Enable MySQL suport in apr-util" >>>>> NDBM=3Doff "Enable NDBM support in apr-util" >>>>> PGSQL=3Doff "Enable Postgresql suport in apr-util" >>>>> SQLITE=3Doff "Enable SQLite3 support in apr-util" >>>>> DEVRANDOM=3Don "Use /dev/random or compatible in apr" >>>>> =3D=3D=3D> Use 'make config' to modify these settings >>>>>=20 >>>>> apache22$ make showconfig >>>>> =3D=3D=3D> The following configuration options are available for = apache-2.2.19: >>>>> THREADS=3Doff "Enable threads support in APR" >>>>> MYSQL=3Doff "Enable MySQL support for apr-dbd" >>>>> PGSQL=3Doff "Enable PostgreSQL support for apr-dbd" >>>>> SQLITE=3Doff "Enable SQLite support for apr-dbd" >>>>> IPV6=3Don "Enable IPv6 support" >>>>> BDB=3Don "Enable BerkeleyDB dbm" >>>>> AUTH_BASIC=3Don "Enable mod_auth_basic" >>>>> AUTH_DIGEST=3Don "Enable mod_auth_digest" >>>>> AUTHN_FILE=3Don "Enable mod_authn_file" >>>>> AUTHN_DBD=3Doff "Enable mod_authn_dbd" >>>>> AUTHN_DBM=3Don "Enable mod_authn_dbm" >>>>> AUTHN_ANON=3Don "Enable mod_authn_anon" >>>>> AUTHN_DEFAULT=3Don "Enable mod_authn_default" >>>>> AUTHN_ALIAS=3Don "Enable mod_authn_alias" >>>>> AUTHZ_HOST=3Don "Enable mod_authz_host" >>>>> AUTHZ_GROUPFILE=3Don "Enable mod_authz_groupfile" >>>>> AUTHZ_USER=3Don "Enable mod_authz_user" >>>>> AUTHZ_DBM=3Don "Enable mod_authz_dbm" >>>>> AUTHZ_OWNER=3Don "Enable mod_authz_owner" >>>>> AUTHZ_DEFAULT=3Don "Enable mod_authz_default" >>>>> CACHE=3Don "Enable mod_cache" >>>>> DISK_CACHE=3Don "Enable mod_disk_cache" >>>>> FILE_CACHE=3Don "Enable mod_file_cache" >>>>> MEM_CACHE=3Doff "Enable mod_mem_cache" >>>>> DAV=3Don "Enable mod_dav" >>>>> DAV_FS=3Don "Enable mod_dav_fs" >>>>> BUCKETEER=3Doff "Enable mod_bucketeer" >>>>> CASE_FILTER=3Doff "Enable mod_case_filter" >>>>> CASE_FILTER_IN=3Doff "Enable mod_case_filter_in" >>>>> EXT_FILTER=3Doff "Enable mod_ext_filter" >>>>> LOG_FORENSIC=3Doff "Enable mod_log_forensic" >>>>> OPTIONAL_HOOK_EXPORT=3Doff "Enable mod_optional_hook_export" >>>>> OPTIONAL_HOOK_IMPORT=3Doff "Enable mod_optional_hook_import" >>>>> OPTIONAL_FN_IMPORT=3Doff "Enable mod_optional_fn_import" >>>>> OPTIONAL_FN_EXPORT=3Doff "Enable mod_optional_fn_export" >>>>> LDAP=3Doff "Enable mod_ldap" >>>>> AUTHNZ_LDAP=3Doff "Enable mod_authnz_ldap" >>>>> ACTIONS=3Don "Enable mod_actions" >>>>> ALIAS=3Don "Enable mod_alias" >>>>> ASIS=3Don "Enable mod_asis" >>>>> AUTOINDEX=3Don "Enable mod_autoindex" >>>>> CERN_META=3Don "Enable mod_cern_meta" >>>>> CGI=3Don "Enable mod_cgi" >>>>> CHARSET_LITE=3Don "Enable mod_charset_lite" >>>>> DBD=3Doff "Enable mod_dbd" >>>>> DEFLATE=3Don "Enable mod_deflate" >>>>> DIR=3Don "Enable mod_dir" >>>>> DUMPIO=3Don "Enable mod_dumpio" >>>>> ENV=3Don "Enable mod_env" >>>>> EXPIRES=3Don "Enable mod_expires" >>>>> HEADERS=3Don "Enable mod_headers" >>>>> IMAGEMAP=3Don "Enable mod_imagemap" >>>>> INCLUDE=3Don "Enable mod_include" >>>>> INFO=3Don "Enable mod_info" >>>>> LOG_CONFIG=3Don "Enable mod_log_config" >>>>> LOGIO=3Don "Enable mod_logio" >>>>> MIME=3Don "Enable mod_mime" >>>>> MIME_MAGIC=3Don "Enable mod_mime_magic" >>>>> NEGOTIATION=3Don "Enable mod_negotiation" >>>>> REWRITE=3Don "Enable mod_rewrite" >>>>> SETENVIF=3Don "Enable mod_setenvif" >>>>> SPELING=3Don "Enable mod_speling" >>>>> STATUS=3Don "Enable mod_status" >>>>> UNIQUE_ID=3Don "Enable mod_unique_id" >>>>> USERDIR=3Don "Enable mod_userdir" >>>>> USERTRACK=3Don "Enable mod_usertrack" >>>>> VHOST_ALIAS=3Don "Enable mod_vhost_alias" >>>>> FILTER=3Don "Enable mod_filter" >>>>> SUBSTITUTE=3Doff "Enable mod_substitute" >>>>> VERSION=3Don "Enable mod_version" >>>>> PROXY=3Doff "Enable mod_proxy" >>>>> PROXY_CONNECT=3Doff "Enable mod_proxy_connect" >>>>> PATCH_PROXY_CONNECT=3Doff "Patch proxy_connect SSL support" >>>>> PROXY_FTP=3Doff "Enable mod_proxy_ftp" >>>>> PROXY_HTTP=3Doff "Enable mod_proxy_http" >>>>> PROXY_AJP=3Doff "Enable mod_proxy_ajp" >>>>> PROXY_BALANCER=3Doff "Enable mod_proxy_balancer" >>>>> PROXY_SCGI=3Doff "Enable mod_proxy_scgi" >>>>> SSL=3Don "Enable mod_ssl" >>>>> SUEXEC=3Doff "Enable mod_suexec" >>>>> SUEXEC_RSRCLIMIT=3Doff "SuEXEC rlimits based on login class" >>>>> REQTIMEOUT=3Don "Enable mod_reqtimeout" >>>>> CGID=3Doff "Enable mod_cgid" >>>>> =3D=3D=3D> Use 'make config' to modify these settings >>>>>=20 >>>>>=20 >>>>> As said above, I appreciate any assistance you can give. >>>>>=20 >>>>=20 >>>>=20 >>>> --=20 >>>> = ------------------------------------------------------------------------ >>>> 1024D/DB9B8C1C B90B FBC3 A3A1 C71A 8E70 3F8C 75B8 8FFB DB9B 8C1C >>>> Philip M. Gollucci (pgollucci@p6m7g8.com) c: 703.336.9354 >>>> VP Infrastructure, Apache Software Foundation >>>> Committer, FreeBSD Foundation >>>> Consultant, P6M7G8 Inc. >>>> Sr. System Admin, Ridecharge Inc. >>>>=20 >>>> Work like you don't need the money, >>>> love like you'll never get hurt, >>>> and dance like nobody's watching. >>>=20 >>> --=20 >>> Jo Rhett >>> Net Consonance : consonant endings by net philanthropy, open source = and other randomness >>>=20 >>=20 >> --=20 >> Jo Rhett >> Net Consonance : consonant endings by net philanthropy, open source = and other randomness >>=20 >> _______________________________________________ >> freebsd-apache@freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-apache >> To unsubscribe, send any mail to = "freebsd-apache-unsubscribe@freebsd.org" >=20 > --=20 > Jo Rhett > Net Consonance : consonant endings by net philanthropy, open source = and other randomness >=20 --=20 Jo Rhett Net Consonance : consonant endings by net philanthropy, open source and = other randomness
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?91FCB5C7-D791-438E-84A6-C2831B41D42F>