again build problems

Benjamin Kaduk kaduk at MIT.EDU
Thu Sep 13 10:45:18 EDT 2012


On Wed, 12 Sep 2012, Nitin Thakur wrote:

>
> Hi All
>
> i managed to build kerberos few weeks back and had to do it again. One the same server, I keep getting this error message while make: -
>
> pkinit_crypto_openssl.c:3637: warning: ISO C forbids conversion of object pointer to function pointer type
> : updated OBJS.SH
> rm -f pkinit.so
> building dynamic pkinit object
> set -x; objlist=`set -x && perl -p -e 'BEGIN { $SIG{__WARN__} = sub {die @_} }; $e=$ARGV; $e =~ s/OBJS\...$//; s/^/ /; s/ $//; s/ / $e/g;' OBJS.SH` && gcc -g -O2 -shared -h pkinit.so.0 -o pkinit.so $objlist -R/opt/local/samba/lib -L../../../lib -lkrb5 -lcom_err -lk5crypto -lcrypto  -lkrb5support -lresolv -lsocket -lnsl -lintl -lrt
> + set -x
> + perl -p -e BEGIN { $SIG{__WARN__} = sub {die @_} }; $e=$ARGV; $e =~ s/OBJS\...$//; s/^/ /; s/ $//; s/ / $e/g; OBJS.SH
> objlist= pkinit_accessor.so pkinit_srv.so pkinit_lib.so pkinit_clnt.so pkinit_kdf_constants.so pkinit_profile.so pkinit_identity.so pkinit_matching.so pkinit_crypto_openssl.so
> + gcc -g -O2 -shared -h pkinit.so.0 -o pkinit.so pkinit_accessor.so pkinit_srv.so pkinit_lib.so pkinit_clnt.so pkinit_kdf_constants.so pkinit_profile.so pkinit_identity.so pkinit_matching.so pkinit_crypto_openssl.so -R/opt/local/samba/lib -L../../../lib -lkrb5 -lcom_err -lk5crypto -lcrypto -lkrb5support -lresolv -lsocket -lnsl -lintl -lrt
> /usr/local/lib/gcc/sparc-sun-solaris2.10/3.4.6/../../../../sparc-sun-solaris2.10/bin/ld: read-only segment has dynamic relocations.

This is the error message.  In vacuo, one would debug this by using 
'objdump --dynamic-reloc' to examine each of the shared objects on the 
linker command line and see which one(s) contain the dynamic relocation 
which the linker is complaining about.  Then, one could trace back through 
the build log to see how that object was built and why it has a dynamic 
relocation.  However, I do believe that this version of krb5 is known to 
build on Solaris, so I wonder which version of gcc/binutils is in use and 
which version of Solaris.  I guess your previous mail said solaris 10, so 
that's probably still the case; I'm not sure that we have an automatic 
solaris 10 build running (I know we have solaris 9).

I think you might have to go and track down the root cause of the dynamic 
relocation, with just the information I have now, though.

> collect2: ld returned 1 exit status
> make[1]: *** [pkinit.so] Error 1
> make[1]: Leaving directory `/var/tmp/samba-download/krb5-1.10.3/src/plugins/preauth/pkinit'
> make: *** [all-recurse] Error 1
>
>
> This is my configure command: -
> LIBS="-lintl -lrt" ./configure --prefix=/opt/local/samba --enable-dns-for-realm

Do you need to add /usr/local/xxx to, e.g., CPPFLAGS or LDFLAGS?

-Ben Kaduk


More information about the krbdev mailing list