Compiling Circle3.0bpl11 on HPUX 9000

From: Jerry E. Latimer (jerryl@uidaho.edu)
Date: 04/24/96


Apparently I did not give enough information about the problems I'm having
compiling circle3.0bpl11 on a HPUX 9000 system so i will try again.  This
is going to be a long post so please bare with me.  Nobody likes to be
flamed.

I ftp'ed circle30bpl11.tar.gz distribution the Circle FTP site.  I
uncompressed, and untarred the files.  I ran 'configure' (output below)
and then 'make all' (output below).  It didnt work.  I've included the
lines of source that gave errors (though they were unmodified from the
distribution).

I would really appreciate any help/ideas that people can give me.
Thank you


---------------------------------------------------------------------------
The following is the output produced by the 'configure' program:

Script started on Wed Apr 24 17:13:18 1996
crater: /circle30bpl11>configure
creating cache ./config.cache
checking for gcc... gcc
checking whether we are using GNU C... yes
checking whether gcc accepts -g... yes
checking for more... more
checking for -lnsl... no
checking for -lsocket... no
checking for -lmalloc... yes
checking for -lcrypt... yes
checking how to run the C preprocessor... gcc -E
checking whether cross-compiling... no
checking for ANSI C header files... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for fcntl.h... yes
checking for sys/fcntl.h... yes
checking for errno.h... yes
checking for net/errno.h... no
checking for string.h... yes
checking for limits.h... yes
checking for sys/time.h... yes
checking for sys/select.h... no
checking for sys/types.h... yes
checking for unistd.h... yes
checking for memory.h... yes
checking for crypt.h... no
checking for assert.h... yes
checking for arpa/telnet.h... yes
checking for working const... yes
checking for pid_t... yes
checking for size_t... yes
checking whether time.h and sys/time.h may both be included... yes
checking return type of signal handlers... void
checking for crypt... yes
checking for random... no
updating cache ./config.cache
creating ./config.status
creating src/Makefile
creating src/conf.h
crater: /circle30bpl11>exit

script done on Wed Apr 24 17:14:42 1996

---------------------------------------------------------------------------
The following was outputted during the compile of the
unmodified circle30bpl11 source distribution:

Script started on Wed Apr 24 17:15:21 1996
crater: /circle30bpl11/src>make all

[license text deleted]

	make ../bin/circle
	gcc -c -g -O -Wall -fno-strict-prototypes  comm.c
comm.c: In function `game_loop':
comm.c:472: warning: passing arg 2 of `select' from incompatible pointer type
comm.c:472: warning: passing arg 3 of `select' from incompatible pointer type
comm.c:472: warning: passing arg 4 of `select' from incompatible pointer type
comm.c:533: warning: passing arg 2 of `select' from incompatible pointer type
comm.c:533: warning: passing arg 3 of `select' from incompatible pointer type
comm.c:533: warning: passing arg 4 of `select' from incompatible pointer type
comm.c:545: warning: passing arg 2 of `select' from incompatible pointer type
comm.c:545: warning: passing arg 3 of `select' from incompatible pointer type
comm.c:545: warning: passing arg 4 of `select' from incompatible pointer type
	gcc -c -g -O -Wall -fno-strict-prototypes  act.comm.c
	gcc -c -g -O -Wall -fno-strict-prototypes  act.informative.c
	gcc -c -g -O -Wall -fno-strict-prototypes  act.movement.c
	gcc -c -g -O -Wall -fno-strict-prototypes  act.item.c
	gcc -c -g -O -Wall -fno-strict-prototypes  act.offensive.c
	gcc -c -g -O -Wall -fno-strict-prototypes  act.other.c
	gcc -c -g -O -Wall -fno-strict-prototypes  act.social.c
	gcc -c -g -O -Wall -fno-strict-prototypes  act.wizard.c
	gcc -c -g -O -Wall -fno-strict-prototypes  ban.c
	gcc -c -g -O -Wall -fno-strict-prototypes  boards.c
	gcc -c -g -O -Wall -fno-strict-prototypes  castle.c
	gcc -c -g -O -Wall -fno-strict-prototypes  class.c
	gcc -c -g -O -Wall -fno-strict-prototypes  config.c
	gcc -c -g -O -Wall -fno-strict-prototypes  constants.c
	gcc -c -g -O -Wall -fno-strict-prototypes  db.c
	gcc -c -g -O -Wall -fno-strict-prototypes  fight.c
	gcc -c -g -O -Wall -fno-strict-prototypes  graph.c
	gcc -c -g -O -Wall -fno-strict-prototypes  handler.c
	gcc -c -g -O -Wall -fno-strict-prototypes  house.c
	gcc -c -g -O -Wall -fno-strict-prototypes  interpreter.c
	gcc -c -g -O -Wall -fno-strict-prototypes  limits.c
	gcc -c -g -O -Wall -fno-strict-prototypes  magic.c
	gcc -c -g -O -Wall -fno-strict-prototypes  mail.c
	gcc -c -g -O -Wall -fno-strict-prototypes  mobact.c
	gcc -c -g -O -Wall -fno-strict-prototypes  modify.c
	gcc -c -g -O -Wall -fno-strict-prototypes  objsave.c
	gcc -c -g -O -Wall -fno-strict-prototypes  olc.c
olc.c: In function `do_olc':
olc.c:73: warning: `vnum' might be used uninitialized in this function
	gcc -c -g -O -Wall -fno-strict-prototypes  shop.c
	gcc -c -g -O -Wall -fno-strict-prototypes  spec_assign.c
	gcc -c -g -O -Wall -fno-strict-prototypes  spec_procs.c
	gcc -c -g -O -Wall -fno-strict-prototypes  spell_parser.c
	gcc -c -g -O -Wall -fno-strict-prototypes  spells.c
	gcc -c -g -O -Wall -fno-strict-prototypes  utils.c
	gcc -c -g -O -Wall -fno-strict-prototypes  weather.c
	gcc -c -g -O -Wall -fno-strict-prototypes  random.c
	gcc -o ../bin/circle  comm.o act.comm.o act.informative.o act.movement.o act.item.o  act.offensive.o act.other.o act.social.o act.wizard.o ban.o boards.o  castle.o class.o config.o constants.o db.o fight.o graph.o handler.o  house.o interpreter.o limits.

o magic.o mail.o mobact.o modify.o  objsave.o olc.o shop.o spec_assign.o spec_procs.o spell_parser.o  spells.o utils.o weather.o  random.o -lcrypt -lmalloc 
/bin/ld: Unsatisfied symbols:
   _fragblocks (data)
   _heaplimit (data)
   __morecore (data)
   _fraghead (data)
   _chunks_used (data)
   _heapinfo (data)
   _chunks_free (data)
   _heapbase (data)
   _bytes_free (data)
   _bytes_used (data)
   _heapindex (data)
collect2: ld returned 1 exit status
*** Error code 1

Stop.
*** Error code 1

Stop.
crater: /circle30bpl11/src>exit

script done on Wed Apr 24 17:22:32 1996

---------------------------------------------------------------------------
The following source lines are from the files indicated with error
messags during the compile (for reference though they are not modified):

====================
comm.c lines 472-548
====================
      if (select(mother_desc + 1, &input_set, (fd_set *) 0, (fd_set *) 0, NULL) < 0) {
	if (errno == EINTR)
	  log("Waking up to process signal.");
	else
	  perror("Select coma");
      } else
	log("New connection.  Waking up.");
      gettimeofday(&last_time, (struct timezone *) 0);
    }
    /* Set up the input, output, and exception sets for select(). */
    FD_ZERO(&input_set);
    FD_ZERO(&output_set);
    FD_ZERO(&exc_set);
    FD_SET(mother_desc, &input_set);

    maxdesc = mother_desc;
    for (d = descriptor_list; d; d = d->next) {
#ifndef CIRCLE_WINDOWS
      if (d->descriptor > maxdesc)
	maxdesc = d->descriptor;
#endif
      FD_SET(d->descriptor, &input_set);
      FD_SET(d->descriptor, &output_set);
      FD_SET(d->descriptor, &exc_set);
    }

    /*
     * At this point, we have completed all input, output and heartbeat
     * activity from the previous iteration, so we have to put ourselves
     * to sleep until the next 0.1 second tick.  The first step is to
     * calculate how long we took processing the previous iteration.
     */
    
    gettimeofday(&before_sleep, (struct timezone *) 0); /* current time */
    process_time = timediff(before_sleep, last_time);

    /*
     * If we were asleep for more than one pass, count missed pulses and sleep
     * until we're resynchronized with the next upcoming pulse.
     */
    if (process_time.tv_sec == 0 && process_time.tv_usec < OPT_USEC) {
      missed_pulses = 0;
    } else {
      missed_pulses = process_time.tv_sec * PASSES_PER_SEC;
      missed_pulses += process_time.tv_usec / OPT_USEC;
      process_time.tv_sec = 0;
      process_time.tv_usec = process_time.tv_usec % OPT_USEC;
    }

    /* Calculate the time we should wake up */
    last_time = timeadd(before_sleep, timediff(opt_time, process_time));

    /* Now keep sleeping until that time has come */
    gettimeofday(&now, (struct timezone *) 0);
    timeout = timediff(last_time, now);

    /* go to sleep */
    do {
#ifdef CIRCLE_WINDOWS
      Sleep(timeout.tv_sec * 1000 + timeout.tv_usec / 1000);
#else
      if (select(0, (fd_set *) 0, (fd_set *) 0, (fd_set *) 0, &timeout) < 0) {
	if (errno != EINTR) {
	  perror("Select sleep");
	  exit(1);
	}
      }
#endif /* CIRCLE_WINDOWS */
      gettimeofday(&now, (struct timezone *) 0);
      timeout = timediff(last_time, now);
    } while (timeout.tv_usec || timeout.tv_sec);

    /* poll (without blocking) for new input, output, and exceptions */
    if (select(maxdesc + 1, &input_set, &output_set, &exc_set, &null_time) < 0) {
      perror("Select poll");
      return;
    }


=============
olc.c line 73
=============
  int rnum, vnum, olc_mode;



---------------------------------------------------------------------------
Jerry E. Latimer    jerryl@uidaho.edu    URL http://www.uidaho.edu/~jerryl/



This archive was generated by hypermail 2b30 : 12/18/00 PST