Bug 777 - libsmb/clikrb5.c build fails on "eblock" undefined
libsmb/clikrb5.c build fails on "eblock" undefined
Status: CLOSED FIXED
Product: Samba 3.0
Classification: Unclassified
Component: libsmbclient
3.0.0
All OpenBSD
: P2 major
: none
Assigned To: Gerald (Jerry) Carter
:
: 778 (view as bug list)
Depends on:
Blocks: 807
  Show dependency treegraph
 
Reported: 2003-11-13 20:15 UTC by Ed Vazquez
Modified: 2005-11-14 09:27 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ed Vazquez 2003-11-13 20:15:06 UTC
The intent:
Install Samba on OpenBSD to act as a "worm catcher".  Since the environment is
native-mode Windows 2000, this necessitates building the Active Directory modules.

The system:
OpenBSD 3.4 i386
gcc version 2.95.3 20010125 (prerelease, propolice)
GNU Make 3.80
autoconf (GNU Autoconf) 2.57
automake (GNU automake) 1.4-p6
libiconv 1.8

The configure options (OpenBSD placement mostly):
./configure \
--prefix=/usr \
--sbindir=/usr/libexec \
--sysconfdir=/etc/samba \
--localstatedir=/var \
--libdir=/usr/lib/samba \
--infodir=/usr/share/info \
--mandir=/usr/share/man \
--disable-cups \
--with-privatedir=/etc/samba \
--with-lockdir=/var/spool/samba \
--with-piddir=/var/run \
--with-swatdir=/usr/share/swat \
--with-configdir=/etc/samba \
--with-ads \
--with-utmp \
LDFLAGS="-L/usr/local/lib" \
CPPFLAGS="-I/usr/local/include -I/usr/include/kerberosV"

The error:
Compiling libsmb/clikrb5.c
libsmb/clikrb5.c: In function `create_kerberos_key_from_string':
libsmb/clikrb5.c:92: syntax error before `eblock'
libsmb/clikrb5.c:99: `eblock' undeclared (first use in this function)
libsmb/clikrb5.c:99: (Each undeclared identifier is reported only once
libsmb/clikrb5.c:99: for each function it appears in.)
libsmb/clikrb5.c:100: warning: passing arg 3 of `krb5_string_to_key' from
incompatible pointer type
libsmb/clikrb5.c:100: warning: passing arg 4 of `krb5_string_to_key' from
incompatible pointer type
libsmb/clikrb5.c:100: warning: passing arg 5 of `krb5_string_to_key' from
incompatible pointer type
libsmb/clikrb5.c: In function `krb5_princ_component':
libsmb/clikrb5.c:405: warning: assignment discards qualifiers from pointer
target type
gmake: *** [libsmb/clikrb5.o] Error 1

The Diagnosis:
The "eblock" definition only exists in the MIT distribution of Kerberos (krb5.h).

To build successfully in OpenBSD with ADS, the Heimdal version must be
installed, which does not have the "eblock" setting defined.
Comment 1 Gerald (Jerry) Carter 2003-11-21 21:52:32 UTC
*** Bug 778 has been marked as a duplicate of this bug. ***
Comment 2 Gerald (Jerry) Carter 2003-12-08 08:47:11 UTC
This builds correctly on SuSE 9.0 with Heimdal 0.6.
What version of Samba and what version of Heimdal are you using ?
Comment 3 Ed Vazquez 2003-12-08 12:17:52 UTC
Application:
Heimdal 0.6 (_not_ native to OBSD, but builds and installs
    correctly)
Samba 3.0.0 _AND_ CVS latest trunk via anonymous.

System:
OpenBSD 3.4 i386
gcc version 2.95.3 20010125 (prerelease, propolice)
GNU Make 3.80
autoconf (GNU Autoconf) 2.57
automake (GNU automake) 1.4-p6
libiconv 1.8

Restatement of the problem:
The definition of "eblock" is referenced by the krb5 library
build routine.  This exists in OBSD natively since OBSD 
wraps the MIT version of Kerberos.  However, other routines
that only exist in the Heimdal version are needed for Samba
to build correctly.  Installing the Heimdal version over-
writes the header files from the MIT version and does not
have the "eblock" definition.

This was not an issue with v2.2.x.
Comment 4 Gerald (Jerry) Carter 2003-12-08 12:58:52 UTC
One comment that you made seems strange.
 
  "However, other routines that only exist in the 
   Heimdal version are needed for Samba to build 
   correctly."

However, Samba will build correctly with MIT or Heimdal
so this statement doesn't appear correct unless I'm 
misunderstanding you.

In addition, i'm wondering if you have mixed headers now 
from MIT and Heimdal.  Why didn't you just install the Heimdal 
libs in clean directory (or the latest version of the MIT 
files for that matter).  

mY comment was that the current CVS builds correctly 
with Heimdal 0.6 on SuSE 9.0.  So this doesn't appear to be 
a Heimdal problem.  And I know we build correctly with a 
clean install of MIT 1.2.7 or 1.3.1.  

So what I need to narrow down is what exactly is it about 
your environment that causes the build to break.  Are there 
any old hearders form the MIT install getting used perhaps?
Comment 5 Tim Potter 2004-01-14 22:55:04 UTC
I think Jeremy committed a fix for this.  Can you try with the latest CVS?


Tim.
Comment 6 Gerald (Jerry) Carter 2004-01-15 09:13:15 UTC
marking as fixed based on Tim's comments.  Please reopen if the
current SAMBA_3_0  CVS still fails.
Comment 7 Gerald (Jerry) Carter 2005-08-24 10:17:21 UTC
sorry for the same, cleaning up the database to prevent unecessary reopens of bugs.
Comment 8 Gerald (Jerry) Carter 2005-11-14 09:27:20 UTC
database cleanup