I was unable to compile kth-krb-1.2.1. gcc -DHAVE_CONFIG_H -I. -I. -I../../include -I../../include -I../../lib/roken -I.. /../lib/roken -Wall -Wmissing-prototypes -Wpointer-arith -Wbad-function-cast -Wmis sing-declarations -Wnested-externs -march=pentium3 -mfpmath=sse -O2 -pipe -fomit-f rame-pointer -mmmx -msse -falign-functions=4 -fforce-addr -c getipnodebyname.c -o getipnodebyname.o getipnodebyname.c:42: function `__h_errno_location' is initialized like a variable getipnodebyname.c:42: warning: static declaration for `__h_errno_location' follows non-static getipnodebyname.c:42: warning: `__h_errno_location' declared `static' but never de fined make[3]: *** [getipnodebyname.lo] Error 1 make[3]: Leaving directory `/home/portage/kth-krb-1.2.1/work/krb4-1.2.1/lib/roken' make[2]: *** [all] Error 2 make[2]: Leaving directory `/home/portage/kth-krb-1.2.1/work/krb4-1.2.1/lib/roken' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/portage/kth-krb-1.2.1/work/krb4-1.2.1/lib' make: *** [all-recursive] Error 1 !!! ERROR: app-crypt/kth-krb-1.2.1 failed. !!! Function src_compile, Line 32, Exitcode 2 !!! (no error message) Reproducible: Always Steps to Reproduce: 1. 2. 3. cerrito root # emerge info Portage 2.0.48-r1 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r1) ================================================================= System uname: 2.4.21 i686 Intel(R) Pentium(R) III Mobile CPU 1200MHz GENTOO_MIRRORS="http://212.219.56.162/sites/www.ibiblio.org/gentoo/ http://194.83.57.2/sites/www.ibiblio.org/gentoo/ http://194.83.57.3/sites/www.ibiblio.org/gentoo/ http://ftp.snt.utwente.nl/pub/os/linux/gentoo ftp://ftp.flashnet.it/mirror/12/sunsite.unc.edu/Gentoo http://ibiblio.org/pub/Linux/ftp.edisontel.com/pub/Sunsite_Mirror http://sunsite.cnlab-switch.ch/ftp/mirror/gentoo ftp://sunsite.cnlab-switch.ch/mirror/gentoo http://www.ibiblio.org/pub/Linux/distributions/gentoo http://gentoo.oregonstate.edu " CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" PORTDIR="/home/portdir" DISTDIR="/home/portdir/distfiles" PKGDIR="/home/portdir/packages" PORTAGE_TMPDIR="/home" PORTDIR_OVERLAY="" USE="3dnow mikmod aalib tcltk guile sdl perl gtk qt gphoto2 x86 oss acpi acl alsa apm avi berkdb bonobo cdr crypt cups directfb dga dvd encode gdbm gif gpm fbcon krb4 kerberos imlib java jpeg gnome gtk2 gtkhtml libg++ libwww miknod mmx motif mozilla mpeg ncurses nls oggvorbis opengl pam pdflib png pnp python quicktime radeon readline samba slang spell sse ssl svga tcpd truetype usb X xml2 xmms xv zlib kde arts -esd" COMPILER="gcc3" CHOST="i686-pc-linux-gnu" CFLAGS="-march=pentium3 -mfpmath=sse -O2 -pipe -fomit-frame-pointer -mmmx -msse -falign-functions=4 -fforce-addr" CXXFLAGS="-march=pentium3 -mfpmath=sse -O2 -pipe -fomit-frame-pointer -mmmx -msse -falign-functions=4 -fforce-addr" ACCEPT_KEYWORDS="x86 ~x86" MAKEOPTS="-j2" AUTOCLEAN="yes" SYNC="rsync://rsync.gentoo.org/gentoo-portage" FEATURES="sandbox ccache"
Status on this? 1.2.2 doesn't build either. $ emerge info Portage 2.0.48-r1 (default-x86-1.4, gcc-3.3, glibc-2.3.2-r1) ================================================================= System uname: 2.4.20-gentoo-r5 i586 AMD-K6(tm) 3D processor GENTOO_MIRRORS="http://www.ibiblio.org/gentoo http://www.mirror.ac.uk/sites/www.ibiblio.org/gentoo/" CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config /var/bind" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" PORTDIR="/usr/portage" DISTDIR="/usr/portage/distfiles" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR_OVERLAY="/usr/local/portage" USE="x86 crypt cups libg++ mmx ncurses pdflib spell xml2 zlib gdbm berkdb readline java guile tcpd pam libwww python esd -3dnow acl apache2 -apm -arts -avi -encode gif gnome -gpm gtk gtk2 imap imlib innodb -ipv6 jpeg -kde kerberos krb4 ldap -mikmod -motif -mpeg mysql -nls -oggvorbis -opengl -oss perl png -qt -quicktime samba sasl -sdl -slang -slp -snmp -socks5 ssl -svga -tcl -tetex -tk threads -truetype X xml -xmms -xv" COMPILER="gcc3" CHOST="i586-pc-linux-gnu" CFLAGS="-march=k6 -O2 -pipe -ffast-math -fomit-frame-pointer" CXXFLAGS="-march=k6 -O2 -pipe -ffast-math -fomit-frame-pointer" ACCEPT_KEYWORDS="x86 ~x86" MAKEOPTS="-j2" AUTOCLEAN="yes" SYNC="rsync://rsync.gentoo.org/gentoo-portage" FEATURES="sandbox ccache distcc userpriv usersandbox"
I've made it compile. Try this patch. I don't use kerberos, but it's on my TODO list. kth-krb4 (1.2.2) compiles fine with this: $ cat /usr/local/portage/app-crypt/kth-krb/files/krb4.diff diff -urN krb4-1.2.2.old/lib/roken/getipnodebyname.c krb4-1.2.2/lib/roken/getipnodebyname.c --- krb4-1.2.2.old/lib/roken/getipnodebyname.c 1999-12-02 13:58:46.000000000 -0300 +++ krb4-1.2.2/lib/roken/getipnodebyname.c 2003-07-09 17:27:23.000000000 -0300 @@ -39,7 +39,8 @@ #include "roken.h" #ifndef HAVE_H_ERRNO -static int h_errno = NO_RECOVERY; +//static int h_errno = NO_RECOVERY; +#include <errno.h> #endif /* I'm compiling cyrus-sasl with krb4 enabled.
update: cyrus-sasl doesn't like kerberos4 :-( gcc -shared kerberos4.lo kerberos4_init.lo plugin_common.lo -Wl,--whole-archive /usr/athena/lib/libkrb.a /usr/athena/lib/libcom_err.a -Wl,--no-whole-archive -L/usr/local/lib -L/usr/athena/lib -lcrypto -lresolv -Wl,-soname -Wl,libkerberos4.so.2 -o .libs/libkerberos4.so.2.0.14 /usr/athena/lib/libcom_err.a(error.o)(.text+0x0): In function `com_right': : multiple definition of `com_right' /usr/athena/lib/libkrb.a(error.o)(.text+0x0): first defined here /usr/athena/lib/libcom_err.a(error.o)(.text+0x40): In function `initialize_error_table_r': : multiple definition of `initialize_error_table_r' /usr/athena/lib/libkrb.a(error.o)(.text+0x40): first defined here /usr/athena/lib/libcom_err.a(error.o)(.text+0xa0): In function `free_error_table': : multiple definition of `free_error_table' /usr/athena/lib/libkrb.a(error.o)(.text+0xa0): first defined here /usr/athena/lib/libcom_err.a(com_err.o)(.bss+0x0): multiple definition of `_et_list' /usr/athena/lib/libkrb.a(com_err.o)(.bss+0x0): first defined here /usr/athena/lib/libcom_err.a(com_err.o)(.text+0x0): In function `error_message': : multiple definition of `error_message' /usr/athena/lib/libkrb.a(com_err.o)(.text+0x0): first defined here /usr/athena/lib/libcom_err.a(com_err.o)(.text+0xa0): In function `init_error_table': : multiple definition of `init_error_table' /usr/athena/lib/libkrb.a(com_err.o)(.text+0xa0): first defined here /usr/athena/lib/libcom_err.a(com_err.o)(.text+0x180): In function `com_err_va': : multiple definition of `com_err_va' /usr/athena/lib/libkrb.a(com_err.o)(.text+0x180): first defined here /usr/athena/lib/libcom_err.a(com_err.o)(.text+0x1a0): In function `com_err': : multiple definition of `com_err' /usr/athena/lib/libkrb.a(com_err.o)(.text+0x1a0): first defined here /usr/athena/lib/libcom_err.a(com_err.o)(.text+0x1c0): In function `set_com_err_hook': : multiple definition of `set_com_err_hook' /usr/athena/lib/libkrb.a(com_err.o)(.text+0x1c0): first defined here /usr/athena/lib/libcom_err.a(com_err.o)(.text+0x1e0): In function `reset_com_err_hook': : multiple definition of `reset_com_err_hook' /usr/athena/lib/libkrb.a(com_err.o)(.text+0x1e0): first defined here /usr/athena/lib/libcom_err.a(com_err.o)(.text+0x200): In function `error_table_name': : multiple definition of `error_table_name' /usr/athena/lib/libkrb.a(com_err.o)(.text+0x200): first defined here /usr/athena/lib/libcom_err.a(com_err.o)(.text+0x260): In function `add_to_error_table': : multiple definition of `add_to_error_table' /usr/athena/lib/libkrb.a(com_err.o)(.text+0x260): first defined here collect2: ld returned 1 exit status make[2]: *** [libkerberos4.la] Error 1 make[2]: *** Waiting for unfinished jobs.... ../libtool: line 2254: test: !=: unary operator expected ../libtool: line 2286: test: !=: unary operator expected rm -fr .libs/libgssapiv2.la .libs/libgssapiv2.* .libs/libgssapiv2.* ../libtool: line 2750: test: =: unary operator expected ../libtool: line 3049: test: =: unary operator expected (cd . && ln -s gssapi.lo gssapi.o) (cd . && ln -s gssapiv2_init.lo gssapiv2_init.o) gcc -shared gssapi.lo gssapiv2_init.lo plugin_common.lo -Wl,--whole-archive /usr/athena/lib/libcom_err.a -Wl,--no-whole-archive -L/usr/local/lib -L/usr/athena/lib -lgssapi_krb5 -lkrb5 -lk5crypto -lresolv -Wl,-soname -Wl,libgssapiv2.so.2 -o .libs/libgssapiv2.so.2.0.14 (cd .libs && rm -f libgssapiv2.so.2 && ln -s libgssapiv2.so.2.0.14 libgssapiv2.so.2) (cd .libs && rm -f libgssapiv2.so && ln -s libgssapiv2.so.2.0.14 libgssapiv2.so) creating libgssapiv2.la (cd .libs && rm -f libgssapiv2.la && ln -s ../libgssapiv2.la libgssapiv2.la) make[2]: Leaving directory `/var/tmp/portage/cyrus-sasl-2.1.14/work/cyrus-sasl-2.1.14/plugins' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/cyrus-sasl-2.1.14/work/cyrus-sasl-2.1.14' make: *** [all-recursive-am] Error 2 !!! ERROR: dev-libs/cyrus-sasl-2.1.14 failed. !!! Function src_compile, Line 105, Exitcode 2 !!! compile problem
With this patch, both kth-krb-1.2.1 and 1.2.2 can be built. That is, after repairing the patch (there were extra newlines and spaces in it). kth-krb-1.2.2 includes an important workaround for a security flaw: === Begin http://www.pdc.kth.se/kth-krb/ === [...] Release 1.2.2 is now available with: * cross-realm disabled in the server [...] === End http://www.pdc.kth.se/kth-krb/ === So please: - add an ebuild for kth-krb-1.2.2 - use the (fixed) patch for both 1.2.1 and 1.2.2 - mark it as stable ASAP (security relevant)
Created attachment 15502 [details, diff] The fixed patch
Thank you... Committed.
Thanks! Now I can use AFS again. :)