To:[EMAIL PROTECTED]

Hi all,

I am trying to compile this database programme -   mumps10freebsd32x86.tgz ,
("MUMPS" can be download from www.mumps.org) which currently works  only
on i386 FreeBSD 3.2, to an Alpha machine running on FreeBSD 4.0
CURRENT-20000101. The Alpha consists of Digital Alphaserver 200 4/166.


Making all in compile
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING  -c dollar.c
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING  -c eval.c
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING  -c localvar.c
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING  -c parse.c
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING  -c routine.c
Making all in database
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING  -c db_buffer.c
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING  -c db_daemon.c
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING  -c db_get.c
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING  -c db_ic.c
db_ic.c: In function `ic_map':
db_ic.c:557: warning: cast from pointer to integer of different size
db_ic.c:557: warning: cast from pointer to integer of different size
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING  -c db_kill.c
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING  -c db_locate.c
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING  -c db_main.c
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING  -c db_set.c
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING  -c db_uci.c
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING  -c db_util.c
db_util.c: In function `Copy_data':
db_util.c:391: warning: cast from pointer to integer of different size
db_util.c:392: warning: cast from pointer to integer of different size
db_util.c: In function `Allign_record':
db_util.c:447: warning: cast from pointer to integer of different size
db_util.c:448: warning: cast from pointer to integer of different size
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING  -c db_view.c
Making all in init
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING  -c init_create.c
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING  -c init_run.c
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING  -c init_start.c
init_start.c: In function `INIT_Start':
init_start.c:194: warning: cast from pointer to integer of different size
init_start.c:194: warning: cast to pointer from integer of different size
Making all in runtime
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING  -c runtime_attn.c
runtime_attn.c: In function `DoInfo':
runtime_attn.c:89: warning: int format, different type arg (arg 3)
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING  -c
runtime_buildmvar.c
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING  -c
runtime_debug.c
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING  -c runtime_func.c
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING  -c
runtime_pattern.c
cc -I../include -Wall -g -O0 -fvolatile -DPARANOID -DTESTING  -c runtime_run.c
/tmp/ccaN3150.s: Assembler messages:
/tmp/ccaN3150.s:27822: Error: unknown opcode `fnstenv'
/tmp/ccaN3150.s:27857: Error: unknown opcode `fldenv'
*** Error code 1

Stop in /usr/home/maxy/mumps/runtime.
*** Error code 1

Stop in /usr/home/maxy/mumps.

a snip from the "warning" files

db_ic.c
           SemOp(SEM_GLOBAL, -curr_lock);        // free lock
           c++;                                  // point at next
           off = 0;                              // now start at 0
           if (flag == -3)                      // daemon?
line 557:  { systab->vol[volnum - 1]->upto = ((u_int) e - (u_int) c) << 3;
           }

db_util.c
           if (isdata)                        // if data
           { if (c->len == NODE_UNDEFINED)    // junk record?
             { continue;                      // ignore it
             }
           }
           else                              // if a pointer
line 391:  { if ((int) c & 3)                // if not alligned
line 392:    { c = (cstring *) &c->buf[2 - ((int) c & 3)];   // allign
             }
             if ((*(int *) c) == PTR_UNDEFINED) // see if that's junk
             { continue;                     // ignore it
             }
           }

db_util.c
//-----------------------------------------------------------------------------
// Function: Allign_record
// Descript: Ensure that record is on a four byte boundary
// Input(s): none
// Return:   none
// Note:     Must only be called for pointer/directory blocks
//

          void Allign_record()         // allign record (int)
line 447: { if ((int) record & 3)      // if not alligned
line 448:   { record = (cstring *) &record->buf[2 -
                       ((int) record & 3)]; // allign

            }
            return;                   // exit
          }


init_start.c
           bzero(systab, share_size);      // zot the lot
           systab->jobtab
             (jobtab *)&systab->last_blk_used[jobs + 1];
                                           // setup jobtab pointer

           systab->maxjob = jobs;    // save max jobs
           systab->start_user = (int) getpid(); // remember who started this

           systab->lockstart
             (void *)((void *)systab->jobtab +
             (sizeof(jobtab)*jobs)); //locktab
           systab->locksize = locksize;      // the size
           systab->lockhead = NULL;         // no locks currently
           systab->lockfree = (locktab *) systab->lockstart; // free space
           systab->lockfree->fwd_link = NULL;   // only one
           systab->lockfree->size = locksize;  // the whole space
           systab->lockfree->job = -1;    // means free

           systab->vol[0]
             (vol_def *) ((void *)systab + sjlt_size);// jump to start of
                                                // volume set memory

           systab->vol[0]->vollab
             (label_block *) ((void *)systab->vol[0] + sizeof(vol_def));
                                                // and point to label blk

           systab->vol[0]->map
             (void*)((void *)systab->vol[0]->vollab + sizeof(label_block));
                                                // and point to map
           systab->vol[0]->first_free
             systab->vol[0]->map; // init first free

           systab->vol[0]->gbd_head
             (gbd *) ((void *)systab->vol[0]->vollab + hbuf[2]); // gbds
           systab->vol[0]->num_gbd = n_gbd;  // number of gbds

           systab->vol[0]->global_buf
             (void *) &systab->vol[0]->gbd_head[n_gbd];  //glob buffs
line 194:  systab->vol[0]->zero_block
             (void *)((int)systab->vol[0]->global_buf+(gmb*MBYTE));
                                                     // pointer to zero blk

           systab->vol[0]->rbd_head
             (void *) ((void*)systab->vol[0]->zero_block + hbuf[3]); //rbds
           systab->vol[0]->rbd_end
             ((void *)systab + share_size); // end of share

           systab->vol[0]->shm_id = shar_mem_id;  // set up share id
           systab->sem_id = sem_id;    // set up semaphore id
           systab->vol[0]->map_dirty_flag = 0;  // clear dirty map flag


runtime_attn.c
     //  DoInfo() - look after a control T
     //
      void DoInfo()
       { int i;                                        // a handy int
         int j;                                        // and another
         char ct[400];                    // some space for control t
         char *p;                                      // a handy pointer
         mvar *var;                                    // and another

         bcopy("\033\067\033[99;1H",ct,9);             // start off
         i = 9;                                        // next char
line 89: i += sprintf(&ct[i],"%d", partab.jobtab - systab->jobtab + 1);
         i += sprintf(&ct[i]," (%d) ", partab.jobtab->pid);
         p = (char *) &partab.jobtab->dostk[partab.jobtab->cur_do].rounam;
                                                // point at routine name
         for (j = 0; (j < 8) && (p[j]); ct[i++] = p[j++]); // copy it
         i += sprintf(&ct[i]," Cmds: %d ", partab.jobtab->commands);
         i += sprintf(&ct[i],"Grefs: %d ", partab.jobtab->grefs);
         var = &partab.jobtab->last_ref;               // point at $R
         if (var->name.var_cu[0] != '\0')              // something there?
         i += UTIL_String_Mvar(var, &ct[i], 32767);  // decode it
         if (i > 89) i = 89;                           // fit on terminal
         bcopy("\033\133\113\033\070\0", &ct[i], 6);   // and the trailing bit
         fprintf(stderr, "%s", ct);                    // output it
         return;                                       // all done
       }



Thanks for your help.

Max



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to