Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 12 Jan 2000 15:00:08 +1000 (EST)
From:      MAX@one.com.au
Message-ID:  <200001120500.PAA03146@gw.one.com.au>

next in thread | raw e-mail | index | archive | help
Chuckr,

I am trying to port 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



-------------------------
From: chuckr@picnic.mat.net
To:   MAX@one.com.au
On Wed, 12 Jan 2000 MAX@one.com.au wrote:

>
> I am having some difficulties in compiling one of these database ports from
> mumps.org . I am using the current version of freebsd 4.0-alpha . But somehow
> this error leave no clues.

Hmmm.  You don't tell us the file that caused the error; heck, you seem to
be too embarrassed to even tell us what port it's from.  Please, if you
want help, you're going to have to try harder to let us know what you're
trying to fix.  Tell us things like what port it's from, include enough of
hte problem listing so we can see the entire compiler line that generated
that error, what FreeBSD version you're running, what hardware, and
anything else that might pop into your head, that might help us figure out
what went wrong.

>
> /tmp/ccfCC509.s: Assembler messages:
> /tmp/ccfCC509.s:27822: Error: unknown opcode `fnstenv'
> /tmp/ccfCC509.s:27857: Error: unknown opcode `fldenv'
> *** Error code 1
>
> Any ideas?



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200001120500.PAA03146>