Bug 2923 - Cannot build samba-3.0.20pre2 against Heimdal 0.7 nor 0.6.3
Summary: Cannot build samba-3.0.20pre2 against Heimdal 0.7 nor 0.6.3
Status: RESOLVED LATER
Alias: None
Product: Samba 3.0
Classification: Unclassified
Component: Build environment (show other bugs)
Version: 3.0.20
Hardware: x86 Linux
: P3 major
Target Milestone: none
Assignee: Guenther Deschner
QA Contact: Samba QA Contact
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-07-27 03:34 UTC by Mike Rose
Modified: 2005-08-25 06:36 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mike Rose 2005-07-27 03:34:33 UTC
Suse Linux 9.1 Pro install
compiled heimdal 0.7 and openldap-2.2.26 myself.
samba-3.0.14a did buld OK against these releaes of Heimdal and openldap.


cd /scratch/samba-3.0.20pre2/source
./configure --prefix=/usr/local/samba/ --with-ldap --with-ads --with-krb5
--with-pam --with-winbind
make

Compiling dynconfig.c
In file included from include/includes.h:452,
                 from dynconfig.c:21:
/usr/heimdal/include/krb5.h:660: error: syntax error at '#' token
/usr/heimdal/include/krb5.h:660: warning: no semicolon at end of struct or union
/usr/heimdal/include/krb5.h:660: error: parse error before
"DONT_USE_CPLUSPLUS_RESERVED_NAMES"
/usr/heimdal/include/krb5.h:661: warning: data definition has no type or storage
class
In file included from /usr/heimdal/include/krb5.h:750,
                 from include/includes.h:452,
                 from dynconfig.c:21:
/usr/heimdal/include/krb5-protos.h:1750: error: parse error before
"krb5_get_init_creds_opt"
/usr/heimdal/include/krb5-protos.h:1760: error: parse error before
"krb5_get_init_creds_opt"
/usr/heimdal/include/krb5-protos.h:1770: error: parse error before
"krb5_get_init_creds_opt"
/usr/heimdal/include/krb5-protos.h:1775: error: parse error before
"krb5_get_init_creds_opt"
/usr/heimdal/include/krb5-protos.h:1778: error: parse error before '*' token
/usr/heimdal/include/krb5-protos.h:1781: error: parse error before '*' token
/usr/heimdal/include/krb5-protos.h:1785: error: parse error before '*' token
/usr/heimdal/include/krb5-protos.h:1790: error: parse error before '*' token
/usr/heimdal/include/krb5-protos.h:1798: error: parse error before
"krb5_get_init_creds_opt"
/usr/heimdal/include/krb5-protos.h:1802: error: parse error before '*' token
/usr/heimdal/include/krb5-protos.h:1808: error: parse error before '*' token
/usr/heimdal/include/krb5-protos.h:1814: error: parse error before
"krb5_get_init_creds_opt"
/usr/heimdal/include/krb5-protos.h:1821: error: parse error before
"krb5_get_init_creds_opt"
/usr/heimdal/include/krb5-protos.h:1827: error: parse error before
"krb5_get_init_creds_opt"
/usr/heimdal/include/krb5-protos.h:1838: error: parse error before '*' token
/usr/heimdal/include/krb5-protos.h:1844: error: parse error before '*' token
/usr/heimdal/include/krb5-protos.h:1849: error: parse error before '*' token
/usr/heimdal/include/krb5-protos.h:1854: error: parse error before '*' token
/usr/heimdal/include/krb5-protos.h:1859: error: parse error before '*' token
/usr/heimdal/include/krb5-protos.h:1872: error: parse error before
"krb5_get_init_creds_opt"
make: *** [dynconfig.o] Error 1
Using FLAGS =  -I/usr/heimdal/include -O -D_SAMBA_BUILD_ -I./popt -Iinclude
-I/scratch/samba-3.0.20pre2/source/include
-I/scratch/samba-3.0.20pre2/source/ubiqx  -I. -I/usr/heimdal/include
-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
-I/scratch/samba-3.0.20pre2/source    
      LIBS = -lcrypt -lresolv -lnsl -ldl
      LDSHFLAGS = -shared -Wl,-Bsymbolic  -L/usr/heimdal/lib
      LDFLAGS = -L/usr/heimdal/lib
      PIE_CFLAGS = 
      PIE_LDFLAGS = 
Compiling dynconfig.c
In file included from include/includes.h:452,
                 from dynconfig.c:21:
/usr/heimdal/include/krb5.h:660: error: syntax error at '#' token
/usr/heimdal/include/krb5.h:660: warning: no semicolon at end of struct or union
/usr/heimdal/include/krb5.h:660: error: parse error before
"DONT_USE_CPLUSPLUS_RESERVED_NAMES"
/usr/heimdal/include/krb5.h:661: warning: data definition has no type or storage
class
In file included from /usr/heimdal/include/krb5.h:750,
                 from include/includes.h:452,
                 from dynconfig.c:21:
/usr/heimdal/include/krb5-protos.h:1750: error: parse error before
"krb5_get_init_creds_opt"
/usr/heimdal/include/krb5-protos.h:1760: error: parse error before
"krb5_get_init_creds_opt"
/usr/heimdal/include/krb5-protos.h:1770: error: parse error before
"krb5_get_init_creds_opt"
/usr/heimdal/include/krb5-protos.h:1775: error: parse error before
"krb5_get_init_creds_opt"
/usr/heimdal/include/krb5-protos.h:1778: error: parse error before '*' token
/usr/heimdal/include/krb5-protos.h:1781: error: parse error before '*' token
/usr/heimdal/include/krb5-protos.h:1785: error: parse error before '*' token
/usr/heimdal/include/krb5-protos.h:1790: error: parse error before '*' token
/usr/heimdal/include/krb5-protos.h:1798: error: parse error before
"krb5_get_init_creds_opt"
/usr/heimdal/include/krb5-protos.h:1802: error: parse error before '*' token
/usr/heimdal/include/krb5-protos.h:1808: error: parse error before '*' token
/usr/heimdal/include/krb5-protos.h:1814: error: parse error before
"krb5_get_init_creds_opt"
/usr/heimdal/include/krb5-protos.h:1821: error: parse error before
"krb5_get_init_creds_opt"
/usr/heimdal/include/krb5-protos.h:1827: error: parse error before
"krb5_get_init_creds_opt"
/usr/heimdal/include/krb5-protos.h:1838: error: parse error before '*' token
/usr/heimdal/include/krb5-protos.h:1844: error: parse error before '*' token
/usr/heimdal/include/krb5-protos.h:1849: error: parse error before '*' token
/usr/heimdal/include/krb5-protos.h:1854: error: parse error before '*' token
/usr/heimdal/include/krb5-protos.h:1859: error: parse error before '*' token
/usr/heimdal/include/krb5-protos.h:1872: error: parse error before
"krb5_get_init_creds_opt"
make: *** [dynconfig.o] Error 1
Comment 1 Mike Rose 2005-07-27 03:53:09 UTC
(In reply to comment #0)
> Suse Linux 9.1 Pro install
> compiled heimdal 0.7 and openldap-2.2.26 myself.
> samba-3.0.14a did buld OK against these releaes of Heimdal and openldap.
> 
> 
> cd /scratch/samba-3.0.20pre2/source
> ./configure --prefix=/usr/local/samba/ --with-ldap --with-ads --with-krb5
> --with-pam --with-winbind
> make
> 
> Compiling dynconfig.c
> In file included from include/includes.h:452,
>                  from dynconfig.c:21:
> /usr/heimdal/include/krb5.h:660: error: syntax error at '#' token
> /usr/heimdal/include/krb5.h:660: warning: no semicolon at end of struct or union
> /usr/heimdal/include/krb5.h:660: error: parse error before
> "DONT_USE_CPLUSPLUS_RESERVED_NAMES"
> /usr/heimdal/include/krb5.h:661: warning: data definition has no type or storage
> class
> In file included from /usr/heimdal/include/krb5.h:750,
>                  from include/includes.h:452,
>                  from dynconfig.c:21:
> /usr/heimdal/include/krb5-protos.h:1750: error: parse error before
> "krb5_get_init_creds_opt"
> /usr/heimdal/include/krb5-protos.h:1760: error: parse error before
> "krb5_get_init_creds_opt"
> /usr/heimdal/include/krb5-protos.h:1770: error: parse error before
> "krb5_get_init_creds_opt"
> /usr/heimdal/include/krb5-protos.h:1775: error: parse error before
> "krb5_get_init_creds_opt"
> /usr/heimdal/include/krb5-protos.h:1778: error: parse error before '*' token
> /usr/heimdal/include/krb5-protos.h:1781: error: parse error before '*' token
> /usr/heimdal/include/krb5-protos.h:1785: error: parse error before '*' token
> /usr/heimdal/include/krb5-protos.h:1790: error: parse error before '*' token
> /usr/heimdal/include/krb5-protos.h:1798: error: parse error before
> "krb5_get_init_creds_opt"
> /usr/heimdal/include/krb5-protos.h:1802: error: parse error before '*' token
> /usr/heimdal/include/krb5-protos.h:1808: error: parse error before '*' token
> /usr/heimdal/include/krb5-protos.h:1814: error: parse error before
> "krb5_get_init_creds_opt"
> /usr/heimdal/include/krb5-protos.h:1821: error: parse error before
> "krb5_get_init_creds_opt"
> /usr/heimdal/include/krb5-protos.h:1827: error: parse error before
> "krb5_get_init_creds_opt"
> /usr/heimdal/include/krb5-protos.h:1838: error: parse error before '*' token
> /usr/heimdal/include/krb5-protos.h:1844: error: parse error before '*' token
> /usr/heimdal/include/krb5-protos.h:1849: error: parse error before '*' token
> /usr/heimdal/include/krb5-protos.h:1854: error: parse error before '*' token
> /usr/heimdal/include/krb5-protos.h:1859: error: parse error before '*' token
> /usr/heimdal/include/krb5-protos.h:1872: error: parse error before
> "krb5_get_init_creds_opt"
> make: *** [dynconfig.o] Error 1
> Using FLAGS =  -I/usr/heimdal/include -O -D_SAMBA_BUILD_ -I./popt -Iinclude
> -I/scratch/samba-3.0.20pre2/source/include
> -I/scratch/samba-3.0.20pre2/source/ubiqx  -I. -I/usr/heimdal/include
> -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
> -I/scratch/samba-3.0.20pre2/source    
>       LIBS = -lcrypt -lresolv -lnsl -ldl
>       LDSHFLAGS = -shared -Wl,-Bsymbolic  -L/usr/heimdal/lib
>       LDFLAGS = -L/usr/heimdal/lib
>       PIE_CFLAGS = 
>       PIE_LDFLAGS = 
> Compiling dynconfig.c
> In file included from include/includes.h:452,
>                  from dynconfig.c:21:
> /usr/heimdal/include/krb5.h:660: error: syntax error at '#' token
> /usr/heimdal/include/krb5.h:660: warning: no semicolon at end of struct or union
> /usr/heimdal/include/krb5.h:660: error: parse error before
> "DONT_USE_CPLUSPLUS_RESERVED_NAMES"
> /usr/heimdal/include/krb5.h:661: warning: data definition has no type or storage
> class
> In file included from /usr/heimdal/include/krb5.h:750,
>                  from include/includes.h:452,
>                  from dynconfig.c:21:
> /usr/heimdal/include/krb5-protos.h:1750: error: parse error before
> "krb5_get_init_creds_opt"
> /usr/heimdal/include/krb5-protos.h:1760: error: parse error before
> "krb5_get_init_creds_opt"
> /usr/heimdal/include/krb5-protos.h:1770: error: parse error before
> "krb5_get_init_creds_opt"
> /usr/heimdal/include/krb5-protos.h:1775: error: parse error before
> "krb5_get_init_creds_opt"
> /usr/heimdal/include/krb5-protos.h:1778: error: parse error before '*' token
> /usr/heimdal/include/krb5-protos.h:1781: error: parse error before '*' token
> /usr/heimdal/include/krb5-protos.h:1785: error: parse error before '*' token
> /usr/heimdal/include/krb5-protos.h:1790: error: parse error before '*' token
> /usr/heimdal/include/krb5-protos.h:1798: error: parse error before
> "krb5_get_init_creds_opt"
> /usr/heimdal/include/krb5-protos.h:1802: error: parse error before '*' token
> /usr/heimdal/include/krb5-protos.h:1808: error: parse error before '*' token
> /usr/heimdal/include/krb5-protos.h:1814: error: parse error before
> "krb5_get_init_creds_opt"
> /usr/heimdal/include/krb5-protos.h:1821: error: parse error before
> "krb5_get_init_creds_opt"
> /usr/heimdal/include/krb5-protos.h:1827: error: parse error before
> "krb5_get_init_creds_opt"
> /usr/heimdal/include/krb5-protos.h:1838: error: parse error before '*' token
> /usr/heimdal/include/krb5-protos.h:1844: error: parse error before '*' token
> /usr/heimdal/include/krb5-protos.h:1849: error: parse error before '*' token
> /usr/heimdal/include/krb5-protos.h:1854: error: parse error before '*' token
> /usr/heimdal/include/krb5-protos.h:1859: error: parse error before '*' token
> /usr/heimdal/include/krb5-protos.h:1872: error: parse error before
> "krb5_get_init_creds_opt"
> make: *** [dynconfig.o] Error 1



Cannot build with heimdal-0.6.3 either:
Linking bin/smbd
libsmb/clikrb5.o(.text+0x491): In function `kerberos_compatible_enctypes':
: undefined reference to `krb5_c_enctype_compare'
libsmb/clikrb5.o(.text+0x8a7): In function `ads_krb5_mk_req':
: undefined reference to `krb5_set_real_time'
libsmb/clikrb5.o(.text+0xab3): In function `cli_krb5_get_ticket':
: undefined reference to `krb5_set_real_time'
libads/krb5_setpw.o(.text+0xfd4): In function `ads_krb5_set_password':
: undefined reference to `krb5_set_real_time'
libads/kerberos.o(.text+0xc4): In function `kerberos_kinit_password':
: undefined reference to `krb5_set_real_time'
collect2: ld returned 1 exit status
make: *** [bin/smbd] Error 1


Comment 2 Guenther Deschner 2005-07-27 05:24:25 UTC
As a quick hack for you build with 0.7 to succeed, you can just remove the

#define private #error DONT_USE_CPLUSPLUS_RESERVED_NAMES

in include/includes.h.

We will work on this bug.
Comment 3 Mike Rose 2005-07-27 07:22:17 UTC
Right you are.
Built fine with that line removed.
Cheers.

Now I have to submit a bug about winbindd as getent cannot grab the user info,
but it does get the group info from Windows 2003 Server.
Comment 4 Buchan Milne 2005-08-25 03:23:56 UTC
BTW, there is a similar problem with samba-vscan (which uses the variable "new"
as a lrufiles_struct in samba-vscan-0.3.6/global/vscan-fileaccesslog.c).

What would the correct fix for this issue be? Just renaming the variable to not
use a C++ reserved word?
Comment 5 Gerald (Jerry) Carter (dead mail address) 2005-08-25 05:25:08 UTC
Rainer fixed samba-vscan module in his CVS tree.  That should be 
ok now.  Other thna Love fixing the headers, there's not much to 
be done here besides the mentioned workaround.
Comment 6 Buchan Milne 2005-08-25 06:05:03 UTC
Ah, I checked on Monday for new releases of samba-vscan.

Yesterday, 0.3.6b was release which fixes it (in the same way I had fixed it).

Pity samba-vscan has no up-to-date public cvs available.

So, just heimdal remains.
Comment 7 Gerald (Jerry) Carter (dead mail address) 2005-08-25 06:36:30 UTC
I thought samba-vscan was hosted on sourceforge.net?  does ever project there
have a public cvs repo?