2 <html lang="en-us" itemscope itemtype="http://schema.org/Article">
5 <meta name="description" content=" Downloaded a Perl compatible Diff module from Perl Diff and adapted it for use with complogs Created complogs to compare two log files and print out their differences in terms of warnings...">
6 <meta name="generator" content="Movable Type 5.2.3">
7 <title>complogs - Status</title>
8 <link rel="alternate" type="application/atom+xml" title="Recent Entries" href="http://defaria.com/blogs/Status/atom.xml">
9 <link rel="canonical" href="http://defaria.com/blogs/Status/2005/07/complogs.html">
10 <meta name="viewport" content="width=device-width,initial-scale=1">
11 <link rel="stylesheet" href="http://defaria.com/blogs/Status/styles.css">
13 <link rel="stylesheet" href="http://defaria.com/blogs/Status/styles_ie.css">
14 <script src="/mt/mt-static/support/theme_static/rainier/js/html5shiv.js"></script>
17 <link rel="start" href="http://defaria.com/blogs/Status/">
19 <link rel="prev" href="http://defaria.com/blogs/Status/2005/07/cvs-adm-web-app-6.html" title="CVS Adm Web App Prototype">
20 <link rel="next" href="http://defaria.com/blogs/Status/2005/07/verifycrs.html" title="verifycrs">
21 <!-- Open Graph Protocol -->
22 <meta property="og:type" content="article">
23 <meta property="og:locale" content="en-us">
24 <meta property="og:title" content="complogs">
25 <meta property="og:url" content="http://defaria.com/blogs/Status/2005/07/complogs.html">
26 <meta property="og:description" content=" Downloaded a Perl compatible Diff module from Perl Diff and adapted it for use with complogs Created complogs to compare two log files and print out their differences in terms of warnings...">
27 <meta property="og:site_name" content="Status">
28 <meta property="og:image" content="/mt/mt-static/support/theme_static/rainier/img/siteicon-sample.png">
30 <meta itemprop="description" content=" Downloaded a Perl compatible Diff module from Perl Diff and adapted it for use with complogs Created complogs to compare two log files and print out their differences in terms of warnings...">
31 <link itemprop="url" href="http://defaria.com/blogs/Status/2005/07/complogs.html">
32 <link itemprop="image" href="/mt/mt-static/support/theme_static/rainier/img/siteicon-sample.png">
37 <div id="container-inner">
38 <header id="header" role="banner">
39 <div id="header-inner">
40 <div id="header-content">
42 <a href="http://defaria.com/blogs/Status/">
51 <nav role="navigation">
53 <li><a href="http://defaria.com/blogs/Status/">Home</a></li>
62 <div id="content-inner">
63 <ul class="breadcrumb breadcrumb-list">
64 <li class="breadcrumb-list-item"><a href="http://defaria.com/blogs/Status/">Home</a></li>
65 <li class="breadcrumb-list-item">complogs</li>
67 <div id="individual-main" class="main" role="main">
68 <article id="entry-1667" class="entry entry-asset asset hentry">
69 <div class="asset-header">
70 <h2 itemprop="name" class="asset-name entry-title">complogs</h2>
71 <footer class="asset-meta">
72 <ul class="asset-meta-list">
73 <li class="asset-meta-list-item">Posted on <time datetime="2005-07-27T18:00:35-08:00" itemprop="datePublished">July 27, 2005</time></li>
74 <li class="asset-meta-list-item">by <span class="author entry-author vcard"></span></li>
77 <li class="asset-meta-list-item">in <a itemprop="articleSection" rel="tag" href="http://defaria.com/blogs/Status/lynuxworks/">LynuxWorks</a></li>
83 <div class="entry-content asset-content" itemprop="articleBody">
85 <li>Downloaded a Perl compatible Diff module from <a href="http://perl.plover.com/diff">Perl Diff</a> and adapted it for use with complogs</li>
87 <li>Created complogs to compare two log files and print out their differences in terms of warnings</li>
91 <p>I have developed a script to compare two logfile and print out the differences in terms of warnings. First of all this script leans on a prior script, <i>check</i>, (which should be in /int/bin and /int/bin should be in your path. BTW: That's where complogs is also).</p>
93 <p>Secondly it attempts to be semi intelligent WRT comparing warnings. In order to do this I had downloaded a <a href="http://perl.plover.com/diff/">Perl Diff module</a> and adapted it for use with complogs. Normally one would install a Perl module into the system library. But I cannot tell where complog will be run Side note: At a previous company we compiled a version of Perl and placed it on a network accessible area like /int. We also altered it to look at a network path for Perl modules. This meant that one need only install a new Perl module once in the network area and the networked Perl would automatically see it. Lacking that I've installed this Diff.pm into /int/lib.</p>
95 <p>This Diff.pm module allows me to diff two arrays and provide a function for determining equality. Thus I have the following function:</p>
97 <div class="code"><pre>
99 # Return the line possibly removing any line number. For example, a
100 # line such as the following:
102 # syscall_switch.c:14: warning: initialization from incompatible pointer type
104 # has a line number (14) in it. A subsequent compile of
105 # syscall_switch.c may generate the same warning but the line number
106 # may change (e.g. 16). It's the same warning so we will remove the
107 # string ":\d*:" from the output. This is a bit kludgy.
110 return $line =~ s/(\w*\.[ch]):\d*:( warning:)/$1$2/;
114 <p>This helps cut down on warnings that have only changed line numbers.</p>
116 <p>I've tested this with a few install.log's that I've found. For example:</p>
118 <div class="code"><pre>
119 saturn:complogs 20050718.install.log 20050722.install.log
120 ----------------------------------------------------------------------
122 ----------------------------------------------------------------------
123 1439 bsp_pcibus.c:783: warning: unused variable `bus'
124 1440 bsp_pcibus.c:784: warning: unused variable `dev'
125 1441 bsp_pcibus.c:785: warning: unused variable `func'
126 1442 bsp_pcibus.c:150: warning: 'pci_bridge_init' defined but not used
127 1443 bsp_reboot.c:168: warning: implicit declaration of function `hw_local_reset'
128 1444 bsp_reboot.c:171: warning: implicit declaration of function `stopcpu'
129 ----------------------------------------------------------------------
131 ----------------------------------------------------------------------
133 ----------------------------------------------------------------------
134 1881 /usr/los178/3.0.0/ppc_dev/sys/include/kernel/kernel.h:94:1: warning: this is the location of the previous definition
135 3378 regex.h:39:1: warning: "RE_DUP_MAX" redefined
136 3379 /usr/los178/3.0.0/ppc_dev/usr/include/limits.h:162:1: warning: this is the location of the previous definition
137 3380 regex.h:39:1: warning: "RE_DUP_MAX" redefined
138 3381 /usr/los178/3.0.0/ppc_dev/usr/include/limits.h:162:1: warning: this is the location of the previous definition
139 3382 regex.h:39:1: warning: "RE_DUP_MAX" redefined
140 3383 /usr/los178/3.0.0/ppc_dev/usr/include/limits.h:162:1: warning: this is the location of the previous definition
141 3384 regex.h:39:1: warning: "RE_DUP_MAX" redefined
142 3385 /usr/los178/3.0.0/ppc_dev/usr/include/limits.h:162:1: warning: this is the location of the previous definition
143 3386 regex.h:39:1: warning: "RE_DUP_MAX" redefined
144 3387 /usr/los178/3.0.0/ppc_dev/usr/include/limits.h:162:1: warning: this is the location of the previous definition
145 3388 regex.h:39:1: warning: "RE_DUP_MAX" redefined
146 3389 /usr/los178/3.0.0/ppc_dev/usr/include/limits.h:162:1: warning: this is the location of the previous definition
147 3390 regex.h:39:1: warning: "RE_DUP_MAX" redefined
148 3391 /usr/los178/3.0.0/ppc_dev/usr/include/limits.h:162:1: warning: this is the location of the previous definition
149 3392 regex.h:39:1: warning: "RE_DUP_MAX" redefined
150 3393 /usr/los178/3.0.0/ppc_dev/usr/include/limits.h:162:1: warning: this is the location of the previous definition
151 3394 regex.h:39:1: warning: "RE_DUP_MAX" redefined
152 3395 /usr/los178/3.0.0/ppc_dev/usr/include/limits.h:162:1: warning: this is the location of the previous definition
153 3396 regex.h:39:1: warning: "RE_DUP_MAX" redefined
154 3397 /usr/los178/3.0.0/ppc_dev/usr/include/limits.h:162:1: warning: this is the location of the previous definition
155 3398 regex.h:39:1: warning: "RE_DUP_MAX" redefined
156 3399 /usr/los178/3.0.0/ppc_dev/usr/include/limits.h:162:1: warning: this is the location of the previous definition
157 3400 regex.h:39:1: warning: "RE_DUP_MAX" redefined
158 3401 /usr/los178/3.0.0/ppc_dev/usr/include/limits.h:162:1: warning: this is the location of the previous definition
159 3403 regex.h:39:1: warning: "RE_DUP_MAX" redefined
160 3404 /usr/los178/3.0.0/ppc_dev/usr/include/limits.h:162:1: warning: this is the location of the previous definition
161 3412 regex.c:4825: warning: passing arg 2 of `bcmp_translate' discards qualifiers from pointer target type
162 3415 ../tar-1.11.2/getdate.y:807: warning: static declaration of 'getdate_yylex' follows non-static declaration
163 3416 bison.simple:332: warning: previous implicit declaration of 'getdate_yylex' was here
164 3419 /usr/los178/3.0.0/ppc_dev/usr/include/wait.h:58:2: warning: #warning Using <sys/wait.h> instead of <wait.h>
165 3421 pipesize.h:8:1: warning: "PIPESIZE" redefined
166 3422 /usr/los178/3.0.0/ppc_dev/usr/include/conf.h:76:1: warning: this is the location of the previous definition
167 3424 display.c:1155: warning: comparison is always true due to limited range of data type
168 3425 malloc.c:521: warning: conflicting types for built-in function 'malloc'
169 3426 malloc.c:798: warning: conflicting types for built-in function 'calloc'
170 3427 /usr/los178/3.0.0/ppc_dev/usr/include/sys/param.h:21:2: warning: #warning Using <param.h> instead of <sys/param.h>
171 3428 ../ex/ex_cd.c:75: warning: assignment from incompatible pointer type
172 3429 /usr/los178/3.0.0/ppc_dev/usr/include/sys/param.h:21:2: warning: #warning Using <param.h> instead of <sys/param.h>
173 3430 /usr/los178/3.0.0/ppc_dev/usr/include/sys/param.h:21:2: warning: #warning Using <param.h> instead of <sys/param.h>
174 3431 /usr/los178/3.0.0/ppc_dev/usr/include/sys/param.h:21:2: warning: #warning Using <param.h> instead of <sys/param.h>
175 3432 /usr/los178/3.0.0/ppc_dev/usr/include/sys/param.h:21:2: warning: #warning Using <param.h> instead of <sys/param.h>
176 3433 /usr/los178/3.0.0/ppc_dev/usr/include/sys/param.h:21:2: warning: #warning Using <param.h> instead of <sys/param.h>
177 3434 ../vi/getc.c:63: warning: passing arg 3 of `db_eget' from incompatible pointer type
178 3435 ../vi/getc.c:193: warning: passing arg 4 of `db_get' from incompatible pointer type
179 3436 ../common/key.c:159: warning: comparison is always true due to limited range of data type
180 3437 /usr/los178/3.0.0/ppc_dev/usr/include/sys/param.h:21:2: warning: #warning Using <param.h> instead of <sys/param.h>
181 3438 /usr/los178/3.0.0/ppc_dev/usr/include/sys/param.h:21:2: warning: #warning Using <param.h> instead of <sys/param.h>
182 3439 ../common/recover.c:368: warning: assignment from incompatible pointer type
183 3440 ../vi/v_txt.c:2184: warning: comparison of distinct pointer types lacks a cast
184 3441 ../vi/v_txt.c:2202: warning: comparison of distinct pointer types lacks a cast
185 3442 ../vi/v_ulcase.c:130: warning: passing arg 4 of `db_get' from incompatible pointer type
186 3443 /usr/los178/3.0.0/ppc_dev/usr/include/sys/param.h:21:2: warning: #warning Using <param.h> instead of <sys/param.h>
187 3444 /usr/los178/3.0.0/ppc_dev/usr/include/sys/param.h:21:2: warning: #warning Using <param.h> instead of <sys/param.h>
188 3445 /usr/los178/3.0.0/ppc_dev/usr/include/sys/param.h:21:2: warning: #warning Using <param.h> instead of <sys/param.h>
189 3446 /usr/los178/3.0.0/ppc_dev/usr/include/sys/param.h:21:2: warning: #warning Using <param.h> instead of <sys/param.h>
190 3447 /usr/los178/3.0.0/ppc_dev/usr/include/sys/param.h:21:2: warning: #warning Using <param.h> instead of <sys/param.h>
191 3448 /usr/los178/3.0.0/ppc_dev/usr/include/sys/param.h:21:2: warning: #warning Using <param.h> instead of <sys/param.h>
192 3449 /usr/los178/3.0.0/ppc_dev/usr/include/sys/param.h:21:2: warning: #warning Using <param.h> instead of <sys/param.h>
193 3450 /usr/los178/3.0.0/ppc_dev/usr/include/sys/uio.h:21:2: warning: #warning Using <uio.h> instead of <sys/uio.h>
194 3451 /usr/los178/3.0.0/ppc_dev/usr/include/sys/param.h:21:2: warning: #warning Using <param.h> instead of <sys/param.h>
195 3452 /usr/los178/3.0.0/ppc_dev/usr/include/cdefs.h:21:2: warning: #warning Using <sys/cdefs.h> instead of <cdefs.h>
196 3453 /usr/los178/3.0.0/ppc_dev/usr/include/cdefs.h:21:2: warning: #warning Using <sys/cdefs.h> instead of <cdefs.h>
197 ----------------------------------------------------------------------
201 <nav class="page-navigation entry-navigation pagination content-nav">
202 <ul class="page-navigation-list">
204 <li class="page-navigation-list-item page-navigation-prev"><a rel="prev" href="http://defaria.com/blogs/Status/2005/07/cvs-adm-web-app-6.html" title="CVS Adm Web App Prototype">Previous entry</a></li>
207 <li class="page-navigation-list-item page-navigation-next"><a rel="next" href="http://defaria.com/blogs/Status/2005/07/verifycrs.html" title="verifycrs">Next entry</a></li>
212 <aside id="zenback" class="zenback feedback">
213 Please paste Zenback script code here.
220 <aside class="widgets related" role="complementary">
221 <nav class="widget-search widget">
222 <div class="widget-content">
223 <form method="get" id="search" action="http://defaria.com/mt/mt-search.cgi">
225 <input type="text" name="search" value="" placeholder="Search...">
227 <input type="hidden" name="IncludeBlogs" value="8">
229 <input type="hidden" name="limit" value="20">
230 <button type="submit" name="button">
231 <img alt="Search" src="/mt/mt-static/support/theme_static/rainier/img/search-icon.png">
237 <nav class="widget-archive-category widget">
238 <h3 class="widget-header">Categories</h3>
239 <div class="widget-content">
242 <ul class="widget-list">
245 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/ameriquest/">Ameriquest (99)</a>
253 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/audience/">Audience (3)</a>
261 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/broadcom/">Broadcom (76)</a>
269 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/gpdb/">GPDB (35)</a>
277 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/general-dynamics/">General Dynamics (61)</a>
285 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/general-electric/">General Electric (13)</a>
293 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/hewlett-packard/">Hewlett Packard (13)</a>
301 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/lynuxworks/">LynuxWorks (162)</a>
309 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/pqa/">PQA (35)</a>
317 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/salira/">Salira (79)</a>
325 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/tellabs/">Tellabs (2)</a>
333 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/texas-instruments/">Texas Instruments (31)</a>
345 <nav class="widget-archive-dropdown widget">
346 <h3 class="widget-header">Archives</h3>
347 <div class="widget-content">
349 <option>Select a Month...</option>
351 <option value="http://defaria.com/blogs/Status/2016/02/">February 2016</option>
355 <option value="http://defaria.com/blogs/Status/2014/09/">September 2014</option>
359 <option value="http://defaria.com/blogs/Status/2014/04/">April 2014</option>
363 <option value="http://defaria.com/blogs/Status/2014/03/">March 2014</option>
367 <option value="http://defaria.com/blogs/Status/2013/02/">February 2013</option>
371 <option value="http://defaria.com/blogs/Status/2012/09/">September 2012</option>
375 <option value="http://defaria.com/blogs/Status/2012/08/">August 2012</option>
379 <option value="http://defaria.com/blogs/Status/2012/05/">May 2012</option>
383 <option value="http://defaria.com/blogs/Status/2012/04/">April 2012</option>
387 <option value="http://defaria.com/blogs/Status/2012/02/">February 2012</option>
391 <option value="http://defaria.com/blogs/Status/2012/01/">January 2012</option>
395 <option value="http://defaria.com/blogs/Status/2011/10/">October 2011</option>
399 <option value="http://defaria.com/blogs/Status/2011/07/">July 2011</option>
403 <option value="http://defaria.com/blogs/Status/2010/09/">September 2010</option>
407 <option value="http://defaria.com/blogs/Status/2010/08/">August 2010</option>
411 <option value="http://defaria.com/blogs/Status/2010/04/">April 2010</option>
415 <option value="http://defaria.com/blogs/Status/2010/03/">March 2010</option>
419 <option value="http://defaria.com/blogs/Status/2010/02/">February 2010</option>
423 <option value="http://defaria.com/blogs/Status/2009/05/">May 2009</option>
427 <option value="http://defaria.com/blogs/Status/2009/04/">April 2009</option>
431 <option value="http://defaria.com/blogs/Status/2008/07/">July 2008</option>
435 <option value="http://defaria.com/blogs/Status/2008/05/">May 2008</option>
439 <option value="http://defaria.com/blogs/Status/2008/04/">April 2008</option>
443 <option value="http://defaria.com/blogs/Status/2008/03/">March 2008</option>
447 <option value="http://defaria.com/blogs/Status/2008/02/">February 2008</option>
451 <option value="http://defaria.com/blogs/Status/2008/01/">January 2008</option>
455 <option value="http://defaria.com/blogs/Status/2007/12/">December 2007</option>
459 <option value="http://defaria.com/blogs/Status/2007/11/">November 2007</option>
463 <option value="http://defaria.com/blogs/Status/2007/10/">October 2007</option>
467 <option value="http://defaria.com/blogs/Status/2007/09/">September 2007</option>
471 <option value="http://defaria.com/blogs/Status/2007/08/">August 2007</option>
475 <option value="http://defaria.com/blogs/Status/2007/07/">July 2007</option>
479 <option value="http://defaria.com/blogs/Status/2007/06/">June 2007</option>
483 <option value="http://defaria.com/blogs/Status/2007/05/">May 2007</option>
487 <option value="http://defaria.com/blogs/Status/2007/04/">April 2007</option>
491 <option value="http://defaria.com/blogs/Status/2007/03/">March 2007</option>
495 <option value="http://defaria.com/blogs/Status/2007/01/">January 2007</option>
499 <option value="http://defaria.com/blogs/Status/2006/12/">December 2006</option>
503 <option value="http://defaria.com/blogs/Status/2006/11/">November 2006</option>
507 <option value="http://defaria.com/blogs/Status/2006/10/">October 2006</option>
511 <option value="http://defaria.com/blogs/Status/2006/09/">September 2006</option>
515 <option value="http://defaria.com/blogs/Status/2006/07/">July 2006</option>
519 <option value="http://defaria.com/blogs/Status/2006/06/">June 2006</option>
523 <option value="http://defaria.com/blogs/Status/2006/05/">May 2006</option>
527 <option value="http://defaria.com/blogs/Status/2006/04/">April 2006</option>
531 <option value="http://defaria.com/blogs/Status/2006/03/">March 2006</option>
535 <option value="http://defaria.com/blogs/Status/2006/02/">February 2006</option>
539 <option value="http://defaria.com/blogs/Status/2006/01/">January 2006</option>
543 <option value="http://defaria.com/blogs/Status/2005/12/">December 2005</option>
547 <option value="http://defaria.com/blogs/Status/2005/11/">November 2005</option>
551 <option value="http://defaria.com/blogs/Status/2005/10/">October 2005</option>
555 <option value="http://defaria.com/blogs/Status/2005/09/">September 2005</option>
559 <option value="http://defaria.com/blogs/Status/2005/08/">August 2005</option>
563 <option value="http://defaria.com/blogs/Status/2005/07/">July 2005</option>
567 <option value="http://defaria.com/blogs/Status/2005/06/">June 2005</option>
571 <option value="http://defaria.com/blogs/Status/2005/05/">May 2005</option>
575 <option value="http://defaria.com/blogs/Status/2005/04/">April 2005</option>
579 <option value="http://defaria.com/blogs/Status/2005/03/">March 2005</option>
583 <option value="http://defaria.com/blogs/Status/2005/02/">February 2005</option>
587 <option value="http://defaria.com/blogs/Status/2005/01/">January 2005</option>
591 <option value="http://defaria.com/blogs/Status/2004/12/">December 2004</option>
595 <option value="http://defaria.com/blogs/Status/2004/09/">September 2004</option>
599 <option value="http://defaria.com/blogs/Status/2004/08/">August 2004</option>
603 <option value="http://defaria.com/blogs/Status/2004/07/">July 2004</option>
607 <option value="http://defaria.com/blogs/Status/2004/06/">June 2004</option>
611 <option value="http://defaria.com/blogs/Status/2004/05/">May 2004</option>
615 <option value="http://defaria.com/blogs/Status/2004/04/">April 2004</option>
619 <option value="http://defaria.com/blogs/Status/2004/03/">March 2004</option>
623 <option value="http://defaria.com/blogs/Status/2004/02/">February 2004</option>
627 <option value="http://defaria.com/blogs/Status/2004/01/">January 2004</option>
631 <option value="http://defaria.com/blogs/Status/2003/12/">December 2003</option>
635 <option value="http://defaria.com/blogs/Status/2003/11/">November 2003</option>
643 <div class="widget-syndication widget section">
644 <div class="widget-content">
645 <p><img src="http://defaria.com/mt/mt-static/images/status_icons/feed.gif" alt="Subscribe to feed" width="9" height="9" /> <a href="http://defaria.com/blogs/Status/atom.xml">Subscribe to this blog's feed</a></p>
653 <footer id="footer" role="contentinfo">
654 <div id="footer-inner">
655 <div id="footer-content">
656 <nav role="navigation">
658 <li><a href="http://defaria.com/blogs/Status/">Home</a></li>
664 <p class="license">© Copyright 2016.</p>
665 <p class="poweredby">Powered by <a href="http://www.movabletype.org/">Movable Type</a></p>
671 <script src="http://defaria.com/mt/mt-static/jquery/jquery.min.js"></script>
672 <script src="http://defaria.com/blogs/Status/mt-theme-scale2.js"></script>