Return-Path: Received: from mail-wi0-f175.google.com (mail-wi0-f175.google.com [209.85.212.175]) by krbdev.mit.edu (Postfix) with ESMTPS id EBF0158EE7 for ; Wed, 20 Feb 2013 22:52:16 -0500 (EST) Received: by mail-wi0-f175.google.com with SMTP id l13so7011450wie.2 for ; Wed, 20 Feb 2013 19:52:16 -0800 (PST) X-Google-Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:mime-version:in-reply-to:references:from:date:message-id :subject:to:content-type:x-gm-message-state; bh=w64c0cF3xyE74+7JXL0xVoVnAGUgnxVKOdPTYhunLS8=; b=N1yp/WaL8REpVjVHZh7dLRE6G+bdxvlodxPr8Nd/1cpcTXJgb9j+X/r27Ocje1TjQj JcQZ8gohlSVNoro3sgmKjkxfVZA4jzAB6/ChcP55iDTdyd0m0Qe8dBZR6E6zAK9/38lL yBsfVP1AaeVfZzjxWF2PQCL9CHoRk7PMi3WInCu+o/YMWTgKF6UVhIDD23uYBlN/2hFy iI78dsXMGgId6kKn/cOXmKVgXKN9flIwyCnu9j+511JE9CT3sXnsU3NuuTNlmf8ISVT3 Dr/GcOSq0MbYJv9NAW/b2jv7W7mGy1FyP4oR4hmCoxOPOAQnX5EgM5bwd9HmtC5hb2AK 9LHg== X-Received: by 10.194.103.163 with SMTP id fx3mr38274966wjb.58.1361418735943; Wed, 20 Feb 2013 19:52:15 -0800 (PST) MIME-Version: 1.0 Received: by 10.194.108.230 with HTTP; Wed, 20 Feb 2013 19:51:55 -0800 (PST) In-Reply-To: References: From: Mark Ashley Date: Thu, 21 Feb 2013 14:51:55 +1100 Message-ID: Subject: Re: [krbdev.mit.edu #7572] krb5 1.11 doesn't build on Solaris w/ Sun Studio, the first time. A re-make works To: rt-comment@krbdev.mit.edu, rt@krbdev.mit.edu Content-Type: text/plain; charset=ISO-8859-1 X-GM-Message-State: ALoCoQndqUTKjGS1VOa/2adUGPze+DGtJEnqruBClszViNncvy+1XTlYZSBMLwW6n6kSufJcs83D RT-Send-Cc: X-RT-Original-Encoding: iso-8859-1 Content-Length: 3707 Hey Greg, Thanks for the follow up. It appears that Oracle has deprecated BTREEINFO in its latest BDB versions. Digging into the krb5 install guide: --with-system-db Use an installed version of the Berkeley DB package, which must provide an API compatible with version 1.85. This option is unsupported and untested. In particular, we do not know if the database-rename code used in the dumpfile load operation will behave properly. If this option is not given, a version supplied with the Kerberos sources will be built and installed. (We are not updating this version at this time because of licensing issues with newer versions that we haven't investigated sufficiently yet.) So it looks like the configure script could be enhanced to first hunt for when --with-system-db is used. These perl replacement lines result in a full clean compile with what I assume is the expected results. cd /var/tmp rm -rf krb5-1.11 untgz /usr/local/src/crypto/krb5-1.11.tar.gz cd krb5-1.11/src ./configure --prefix=/usr/local \ --with-ldap \ --with-system-db \ --with-tcl=/usr/local \ --with-pkinit-crypto-impl=openssl \ --with-readline /bin/perl -pe 's%%%' -i ./plugins/kdb/db2/policy_db.h /bin/perl -pe 's%%%' -i ./plugins/kdb/db2/adb_openclose.c /bin/perl -pe 's%%%' -i ./plugins/kdb/db2/kdb_db2.c /bin/perl -pe 's%%%' -i ./plugins/kdb/db2/db2_exp.c /bin/perl -pe 's%%%' -i ./plugins/kdb/hdb/kdb_hdb.c /bin/perl -pe 's%%%' -i ./plugins/kdb/hdb/kdb_marshal.c /bin/perl -pe 's%%%' -i ./plugins/kdb/hdb/kdb_windc.c /bin/perl -pe 's%%%' -i ./kadmin/testing/util/bsddb_dump.c /bin/perl -pe 's%%%' -i ./include/Makefile gmake gmake install ta, Mark. My /usr/local/include/db.h: #define DB_VERSION_STRING "Berkeley DB 4.8.30: (April 9, 2010)" # grep BTREE /usr/local/include/* /usr/local/include/db.h:struct __db_bt_stat; typedef struct __db_bt_stat DB_BTREE_STAT; /usr/local/include/db.h: DB_BTREE=1, /usr/local/include/db.h:#define DB_BTREEVERSION 9 /* Current btree version. */ /usr/local/include/db.h:#define DB_BTREEOLDVER 8 /* Oldest btree version supported. */ /usr/local/include/db.h:#define DB_BTREEMAGIC 0x053162 /usr/local/include/db.h:#define DB_OK_BTREE 0x01 /usr/local/include/db_185.h:#define R_LAST 6 /* seq (BTREE, RECNO) */ /usr/local/include/db_185.h:#define R_PREV 9 /* seq (BTREE, RECNO) */ /usr/local/include/db_185.h:typedef enum { DB_BTREE, DB_HASH, DB_RECNO } DBTYPE; /usr/local/include/db_185.h:#define BTREEMAGIC 0x053162 /usr/local/include/db_185.h:#define BTREEVERSION 3 /usr/local/include/db_185.h:} BTREEINFO; /usr/local/include/kdb.h:#define KRB5_KDB_CREATE_BTREE 0x00000001 /usr/local/include/ldap.h:#define LDAP_URLEXT_X_SEARCHEDSUBTREEOID \ /usr/local/include/ldap.h:#define LDAP_URLEXT_X_SEARCHEDSUBTREE "x-searchedSubtree" /usr/local/include/ldap.h:#define LDAP_SCOPE_SUBTREE ((ber_int_t) 0x0002) /usr/local/include/ldap.h:#define LDAP_SCOPE_SUB LDAP_SCOPE_SUBTREE On Wed, Feb 20, 2013 at 5:06 PM, Greg Hudson via RT wrote: > Your build was configured with --with-system-db, so plugins/kdb/db2/libdb2 > was not built, and was taken from /usr/local/include or the system > include path. If that system header does not defined BTREEINFO or > HASHINFO, then the failure you observed is unsurprising. Those symbols > are a documented part of the BDB interface at least as of 4.2.