[OpenAFS] Autoconf/configure problem for Sparc[64] in both 1.4.0 and 1.,4.1-rc8

Michael Conrad silverdirk@silverdirk.com
Mon, 6 Mar 2006 04:42:31 -0500


Hi, I mentioned some of my sparc problems earlier, but these two bugs in the
./configure script generated by autoconf I think deserve special attention:

First, in the 1.4.0 release, the arch case statement at line 7526 has cases
for sparc64_linux22, sparc64_linux24, and sparc_linux22.  (file snippets
below)

Second, in the 1.4.1-rc8 tarball, the arch case statement at line 7573 has
cases for sparc64_linux*, and sparc_linux22.

The headers you have for supported architectures, however, are:
 param.sparc_linux24.h * **
 param.sparc_linux22.h
 param.sparc64_linux26.h *
 param.sparc64_linux24.h
 param.sparc64_linux22.h

* wasn't buildable in release 1.4.0
** isn't buildable in release 1.4.1-rc8

When the arch isn't found in this case statement, the build fails with a
cryptic error caused by a missing symbol 'yylineno' which should have been
exported by a file generated by flex. (i.e. missing LEX="flex -l")

The fix, in the script, is rather easy (just change the linux## to linux*).
I have no idea how this would be fixed in the autoconf files though.

-Mike

-------------------- openafs-1.4.0/configure -------------------------
  sparc64_linux22)
    KERN_OPTMZ=-O2
    LEX="flex -l"
    MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
    MT_LIBS="-lpthread"
    PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
    SHLIB_LDFLAGS="-shared -Xlinker -x"
    TXLIBS="-lncurses"
    XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
    YACC="bison -y"
    SHLIB_LINKER="${MT_CC} -shared"
    ;;
  sparc64_linux24)
    KERN_OPTMZ=-O2
    LEX="flex -l"
    MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
    MT_LIBS="-lpthread"
    PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
    SHLIB_LDFLAGS="-shared -Xlinker -x"
    TXLIBS="-lncurses"
    XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
    YACC="bison -y"
    SHLIB_LINKER="${MT_CC} -shared"
    ;;
  sparc_linux22)
    KERN_OPTMZ=-O2
    LEX="flex -l"
    MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
    MT_LIBS="-lpthread"
    PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
    SHLIB_LDFLAGS="-shared -Xlinker -x"
    TXLIBS="-lncurses"
    XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
    YACC="bison -y"
    SHLIB_LINKER="${MT_CC} -shared"
    ;;
-------------------- openafs-1.4.1_rc8/configure ---------------------
  sparc64_linux*)
    KERN_OPTMZ=-O2
    LEX="flex -l"
    MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
    MT_LIBS="-lpthread"
    PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
    SHLIB_LDFLAGS="-shared -Xlinker -x"
    TXLIBS="-lncurses"
    XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
    XCFLAGS64="-O2 -D_LARGEFILE64_SOURCE -m64"
    XLDFLAGS64="-m64"
    YACC="bison -y"
    SHLIB_LINKER="${MT_CC} -shared"
    ;;
  sparc_linux22)
    KERN_OPTMZ=-O2
    LEX="flex -l"
    MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
    MT_LIBS="-lpthread"
    PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
    SHLIB_LDFLAGS="-shared -Xlinker -x"
    TXLIBS="-lncurses"
    XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
    YACC="bison -y"
    SHLIB_LINKER="${MT_CC} -shared"
    ;;