All pastes #624369 Raw Edit

rsa compile problem

public text v1 · immutable
·published 2007-07-18 06:31 UTC
rendered paste body
zu22@netrek:~/src/netrek/clients/paradise/TedTurner/TedTurner-1.3.1/configure.in has:

dnl some initial definitions
XPMDIR=xpm
ZLIBDIR=zlib
GMPDIR=gmp
RSADIR="../../../../rsa/res-rsa-2.9.2"

then i setup my environment settings:

export CPPFLAGS="-I/usr/X11R6/include -I/usr/include/X11/ -I/usr/include/ -I/home/zu22/src/netrek/rsa/"

export LDFLAGS="-L/usr/X11R6/lib -L/usr/lib/libgmp.a -L/usr/lib/libXpm.a -L/usr/lib/libz.a -L/home/zu22/src/netrek/rsa/res-rsa-2.9.2/librsa.a -lgmp -lXpm -lz"

i run ,/configure and it looks fine:

checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for ranlib... ranlib
checking for perl... /usr/bin/perl
checking for a BSD-compatible install... /usr/bin/install -c
checking whether make sets $(MAKE)... yes
checking for atan2 in -lm... yes
checking for __gmpz_init in -lgmp... yes
checking for uncompress in -lz... yes
checking for socket in -lsocket... no
checking for gethostbyname in -lresolv... yes
checking for clnt_tli_create in -lnsl... no
checking for strlen in -lbsd... no
checking for XOpenDisplay in -lX11... yes
checking for XextCreateExtension in -lXext... yes
checking for XtCreateApplicationShell in -lXt... yes
checking for XmuCursorNameToIndex in -lXmu... no
checking for XpmCreateImageFromXpmImage in -lXpm... yes
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking sys/file.h usability... yes
checking sys/file.h presence... yes
checking for sys/file.h... yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking time.h usability... yes
checking time.h presence... yes
checking for time.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for unistd.h... (cached) yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking sys/timeb.h usability... yes
checking sys/timeb.h presence... yes
checking for sys/timeb.h... yes
checking assert.h usability... yes
checking assert.h presence... yes
checking for assert.h... yes
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking wait.h usability... yes
checking wait.h presence... yes
checking for wait.h... yes
checking for string.h... (cached) yes
checking for strings.h... (cached) yes
checking sys/fcntl.h usability... yes
checking sys/fcntl.h presence... yes
checking for sys/fcntl.h... yes
checking for memory.h... (cached) yes
checking machine/endian.h usability... no
checking machine/endian.h presence... no
checking for machine/endian.h... no
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking values.h usability... yes
checking values.h presence... yes
checking for values.h... yes
checking xpm.h usability... yes
checking xpm.h presence... yes
checking for xpm.h... yes
checking gmp.h usability... yes
checking gmp.h presence... yes
checking for gmp.h... yes
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
checking whether char is unsigned... no
checking for an ANSI C-conforming const... yes
checking for mode_t... yes
checking whether time.h and sys/time.h may both be included... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for struct tm.tm_zone... yes
checking for uid_t in sys/types.h... yes
checking whether gcc needs -traditional... no
checking for working memcmp... yes
checking return type of signal handlers... void
checking for vprintf... yes
checking for _doprnt... no
checking for wait3 that fills in rusage... yes
checking for ftime... yes
checking for gettimeofday... yes
checking for mkfifo... yes
checking for select... yes
checking for socket... yes
checking for strdup... yes
checking for strerror... yes
checking for strstr... yes
checking for strtol... yes
checking for strcmpi... no
checking for strncmpi... no
checking for strcasecmp... yes
checking for strncasecmp... yes
checking for index... yes
checking for rindex... yes
checking for strchr... yes
checking for strrchr... yes
checking for bzero... yes
checking for bcopy... yes
checking for memset... yes
checking for memmove... yes
checking for memcpy... yes
checking for srandom... yes
checking for random... yes
checking for srand48... yes
checking for lrand48... yes
checking for signal... yes
checking for tolower... yes
checking for toupper... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating src/rsa/Makefile
config.status: creating scripts/expiretime
config.status: creating scripts/make_shippicfile.perl
config.status: creating scripts/mkcredits
config.status: creating scripts/mkimgsrc
config.status: creating scripts/netrektoxbm
config.status: creating scripts/numtoship
config.status: creating scripts/scrambleargs
config.status: creating scripts/unused_images
config.status: creating src/defines.h
config.status: src/defines.h is unchanged


so then i run ./make:

make[1]: Entering directory `/home/zu22/src/netrek/clients/paradise/TedTurner/TedTurner-1.3.1/src'
/bin/sh: line 0: cd: ./../../../../rsa/res-rsa-2.9.2: No such file or directory
make[2]: Entering directory `/home/zu22/src/netrek/clients/paradise/TedTurner/TedTurner-1.3.1/src'
make[2]: *** No rule to make target `librsa.a'.  Stop.
make[2]: Leaving directory `/home/zu22/src/netrek/clients/paradise/TedTurner/TedTurner-1.3.1/src'
make[1]: *** [../../../../rsa/res-rsa-2.9.2/librsa.a] Error 2
make[1]: Leaving directory `/home/zu22/src/netrek/clients/paradise/TedTurner/TedTurner-1.3.1/src'
make: *** [authorizing] Error 2


here is my Ted Turner build directory:

/home/zu22/src/netrek/clients/paradise/TedTurner/TedTurner-1.3.1

here is the contents:

autom4te.cache  configure.in~  libs.txt~    rsa_box_1.c  src
ChangeLog       doc            Makefile     rsa_box_2.c  tedturner.1.3.2
config.log      etc            Makefile.in  rsa_box_3.c  tedturner.1.3.2.secret
config.status   images         mkkey        rsa_box_4.c  TODO
configure       install-sh     README       rsa_box.c
configure.in    libs.txt       rsa_box_0.c  scripts


here is my res-rsa dir:
/home/zu22/src/netrek/rsa/res-rsa-2.9.2

here is the contents:
autom4te.cache  configure.in~  Makefile.in     README.mkkey        rsa_gmp.c
config.h        INSTALL        mkkey           README.US           rsa_gmp.h
config.h.in     INSTALL~       mkkey.c         rsa_encode.c        rsa_gmp.o
config.log      librsa.a       mkkey-help.txt  rsa_encode_dummy.c  rsa.h
config.status   librsa-gmp.a   mkkey.o         rsa_encode_gmp.c    rsa_math.c
configure       LICENSE.US     random.c        rsa_encode_gmp.o    rsa_math.h
configure.in    Makefile       README          rsa_encode.o        rsa_math.o

here is the Makefile:

#
# NetrekII: Paradise Client Makefile
#

SHELL=/bin/sh

SRCDIR=./src
SCRIPTDIR=./scripts

authorizing:
        @cd $(SRCDIR); $(MAKE) $@ SYSDEFS=-DAUTHORIZE STATIC=$(STATIC)

generic:
        @cd $(SRCDIR); $(MAKE) $@

help:
        @cd $(SRCDIR); $(MAKE) $@

damiga:
        @cd $(SRCDIR); $(MAKE) $@

damiga.68000:
        @cd $(SRCDIR); $(MAKE) $@

depend:
        @cd $(SRCDIR); $(MAKE) $@

makefile:
        @./configure

dust:
        @cd $(SRCDIR); $(MAKE) $@

clean:
        @cd $(SRCDIR); $(MAKE) $@

dynamic_images:
        @cd $(SRCDIR); $(MAKE) $@

static_images:
        @cd $(SRCDIR); $(MAKE) $@

unused_images:
        @cd $(SRCDIR); $(MAKE) $@

patchable: clean
        @cd $(SRCDIR); $(MAKE) $@
        -rm -f Makefile config.cache config.log config.status
        -rm -f $(SCRIPTDIR)/expiretime $(SCRIPTDIR)/make_shippicfile.perl
        -rm -f $(SCRIPTDIR)/mkcredits $(SCRIPTDIR)/mkimgsrc
        -rm -f $(SCRIPTDIR)/netrektoxbm $(SCRIPTDIR)/numtoship
        -rm -f $(SCRIPTDIR/scrambleargs $(SCRIPTDIR)/unused_images

archive: patchable
        tar cf ../tedturner-`cat etc/version`.tar
        gzip ../tedturner-`cat etc/version`.tar


here is my configure.in:

dnl xxxxxxxxxx
dnl Predefined variables:
dnl @CFLAGS@    - compiler flags dnl @CPPFLAGS@ - header search file directory,
misc. options for cpp & cc.
dnl @DEFS@      - -D arguments to CC.
dnl                     if AC_CONFIG_HEADER, then @DEFS@ -> -DHAVE_CONFIG_H
dnl @LDFLAGS@   - misc options for linker.
dnl @LIBS@      - -l and -L options to pass to linker.
dnl xxxxxxxxxx

dnl Process this file with autoconf to produce a configure script
AC_INIT(src/Wlib.h)

dnl some initial definitions
XPMDIR=xpm
ZLIBDIR=zlib
GMPDIR=gmp
RSADIR="../../../../rsa/res-rsa-2.9.2"

AC_SUBST(XPMDIR)
AC_SUBST(ZLIBDIR)
AC_SUBST(GMPDIR)
AC_SUBST(RSADIR)

dnl xxxxxxxxxx
dnl May want to use AC_CONFIG_HEADER(defines.h) and create a defines.h.in;
dnl   this will cause all -D options to become #defines in defines.h.
AC_CONFIG_HEADER(src/defines.h)
dnl xxxxxxxxxx

dnl Checks for programs.
dnl AC_PROG_CC sets @CC@, _and_ sets @GCC@ to yes if gcc.
AC_PROG_CC
dnl Checks for @CPP@
AC_PROG_CPP
dnl Checks for @RANLIB@
AC_PROG_RANLIB

dnl Check for perl (needed for images) -- will set @PERL@ to perl if found.
dnl   In fact, it will set it to the entire path so we can do #! line
dnl   substitution in the scripts.  Cool.  And we can do it from within
dnl   configure, getting rid of the scripts option in the Makefiles. :)
AC_PATH_PROG(PERL,perl,no)
if test "$PERL" = no; then
  AC_MSG_ERROR(perl is required to build the Ted Turner client)
fi

dnl Check for install program.  Sets INSTALL, INSTALL_PROGRAM(755),
dnl   and INSTALL_DATA(644).  We MUST have install-sh in our distribution if
dnl   this is used.
AC_PROG_INSTALL

dnl xxxxxxxxxx
dnl AC_PROG_MAKE_SET checks for make setting the variable MAKE.  If it does,
dnl define SET_MAKE to be empty, otherwise SET_MAKE='MAKE=make' (@SET_MAKE@)
dnl xxxxxxxxxx
AC_PROG_MAKE_SET

dnl Checks for libraries.
dnl xxxxxx
dnl AC_CHECK_LIB(lib,func) does these things:
dnl   adds -l(lib) to LIBS
dnl   defines HAVE_LIB(LIB)
AC_CHECK_LIB(m, atan2)
AC_CHECK_LIB(gmp,__gmpz_init,,builtin_gmplib=no)
AC_CHECK_LIB(z,uncompress,,builtin_zlib=no)
AC_CHECK_LIB(socket,socket)
AC_CHECK_LIB(resolv,gethostbyname)
AC_CHECK_LIB(nsl,clnt_tli_create)
AC_CHECK_LIB(bsd,strlen)
AC_CHECK_LIB(X11, XOpenDisplay)
AC_CHECK_LIB(Xext, XextCreateExtension)
AC_CHECK_LIB(Xt, XtCreateApplicationShell)
AC_CHECK_LIB(Xmu, XmuCursorNameToIndex)
AC_CHECK_LIB(Xpm,XpmCreateImageFromXpmImage,,builtin_xpmlib=no)

dnl Check for the older sun libraries.  This is for IRIX 4 only.
dnl AC_CHECK_LIB(sun,

dnl Checks for header files.
dnl sets shell variables x_includes and x_libraries unless they are default.
dnl This is useless after we check for libraries..
dnl AC_PATH_X

dnl defines STDC_HEADERS if the system has ANSI C headers.  Checks for:
dnl   stdlib.h stdarg.h string.h float.h.  Also checks for 8bit ctype.h macros
AC_HEADER_STDC

dnl defines HAVE_SYS_WAIT_H if sys/wait.h AND is POSIX (int stores status)
dnl   Use to define WEXIT,WIFEXIT macros if H_S_W_H not defined.
AC_HEADER_SYS_WAIT

dnl Checks for specific header files.
dnl   Defines HAVE_FCNTL_H, SYS_FILE_H SYS_IOCTL_H SYS_TIME_H UNISTD_H
dnl   if they are available.
AC_CHECK_HEADERS(fcntl.h sys/file.h sys/ioctl.h time.h sys/time.h unistd.h)
AC_CHECK_HEADERS(sys/select.h sys/timeb.h assert.h stddef.h wait.h)

dnl Check for string.h and strings.h as well, sys/fcntl.h, and memory.h
dnl   (for memset/memmove-type instructions)
AC_CHECK_HEADERS(string.h strings.h sys/fcntl.h memory.h machine/endian.h)
AC_CHECK_HEADERS(limits.h values.h)

dnl Check to see if some of our source tree is built in
AC_CHECK_HEADERS(xpm.h,,builtin_xpmlib=no)
AC_CHECK_HEADERS(gmp.h,,builtin_gmplib=no)
AC_CHECK_HEADERS(zlib.h,,builtin_zlib=no)

dnl Check for unsigned char.
AC_C_CHAR_UNSIGNED

dnl Checks for typedefs, structures, and compiler characteristics.
dnl If the compiler doesn't understand const, #define const to be empty.
AC_C_CONST

dnl Checks for the type of mode.  If mode_t is not defined, this defines
dnl   mode_t to be type int.
AC_TYPE_MODE_T

dnl Checks for time & sys/time.  Defines TIME_WITH_SYS_TIME_H if both may be
dnl   included.  If not, just include sys/time.h if SYS_TIME_H is defined,
dnl   else just include time.h
AC_HEADER_TIME

dnl If time.h doesn't define struct tm, then define TM_IN_SYS_TIME, so
dnl   sys/time.h is necessary to be included.
AC_STRUCT_TM

dnl If struct tm has a tm_zone member, defines HAVE_TM_ZONE, otherwise, if
dnl   exterm tzname[] is found, defines HAVE_TZNAME (probably useless for us)
AC_STRUCT_TIMEZONE

dnl If uid_t is not defined, define uid_t and gid_t to be int.
AC_TYPE_UID_T

dnl Checks for library functions.
dnl Will add -traditional to CDEFS if gcc & it is required.
AC_PROG_GCC_TRADITIONAL

dnl adds memcmp.o to LIBOBJS if memcmp isn't available or doesn't work on
dnl   8-bit data (SunOS 4.1.3)
AC_FUNC_MEMCMP

dnl Signal return type.  If void (*), then define RETSIGTYPE to be void,
dnl   otherwise define it as int.
AC_TYPE_SIGNAL

dnl If vprintf is found, defines HAVE_VPRINTF, if _doprnt is found, define
dnl   HAVE_DOPRNT.
AC_FUNC_VPRINTF

dnl If wait3 is found & fills contents of the third arg with struct rusage *,
dnl   (not HP-UX), define HAVE_WAIT3
AC_FUNC_WAIT3

dnl Defines HAVE_(FUNC) if these are available.
AC_CHECK_FUNCS(ftime gettimeofday mkfifo select socket strdup strerror strstr strtol strcmpi strncmpi strcasecmp strncasecmp)

AC_CHECK_FUNCS(index rindex strchr strrchr bzero bcopy memset memmove memcpy)
AC_CHECK_FUNCS(srandom random srand48 lrand48 signal tolower toupper)

dnl xxxxxxxxxx
dnl Need to check for builtins AFTER we check for functions, otherwise
dnl compiler gets hung up on libraries if they aren't built in
dnl xxxxxxxxxx

dnl If no builtin XPMlib, then search for xmkmf.
if test "$builtin_xpmlib" = no; then
  LIBS="-L./${XPMDIR} -lXpm ${LIBS}"
  CPPFLAGS="${CPPFLAGS} -I./${XPMDIR}/lib"
  AC_PATH_PROG(XMKMF,xmkmf,no)
  if test "$XMKMF" = no; then
    XMKMF_BUILD="cp Makefile.noX Makefile"
  else
    XMKMF_BUILD="${XMKMF} -a"
  fi
  MYDEPLIBS="${MYDEPLIBS} $(XPMDIR)/libXpm.a"
  AC_SUBST(XMKMF_BUILD)
fi

dnl If no builtin zlib, we need to build
if test "$builtin_zlib" = no; then
  LIBS="-L./${ZLIBDIR} -lz ${LIBS}"
  CPPFLAGS="${CPPFLAGS} -I./${ZLIBDIR}"
  MYDEPLIBS="${MYDEPLIBS} $(ZLIBDIR)/libz.a"
fi

dnl If no builtin libgmp, we *may* need to build libgmp
if test "$builtin_gmplib" = no; then
  AUTHLIBS="-L./${GMPDIR} $(LIBS) -L./${RSADIR} -lrsa -lgmp"
  CPPFLAGS="${CPPFLAGS} -I./${GMPDIR}"
  MYDEPAUTHLIBS="${MYDEPAUTHLIBS} $(GMPDIR)/libgmp.a"
else
  AUTHLIBS='$(LIBS) -L./${RSADIR} -lrsa -lgmp'
fi
AC_SUBST(AUTHLIBS)
AC_SUBST(MYDEPLIBS)
AC_SUBST(MYDEPAUTHLIBS)

dnl xxxxxxxxxx
dnl AC_OUTPUT(file [file2 [file 3...]]) to read fileX.in and create file,
dnl replacing @Y@-type variables with configure-determined ones in the
dnl process.
dnl xxxxxxxxxx
AC_OUTPUT(Makefile src/Makefile src/rsa/Makefile scripts/expiretime scripts/make_shippicfile.perl scripts/mkcredits scripts/mkimgsrc scripts/netrektoxbm scripts/numtoship scripts/scrambleargs scripts/unused_images)

chmod +x scripts/*