Bug 455 - Getting compiler error on Samba-3.0-rc4 when using gcc.3.2.3
Getting compiler error on Samba-3.0-rc4 when using gcc.3.2.3
Product: Samba 3.0
Classification: Unclassified
Component: Build environment
All Solaris
: P1 critical
: none
Assigned To: Tim Potter
Depends on:
  Show dependency treegraph
Reported: 2003-09-15 23:09 UTC by Patrik Gustavsson
Modified: 2005-11-14 09:27 UTC (History)
0 users

See Also:

Patch for in-memory keytab configure test (793 bytes, patch)
2003-09-16 00:35 UTC, Tim Potter
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Patrik Gustavsson 2003-09-15 23:09:48 UTC
Gcc is bailing out on 
Compiling libads/kerberos_verify.c
"libads/kerberos_verify.c", line 77: improper member use: keyblock
cc: acomp failed for libads/kerberos_verify.c
*** Error code 2

The code-line on line 77 is

entry.keyblock  = *key;

Os: Solaris 9
Ldap: 2.1.22
kerberos: 1.3.1
Gcc: 3.2.3
Comment 1 Tim Potter 2003-09-15 23:41:59 UTC
Are you using MIT or Heimdal kerberos?  The comment in the code indicates that
this error can only occur using MIT but in-memory keytabs should only be
supported under Heimdal.
Comment 2 Tim Potter 2003-09-15 23:46:06 UTC
Now I look at the version numbers it's obvious that you are using MIT.  (-:
Comment 3 Tim Potter 2003-09-16 00:35:56 UTC
Created attachment 142 [details]
Patch for in-memory keytab configure test

I would be interested in seeing the fragment of config.log where the in-memory
keytab function is tested for.	This patch reverses the sense of the test twice
which should leave it the same, unless there is a link or compile error.

Mine looks like this:

configure:27097: checking for memory keytab support
configure:27131: gcc -o conftest  -gstabs -Wall -Wshadow -Wstrict-prototypes
-Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -DDEBUG_PASSWORD
-D_GNU_SOURCE  -I/usr/include	conftest.c -lresolv -lnsl -ldl	  -L/usr/lib
-lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lresolv >&5
configure:27447: warning: return type defaults to `int'
configure:27447: warning: function declaration isn't a prototype
configure:27134: $? = 0
configure:27136: ./conftest
configure:27139: $? = 1
configure: program exited with status 1
configure: failed program was:
| #line 27110 "configure"
| /* confdefs.h.  */

[stuff deleted] 

| /* end confdefs.h.  */
| #include<krb5.h>
|   main()
|   {
|     krb5_context context;
|     krb5_keytab keytab;
|     krb5_init_context(&context);
|     if (krb5_kt_resolve(context, "MEMORY:", &keytab))
|	exit(1);
|     exit(0);
|   }
configure:27153: result: no
Comment 4 Patrik Gustavsson 2003-09-16 01:50:00 UTC
configure:25244: checking for memory keytab support
configure:25272: gcc -o conftest -g -O2 -I/usr/local/include -I/usr/local/includ
e -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/local/include -L /usr/local/
lib  conftest.c -lsec -lgen -lresolv -lsocket -lnsl -ldl   -L/usr/local/lib -R/u
sr/local/lib -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lsocket -lnsl -lresolv >
configure:25275: $? = 0
configure:25277: ./conftest
configure:25280: $? = 0
Comment 5 Tim Potter 2003-09-16 03:44:31 UTC
Is that with or without the patch in attachment 142 [details]?
Comment 6 Patrik Gustavsson 2003-09-16 07:03:35 UTC
I re-run the configure and make and suddenly it worked.

I don't know why, it could be that my brain is still in weekend mode.
Comment 7 Tim Potter 2003-09-16 22:05:40 UTC
Well I'll mark it closed for now.  Please re-open it if you see it happening again.
Comment 8 Gerald (Jerry) Carter 2005-02-07 09:05:51 UTC
originally reported against one of the 3.0.0rc[1-4] releases.
Cleaning up non-production versions.
Comment 9 Gerald (Jerry) Carter 2005-11-14 09:27:04 UTC
database cleanup