When I try to emerge openldap using: USE="static" emerge openldap I get the following error when it builds Cyrus-sasl-2.1.18-r2: /usr/lib/gcc-lib/ia64-unkwown-gnu/3.3.2/../../../gssapi_krb5.a(init_sec_context.o):@gprel relocation against dynamic symbol krb5_gss_dbg_client_expcreds. If I try not to use "static", it fails in a previous step (building krb5). Reproducible: Always Steps to Reproduce: 1.USE="static" emerge openldap 2. 3. Actual Results: I get the following error when it builds Cyrus-sasl-2.1.18-r2: /usr/lib/gcc-lib/ia64-unkwown-gnu/3.3.2/../../../gssapi_krb5.a (init_sec_context.o):@gprel relocation against dynamic symbol krb5_gss_dbg_client_expcreds. Expected Results: build openldap
Gentoo Base System version 1.4.3.13 Portage 2.0.50-r1 (default-ia64-1.4, gcc-3.3.2, glibc-2.3.2-r3, 2.4.24-ia64-r10) ================================================================= System uname: 2.4.24-ia64-r10 ia64 Autoconf: sys-devel/autoconf-2.58-r1 Automake: sys-devel/automake-1.7.8 ACCEPT_KEYWORDS="ia64" AUTOCLEAN="yes" CFLAGS="-O2 -pipe" CHOST="ia64-unknown-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X alsa berkdb bitmap-fonts crypt cups dvd encode foomaticdb gdbm gif gnome gpm gtk gtk2 ia64 imlib jpeg kerberos ldap libg++ libwww mikmod motif ncurses nls oggvorbis opengl oss pam pdflib perl png python quicktime readline samba sasl sdl slang spell ssl tcpd truetype xml2 xmms xprint xv zlib"
Initially, I try to emerge openldap using: USE="X gtk gnome -qt -kde dvd alsa ldap samba sasl kerberos" in file make.conf but, it failed. Later, when I tried to emerge openldap without kerberos in file make.conf, it was satisfactory and worked.
CC ia64 to see if they can reproduce this bug.
reassign to ia64.
Please post all the compiler error messages.
I guess Seemant is fixing up stuff related to krb. This isn't really an ia64 issue, it just becomes apparent on ia64. Basically when mit-krb5 is built with USE=static, it refrains from building the shared libs, which isn't the right thing to do. As a result, cyrus-sasl can't build its shared objects, because they need to link against something built with -fPIC
just to update you, Milton, I've just put mit-krb5-1.4 into portage and hard masked it (please do not emerge it yet, it's not completely ready). However, it will fix your issue hopefully. Please stay tuned to this space.
seemant, any news on this? it shows up on my radar because of the ia64 cc.
If I understand certain things right, kerberos was always advised to be compiled statically, because of security reasons. Applies at least to kth-krb and heimdal where "static" was always default build type. heimdal-0.7 has: --enable-shared[=PKGS] build shared libraries [default=no] --enable-static[=PKGS] build static libraries [default=yes]
Milton, Would you do me a favour and test mit-krb5 in portage now?
er, so basically I need you to emerge mit-krb5-1.4.1-r2 and then re-emerge openldap with the "sasl" USE flag turned on. (make sure that "kerberos" USE flag is on as well).
I had this same problem, and I managed to fix it doing the following: # USE="*-" emerge --nodeps cyrus-sasl # emerge openldap Now, I'm not saying that's the *best* way, but it worked for me.
Sorry for not responding before. I tried to emerge mit-krb5-1.4.1-r2 and then re-emerge again openldap with the "sasl" USE flag turned on and then this worked!! Thanks Seemant.