Ethereal-dev: [Ethereal-dev] Re: ethereal on Tru64

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Laurent Deniel <deniel@xxxxxxxxxxx>
Date: Tue, 13 Mar 2001 19:54:50 +0100

Harry Goldschmitt wrote:
> 
> Sorry to bother you with this question.
> 
> I've been trying to get the latest ethereal 0.8.16 up on osf/1 R4.0d,
> from the source with all the extra goodies, libpcap, GTK+, glib,
> zlib, SNMP, flex and bison.  After installing everything except
> ethereal, successfully, I can't get the ethereal configure script to
> complete.  It errors out trying to link pcap_open_live.  This
> function is definitely in libpcap according to ar.  In fact the
> errors are really that the snprintf, vsnprintf, yy_scan_string
> routines can't be found.  I've manually added the libraries to the
> compile that complains, but it still doesn't help.
> 
> I'm using the OSF cc compiler.  Should I be using the gcc compiler?
> Do you want me to forward my config.log?
> 
> Any help would be appreciated.
> 
> Harry Goldschmitt

I have installed a statically linked (gtk, zlib, SNMP) binary version for 
Tru64 UNIX 4.0 F at the URL :

http://www.ethereal.com/~deniel/Tru64/

Since I no longer have any 4.0 D machine, I can not provide a binary for that
Tru64 UNIX release and since my 4.0 F binary is not statically linked against
the C library, it might not work on 4.0 D.

You can try to compile it yourself according to the following hints :

- the libpcap distribution is buggy :
  it uses the snprintf implementation of tcpdump but does not include the 
  object file in the resulting libpcap library (so linking of tcpdump works,
  but linking of any other programs fails).
  You can add the snprintf.o (I do not remember exactly the file name) from
  the tcpdump distribution to the libpcap library then, configure should 
  work

- compilation with the standard DEC cc compiler will not work due to
  problems in the ethereal code (patch is available in current CVS tree) :
  you can try gcc or fixe the problems by applying the attached patch.

Regards,

Laurent

--
Laurent DENIEL        | E-mail: deniel@xxxxxxxxxxx
Paris, FRANCE         |         laurent.deniel@xxxxxxxxxxxxxxxxxxxxxxxxxxxx
                      | WWW   : http://www.worldnet.fr/~deniel
    All above opinions are personal, unless stated otherwise.
--- tools/lemon/lemon.c.orig    Thu Mar  8 03:25:18 2001
+++ tools/lemon/lemon.c Thu Mar  8 03:26:14 2001
@@ -69,7 +69,7 @@
 ** Principal data structures for the LEMON parser generator.
 */
 
-typedef enum {FALSE=0, TRUE} Boolean;
+typedef enum {BOOL_FALSE=0, BOOL_TRUE} Boolean;
 
 /* Symbols (terminals and nonterminals) of the grammar are stored
 ** in the following: */
@@ -472,7 +472,7 @@
   int progress;
 
   for(i=0; i<lemp->nsymbol; i++){
-    lemp->symbols[i]->lambda = FALSE;
+    lemp->symbols[i]->lambda = BOOL_FALSE;
   }
   for(i=lemp->nterminal; i<lemp->nsymbol; i++){
     lemp->symbols[i]->firstset = SetNew();
@@ -484,10 +484,10 @@
     for(rp=lemp->rule; rp; rp=rp->next){
       if( rp->lhs->lambda ) continue;
       for(i=0; i<rp->nrhs; i++){
-         if( rp->rhs[i]->lambda==FALSE ) break;
+         if( rp->rhs[i]->lambda==BOOL_FALSE ) break;
       }
       if( i==rp->nrhs ){
-        rp->lhs->lambda = TRUE;
+        rp->lhs->lambda = BOOL_TRUE;
         progress = 1;
       }
     }
@@ -505,10 +505,10 @@
           progress += SetAdd(s1->firstset,s2->index);
           break;
        }else if( s1==s2 ){
-          if( s1->lambda==FALSE ) break;
+          if( s1->lambda==BOOL_FALSE ) break;
        }else{
           progress += SetUnion(s1->firstset,s2->firstset);
-          if( s2->lambda==FALSE ) break;
+          if( s2->lambda==BOOL_FALSE ) break;
        }
       }
     }
@@ -799,11 +799,11 @@
   }
 
   /* Report an error for each rule that can never be reduced. */
-  for(rp=lemp->rule; rp; rp=rp->next) rp->canReduce = FALSE;
+  for(rp=lemp->rule; rp; rp=rp->next) rp->canReduce = BOOL_FALSE;
   for(i=0; i<lemp->nstate; i++){
     struct action *ap;
     for(ap=lemp->sorted[i]->ap; ap; ap=ap->next){
-      if( ap->type==REDUCE ) ap->x.rp->canReduce = TRUE;
+      if( ap->type==REDUCE ) ap->x.rp->canReduce = BOOL_TRUE;
     }
   }
   for(rp=lemp->rule; rp; rp=rp->next){
@@ -1015,7 +1015,7 @@
             break;
          }else{
             SetUnion(newcfp->fws,xsp->firstset);
-            if( xsp->lambda==FALSE ) break;
+            if( xsp->lambda==BOOL_FALSE ) break;
          }
        }
         if( i==rp->nrhs ) Plink_add(&cfp->fplp,newcfp);
@@ -3517,7 +3517,7 @@
     sp->prec = -1;
     sp->assoc = UNK;
     sp->firstset = 0;
-    sp->lambda = FALSE;
+    sp->lambda = BOOL_FALSE;
     sp->destructor = 0;
     sp->datatype = 0;
     Symbol_insert(sp,sp->name);
--- packet-wtls.c.orig  Thu Mar  8 04:24:38 2001
+++ packet-wtls.c       Thu Mar  8 04:25:03 2001
@@ -1328,7 +1328,7 @@
        proto_register_subtree_array(ett, array_length(ett));
 
        register_dissector("wtls", dissect_wtls, proto_wtls);
-};
+}
 
 void
 proto_reg_handoff_wtls(void)
--- packet-srvloc.c.orig        Thu Mar  8 04:25:31 2001
+++ packet-srvloc.c     Thu Mar  8 04:25:38 2001
@@ -210,7 +210,7 @@
                        tvb_format_text(tvb, offset, length));
     offset += length;
     return offset;
-};
+}
 
 /* Packet dissection routine called by tcp & udp when port 427 detected */
 
@@ -486,7 +486,7 @@
                 proto_tree_add_text(srvloc_tree, tvb, offset, tvb_length_remaining(tvb, offset), "Unknown Function Type");
         };
     };
-};
+}
 
 /* Register protocol with Ethereal. */
 
--- packet-sip.c.orig   Thu Mar  8 04:26:11 2001
+++ packet-sip.c        Thu Mar  8 04:26:16 2001
@@ -203,7 +203,7 @@
         /* Required function calls to register the header fields and subtrees used */
         proto_register_field_array(proto_sip, hf, array_length(hf));
         proto_register_subtree_array(ett, array_length(ett));
-};
+}
 
 void
 proto_reg_handoff_sip(void)
--- packet-osi-options.c.orig   Thu Mar  8 04:26:38 2001
+++ packet-osi-options.c        Thu Mar  8 04:27:02 2001
@@ -217,7 +217,8 @@
          val_to_str( tmp_type, osi_opt_qos_sub_vals, "Unknown (0x%x)") );
     }
   }
-};
+}
+
 void
 dissect_option_route( u_char parm_type, u_char offset, u_char parm_len, 
                       tvbuff_t *tvb, proto_tree *tree ) {
@@ -273,7 +274,7 @@
                   print_nsap_net( tvb_get_ptr(tvb, this_hop + 1, netl), netl ) );
     this_hop += 1 + netl;
   }
-};
+}
 
 
 
@@ -328,7 +329,7 @@
     proto_tree_add_text( tree, tvb, offset, len,
                          "Reason for discard: UNKNOWN Error Class" );
   } 
-};
+}
 
 /* ############################## Dissection Functions ###################### */
 
@@ -442,7 +443,7 @@
         offset  += parm_len;
       }
    } 
-}; /* dissect-osi-options */
+} /* dissect-osi-options */
 
 
 /*
@@ -471,5 +472,4 @@
     &ott_osi_redirect,
   };
   proto_register_subtree_array( ott, array_length(ott));
-};
-                                                       
+}
--- packet-nfs.c.orig   Thu Mar  8 04:29:23 2001
+++ packet-nfs.c        Thu Mar  8 04:29:34 2001
@@ -4688,7 +4688,7 @@
        { 0, NULL }
 };
 
-guint *nfsv4_operation_ett[] =
+gint *nfsv4_operation_ett[] =
 {
         &ett_nfs_access4 ,
         &ett_nfs_close4 ,