1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" id="sixapart-standard">
5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6 <meta name="generator" content="Movable Type 5.2.3" />
8 <link rel="stylesheet" href="http://defaria.com/blogs/Status/styles-site.css" type="text/css" />
9 <link rel="alternate" type="application/atom+xml" title="Atom" href="http://defaria.com/blogs/Status/atom.xml" />
10 <link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="http://defaria.com/blogs/Status/index.xml"$>" />
12 <title>Status for Andrew DeFaria: January 2005 Archives</title>
14 <link rel="start" href="http://defaria.com/blogs/Status/" title="Home" />
15 <link rel="prev" href="http://defaria.com/blogs/Status/archives/2004_12.html" title="December 2004" />
16 <link rel="next" href="http://defaria.com/blogs/Status/archives/2005_02.html" title="February 2005" />
18 <body class="layout-one-column">
20 <div id="container-inner" class="pkg">
23 <div id="banner-inner" class="pkg">
24 <h1 id="banner-header"><a href="http://defaria.com/blogs/Status/" accesskey="1">Status for Andrew DeFaria</a></h1>
25 <h2 id="banner-description">Searchable status reports and work log</h2>
30 <div id="pagebody-inner" class="pkg">
32 <div id="alpha-inner" class="pkg">
34 <p class="content-nav">
35 <a href="http://defaria.com/blogs/Status/archives/2004_12.html">« December 2004</a> |
36 <a href="http://defaria.com/blogs/Status/">Main</a>
37 | <a href="http://defaria.com/blogs/Status/archives/2005_02.html">February 2005 »</a>
43 <h2 class="date-header">January 31, 2005</h2>
45 <div class="entry" id="entry-292">
46 <h3 class="entry-header">1/31</h3>
47 <div class="entry-content">
48 <div class="entry-body">
50 <li>Added html capability to cvs_report.pl</li>
53 <p class="entry-footer">
54 <span class="post-footers">Posted by at 4:48 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000292.html">Permalink</a>
64 <h2 class="date-header">January 28, 2005</h2>
66 <div class="entry" id="entry-290">
67 <h3 class="entry-header">CVS corruption</h3>
68 <div class="entry-content">
69 <div class="entry-body">
70 <p>Vinnie pointed out that there was some sort of problem with CVS on Monday, the date that I had gotten the sources out of CVS. Ends up some files were missing so I had to redo the PPC cross build.</p>
72 <p class="entry-footer">
73 <span class="post-footers">Posted by at 3:47 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000290.html">Permalink</a>
83 <h2 class="date-header">January 27, 2005</h2>
85 <div class="entry" id="entry-289">
86 <h3 class="entry-header">cvs_report.pl</h3>
87 <div class="entry-content">
88 <div class="entry-body">
89 <p>I've updated cvs_report.pl to be more parameterized and flexible. One goal was to make it smart enough to produce a report showing the ECRs between two labels. This is helpful when one wants to get the ECRs that were picked up in this build.</p>
92 <p>Here's the usage:</p>
94 <div class="code"><pre>
96 Usage: cvs_report.pl [-u] [-email-to <<i>list</i>>] [-email-cc <<i>list</i>>]
97 -from <<i>tag</i>> -to <<i>tag</i>> -m <<i>cvs_module</i>>
102 -email-to: Comma separated list of email addresses
103 to send the report to (Default: Report sent to STDOUT)
104 -email-cc: Comma separated list of email addresses
106 -from: CVS tag used as the base (Default: Extracted from CVS
107 area - error if no CVS area)
108 -to: CVS tag used as the delta (Default: HEAD)
109 -m: CVS module to process
112 <p>Notice that there are options for -email-to and -email-cc. If no email options are specified then cvs_report just outputs the report to STDOUT. This can be used to capture what was picked up. For example, to pickup the ECRs that were incorporated between Lion_lynxos_120604 and Lion_lynxos_012405 one could:</p>
114 <div class="code"><pre>
115 $ cvs_report.pl -from Lion_lynxos_120405 -to Lion_lynxos_012405 -m lynxos > /tmp/ECRs.log
118 <p>Note that if -to is not specified then it defaults to HEAD. So the following cronjob could be configured:</p>
120 <div class="code"><pre>
121 * 4 * * * /it/bin/cvs_report.pl -email-to <<i>email alias</i>>
124 <p>(It would be best if email aliases were used to control who the report is normally sent to).</p>
126 <p>You may notice that there is no -from in the cronjob. This is possible because of another optimization change to cvs_report. The old cvs_report.pl would check out a module into a temporary directory based on a tag then do an update capturing and processing the output from cvs update as the files that have changed. Then it would remove that temporary area. This is a waste as the next night the CVS area is created again from the same -from or base tag. The new cvs_report will also create the temporary area by using $module.cvsr (e.g. lynxos.cvsr). Additionally it will create a file in $module.cvsr named .cvsr containing the -from tag. Subsequent runs of cvs_report without a -from will use the .cvsr file to ascertain what base level the CVS area is at. Thus it does not need to "refresh" the CVS area again and can instead proceed to the cvs update step. This saves several minutes of processing time.</p>
128 <p>Finally, even the cronjob does not need to ever be changed (except if we change the -email-to parameter, which, again, should be an email alias thus we would not change the cronjob rather we would change the email alias - think of people subscribing to receive the CVS report). When we go from Lion_lynxos_012405 -> the next tag all that need be done in a shell window is:</p>
130 <div class="code"><pre>
131 $ cvs_report.pl -from <<i>new tag</i>> -m lynxos
134 <p>Since -from is specified, cvs_report will refresh the lynxos.cvs area and update the .cvsr file to reflect the change. The nightly cronjob will automatically sense the change and just work!</p>
136 <p>Oh, and in passing, I make a change such that new files, files who were not present at the -from tag, are tagged with an "*" to indicate that this file is new file in CVS.</p>
139 <p class="entry-footer">
140 <span class="post-footers">Posted by at 4:11 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000289.html">Permalink</a>
150 <h2 class="date-header">January 26, 2005</h2>
152 <div class="entry" id="entry-288">
153 <h3 class="entry-header">Built 012405</h3>
154 <div class="entry-content">
155 <div class="entry-body">
157 <li>Built LynxOS 5.0.0 for x86 and ppc and archived that onto T3</li>
159 <li>Started altering cvs_report.pl to be parameterized and to allow a "CVS Report" from one label to another</li>
162 <p class="entry-footer">
163 <span class="post-footers">Posted by at 10:19 AM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000288.html">Permalink</a>
173 <h2 class="date-header">January 25, 2005</h2>
175 <div class="entry" id="entry-287">
176 <h3 class="entry-header">PPC Build & Documentation</h3>
177 <div class="entry-content">
178 <div class="entry-body">
180 <li>Decided to also build Cross PPC on the Lion_lynxos_012405 tag</li>
182 <li>Many documentation updates</li>
185 <p class="entry-footer">
186 <span class="post-footers">Posted by at 5:30 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000287.html">Permalink</a>
196 <h2 class="date-header">January 24, 2005</h2>
198 <div class="entry" id="entry-286">
199 <h3 class="entry-header">Building & tagging TOT/X86</h3>
200 <div class="entry-content">
201 <div class="entry-body">
203 <li>Checked out TOT into work_area and tagged it</li>
205 <li>Documented the tagging procedure</li>
207 <li>Proceeding with cross LynxOS instructions - ran out of space</li>
209 <li>Documentation review</li>
212 <p class="entry-footer">
213 <span class="post-footers">Posted by at 3:02 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000286.html">Permalink</a>
223 <h2 class="date-header">January 21, 2005</h2>
225 <div class="entry" id="entry-285">
226 <h3 class="entry-header">Redoing PPC build</h3>
227 <div class="entry-content">
228 <div class="entry-body">
230 <li>Recreated LynxOS on PPC machine from scratch</li>
232 <li>Rebuilding toolchain</li>
235 <p>The LynxOS I put on t-mcpn765-1 was suspect as I had untarred a couple of different X/Motifs onto the root file system and the toolchain build was failing anyway. This was a good opportunity to redo this and make sure my documentation was correct.</p>
237 <p><b>Note:</b> For this building of the toolchain I used the 20210.xfree.tar.gz for the first time</p>
239 <p>To build the toolchain I did the following (note that I had already got a copy of the toolchain src and unpacked it onto the k partition):</p>
241 <div class="code"><pre>
244 Setup : ENV_PREFIX is an environment variable that points to
245 : the root of the build/release directory. The ENVIRONMENT
246 : file is found as $ENV_PREFIX/ENVIRONMENT.
247 : Set ENV_PREFIX to /? [y]
249 Target : Please specify the target
250 (ppc, x86, arm or mips) : ppc
254 # ulimit -s 1000000 -d 1000000
255 # mount /dev/sdncr.0k /mnt
256 # cd /mnt/toolchain/3.2.2/010405/
258 Makefile fixup.sh* src/
259 build-powerpc/ install.log stamp-configure-powerpc
261 rm -rf {build,install,stamp-*}-powerpc
264 + touch texinfo/intl/plural.c
265 + touch libgui/library/tclIndex
266 + find . -name aclocal.m4 -exec touch '{}' ';'
267 + find . '(' -name config.in -o -name config.h.in ')' -exec touch '{}' ';'
268 + find . '(' -name Makefile.in -o -name stamp-h.in ')' -exec touch '{}' ';'
269 + find . -name configure -exec touch '{}' ';'
270 # make install > install.log 2>&1 &
273 <p class="entry-footer">
274 <span class="post-footers">Posted by at 10:14 AM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000285.html">Permalink</a>
284 <h2 class="date-header">January 20, 2005</h2>
286 <div class="entry" id="entry-284">
287 <h3 class="entry-header">Building Native PPC Toolchain</h3>
288 <div class="entry-content">
289 <div class="entry-body">
290 <p>Thu helped me recover from the makeboot -r 0,48 preboot. This LynxOS 5.0.0 has not networking so I booted back up to the b partition (LynxOS 4.0.0) and mounted the c partition. Next I got X/Motif from t3:/export/dev_archive/lynxos/xmotif/032504 (note that this tarball was named 20010.xfree86.tar.gz) and unpacked it onto the c partition. It is important that XFree is unpacked into the partition and root diretory where LynxOS is.</p>
292 <p>I had already copied toolchain-src.tar.gz over to the k partition and unpacked under toolchain/3.2.2/010405</p>
294 <p>Next boot up back to the 5 partition and mount the k partition. SETUP.bash for "/" then go to toolchain/3.2.2/010405 and make install...</p>
296 <p class="entry-footer">
297 <span class="post-footers">Posted by at 11:52 AM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000284.html">Permalink</a>
307 <h2 class="date-header">January 19, 2005</h2>
309 <div class="entry" id="entry-283">
310 <h3 class="entry-header">Loading LynxOS Manually</h3>
311 <div class="entry-content">
312 <div class="entry-body">
313 <p>Attempting to learn and document how to load the LynxOS manually. Normally the int_tools handles this process but occasionally we need to do this by hand.</p>
315 <p>Messed up by not following all the required steps. Had to get a CD from Hardev in order to get past a preboot problem. Managed to do that.</p>
317 <p>The instructions I was given to follow for manually loading LynxOS were x86 based. I am expected to translate that to PPC. In any event, the makeboot -r 0,48 preboot is wrong for this PPC machine. This has caused me to have an unbootable system once again. How does one know what numbers to use for a given system?</p>
319 <p class="entry-footer">
320 <span class="post-footers">Posted by at 6:00 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000283.html">Permalink</a>
332 <div class="entry" id="entry-282">
333 <h3 class="entry-header">Documentation Review</h3>
334 <div class="entry-content">
335 <div class="entry-body">
336 <p>Reviewed documentation I've written so far, mostly just Cross LynxOS build. Several suggestions were made and being implemented.</p>
338 <p class="entry-footer">
339 <span class="post-footers">Posted by at 5:56 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000282.html">Permalink</a>
349 <h2 class="date-header">January 18, 2005</h2>
351 <div class="entry" id="entry-281">
352 <h3 class="entry-header">Continuing Native PPC toolchain build</h3>
353 <div class="entry-content">
354 <div class="entry-body">
356 <li>Performed rsync process to get cross built PPC LynxOS over to T3's archive</li>
358 <li>Attempting to "load the 5.0.0 TOT build" onto t-mcpn765-1</li>
360 <li>Started documenting the <a href="http://saturn.lynx.com/build/manual_load.php">Manual OS Load</a> process</li>.
363 <p>Thu's notes simply said "/dev/sdncr.0c -> load the 5.00. tot build". I was not sure how to do this. I did notice that I had never rynced my last PPC LynxOS build over to the T3 area so I did that. Still I'mnot sure how to "load the 5.0.0 tot build" onto a machine. My guess is:</p>
366 <li>Perform rsync process to sync up the build from dopey:/usr/lynx/dopey/LYNXOS_500/archive/lynxos/120406-C -> t3:/export/dev_archive/lynxos/archive-5.0.0/120604-C</li>
368 <li>rcp 20000.devos.tar.gz (?) and 20029.bsp_mcpn765.tar.gz (others?) from t3:/export/dev_archive/lynxos/archive-5.0.0/120604-C/media/ppc to t-mcpn765-1:/ (which is currently /dev/sdncr.0c)</li>
370 <li>Unpack those tarballs into /</li>
375 <p>My fear is that the devos will not fix and/or I need other tarballs than just 20029.bsp_mcpn765.tar.gz. Also, just laying this on top of root seems wrong, what happens to the old 4.0.0 stuff?</p>
377 <p>The above is not really true. The process of manually loading and OS is more complex. It is codified into various expect script and detailed in "install logs" which appear under int_tools/INSTALL_LOG. Worked on documenting this manual OS load.</p>
380 <p class="entry-footer">
381 <span class="post-footers">Posted by at 2:22 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000281.html">Permalink</a>
391 <h2 class="date-header">January 13, 2005</h2>
393 <div class="entry" id="entry-280">
394 <h3 class="entry-header">Native PPC toolchain build</h3>
395 <div class="entry-content">
396 <div class="entry-body">
398 <li>Attempting to build PPC toolchain natively</li>
401 <p>Although some errors persisted in the 120604-C build I decided it was time to at least try a native PPC build of the toolchain. The problem here is the PPC machine that I was told to use, t-mcpn765-1, is a LynxOS 4.0.0 machine! I don't think I'm supposed to try to build a 3.2.2 toolchain for 4.0.0.</p>
403 <p>Additionally, I've never built the toolchain natively on a PPC machine before. Previously, when building the toolchain natively, one needed to extract things like X/Motif (according to my instructions - which may very well be off base - why would we need X/Motif to build a compiler?!?) and devos (I think). Where do I get such things?</p>
405 <p>Additionally, t-mcpn765-1 doesn't have enough disk space.</p>
407 <p class="entry-footer">
408 <span class="post-footers">Posted by at 4:48 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000280.html">Permalink</a>
420 <div class="entry" id="entry-279">
421 <h3 class="entry-header">Disk space problems & int_tools checkout</h3>
422 <div class="entry-content">
423 <div class="entry-body">
425 <li>Rebuilt PPC cross toolchain from 120604-B</li>
427 <li>Attempted to build 120604-C but ran out of diskspace on Dopey</li>
429 <li>Discovered source of problem with toolchain tarball naming inconsistenies</li>
432 <h3>Rebuilding of cross toolchain from 120604-B</h3>
434 <p>After building LynxOS 120604-B and only receiving a few errors about (see previous days entry) I decided to attempt to rebuild the toolchain again. This seemed to work OK!</p>
436 <h3>Building LynxOS 120604-C</h3>
438 <p>With the toolchain rebuilt I went to rebuild LynxOS 120604-C. At this point Dopey ran out of disk space. I moved the 120604-A subdirectory over to /export/build2/defaria temporarily because that filesystem had much more space.</p>
440 <h3>Toolchain tarball naming change</h3>
442 <h4>AKA, why one should always cvs checkout int_tools instead of just copying it</h4>
444 <p>There's been this nagging problem of int_tools not being able to find the proper toolchain tarball to install compilers. This we due to the fact that I've been copying int_tools from 120604-A -> 120604-B -> 120406-C. Well names have changed but the copies of int_tools didn't reflect that change! Plus, for some reason, somebody hand fixed 120604-B but 120604-C and -A had been refreshed from CVS. Moral of this story is to always use cvs checkout to get a fresh copy of int_tools.</p>
447 <p><b>Note:</b> This underscores one of the things that I do not like in CVS, that being the tendency of making many copies of what's in CVS due to it's snapshot view/sandbox like methodology. It's easy to see where one might create a 120604-C/int_tools directory via a cvs checkout int_tools and that int_tools be different than 120604-B and 120604-C's copies. If one then needs to make a change to int_tools and this change should apply to the -B and -C areas as well then one needs to remember about the -B and -C areas and remember to update them as well. This is a common problem with a snapshot/sandbox philosophy. Nevermind that it's wasteful to have so many multiple copies of essentially the same thing - wasteful in terms of diskspace and prone to misunderstanding and human error.</p>
450 <p class="entry-footer">
451 <span class="post-footers">Posted by at 2:54 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000279.html">Permalink</a>
461 <h2 class="date-header">January 12, 2005</h2>
463 <div class="entry" id="entry-278">
464 <h3 class="entry-header">PPC Builds</h3>
465 <div class="entry-content">
466 <div class="entry-body">
468 <li>Built PPC Toolchain with 120604-A</li>
470 <li>Attempting to build 120604-B with this new toolchain</li>
473 <p>Adam helped me figure out that the reason that the toolchain was failing to build was because the ppc/lib directory in 120604-B didn't have the proper libraries. I proceeded to build the tookchain using 120604-A.</p>
475 <p>After successfully building the toolchain in 120604-A I proceeded to attempt to build LynxOS in 120604-B utilizing int_tools. The first problem that I had was that it attempts to install a compiler from DIR_PATH(compilers), which was set to 3.2.2-120604. But the toolchain I built for PPC was not there. Note that there was also a 3.2.2-122804 directory. I decided to use 3.2.2-122804 instead of 3.2.2-120604 and I scp'ed the toolchain I built over to that directory. The 3.2.2-122804 already had some toolchains in there but didn't have PPC toolchains.</p>
477 <p>After performing a make package for the toolchain I wound up with a toolchain-i686-pc-linux-gnu-powerpc.tar.gz. So I copied that over to 3.2.2-122804. But int_tools was looking for a toolchain-i-686-pc-linux-gnu-ppc.tar.gz. I solved this problem by symlinking. I also needed a toolchain-powerpc-lynx-lynxos-ppc.tar.gz or int_tools complained.</p>
479 <p>After fixing those problem I managed to build LynxOS but there were a few errors:</p>
481 <div class="code"><pre>
482 LOGS/makeall.log:make[5]: *** [/usr/lynx/5.0.0/ppc/sys/family.ppc/lib/libdrivers.a(flopdrvr.o)] Error 1
483 LOGS/makeall.log:make[4]: *** [/usr/lynx/5.0.0/ppc/sys/family.ppc/lib/libdrivers.mpc8260_vads.a(flash_mtd_vads.o)] Error 1
484 LOGS/makeall.log:make[3]: *** [common_all] Error 1
485 LOGS/makeall.log:make[4]: *** [/usr/lynx/5.0.0/ppc/sys/family.ppc/lib/libdrivers.rpxl823.a(flopdrvr.o)] Error 1
486 LOGS/makeall.log:make[4]: *** [/usr/lynx/5.0.0/ppc/sys/family.ppc/lib/libdrivers.vmpc.a(flopdrvr.o)] Error 1
487 LOGS/makeall.log:make[4]: *** [/usr/lynx/5.0.0/ppc/sys/family.ppc/lib/libdrivers.vmpc.a(if_dec21040.o)] Error 1
490 <p>There are also some errors in demo.log.</p>
492 <p>Are these reasonable errors? Should I go one to attempt to build the PPC toolchain again using this LynxOS?</p>
494 <p class="entry-footer">
495 <span class="post-footers">Posted by at 3:11 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000278.html">Permalink</a>
505 <h2 class="date-header">January 11, 2005</h2>
507 <div class="entry" id="entry-277">
508 <h3 class="entry-header">PPC Toolchain build</h3>
509 <div class="entry-content">
510 <div class="entry-body">
512 <li>Restarted building PPC toolchain cross</li>
515 <p>Adam correctly pointed out that 120604-B had relatively nothing in $ENV_PREFIX/lib. I don't know what that's so empty but 120604-A had a more full $ENV_PREFIX/lib so we switched over to using that.</p>
517 <p class="entry-footer">
518 <span class="post-footers">Posted by at 5:33 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000277.html">Permalink</a>
530 <div class="entry" id="entry-276">
531 <h3 class="entry-header">The Mysterious RSync Process</h3>
532 <div class="entry-content">
533 <div class="entry-body">
535 <li>Documented the rsync process</li>
537 <li>Documented the <i>Dopey Archives</i></li>
540 <p>The mysterious rsync process has been found! Apparently the int_tools START process cannot write directly to T3's dev_archive area. So, instead it puts it to DIR_PATH(archive) which needs to reside on dopey and then an rsync script, in ~int/toosl/rsync_500.sh, to copy the files over to the official dev_archive area on T3</p>
542 <p>The psuedo archives, AKA <i>The Dopey Archvies</i> are pointed to by DIR_PATH(archive), typically at /export/build1/LYNXOS_500/archive.</p>
544 <p class="entry-footer">
545 <span class="post-footers">Posted by at 4:13 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000276.html">Permalink</a>
555 <h2 class="date-header">January 10, 2005</h2>
557 <div class="entry" id="entry-275">
558 <h3 class="entry-header">Documentation</h3>
559 <div class="entry-content">
560 <div class="entry-body">
561 <p>Added more structure to the documentation by including things I've developed at home with PHP. Mainly added a menu on the left hand side so as to allow easier navigation of the pages.</p>
563 <p class="entry-footer">
564 <span class="post-footers">Posted by at 5:05 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000275.html">Permalink</a>
576 <div class="entry" id="entry-274">
577 <h3 class="entry-header">TOT Build succeeds</h3>
578 <div class="entry-content">
579 <div class="entry-body">
580 <p>After Moscow fixed the atoi error I believe that the TOT build succeeded!</p>
582 <p>How does one determine if a build it successful? I ask because sometimes some errors are considered OK. But I don't know how to determine whether an error is acceptable or not. Here's the errors that I'm getting in the TOT build after Moscow has fixed the atoi error:</p>
584 <div class="code"><pre>
585 LOGS/demo.log:make[1]: *** [hello_world] Error 1
586 LOGS/demo.log:make[3]: *** [demo] Error 1
587 LOGS/demo.log:make[2]: *** [demo/demo] Error 2
588 LOGS/demo.log:make[1]: *** [local] Error 2
589 LOGS/demo.log:make[1]: *** [hello_world] Error 1
590 LOGS/demo.log:make[3]: *** [demo] Error 1
591 LOGS/demo.log:make[2]: *** [demo/demo] Error 2
592 LOGS/demo.log:make[1]: *** [local] Error 2
593 LOGS/makeall.log:make[2]: *** No rule to make target `install'. Stop.
594 LOGS/makeall.log:make[2]: *** No rule to make target `install'. Stop.
595 LOGS/makeall.log:make[2]: *** No rule to make target `install'. Stop.
596 LOGS/makeall.log:make[2]: *** No rule to make target `install'. Stop.
597 LOGS/makeall.log:make[2]: *** No rule to make target `install'. Stop.
598 LOGS/makeall.log:make[2]: *** No rule to make target `install'. Stop.
599 LOGS/makeall.log:make[2]: *** No rule to make target `install'. Stop.
600 LOGS/makeall.log:make[2]: *** No rule to make target `install'. Stop.
601 LOGS/makeall.log:make[2]: *** No rule to make target `install'. Stop.
602 LOGS/makeall.log:make[2]: *** [rkjump.o] Error 127
603 LOGS/makeall.log:make[2]: *** No rule to make target `install'. Stop.
606 <p>I figure the demo.log errors may be acceptable and I remember the [rkjump.o] error. But are those "No rule to make target 'install'"'s OK?</p>
608 <p class="entry-footer">
609 <span class="post-footers">Posted by at 11:51 AM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000274.html">Permalink</a>
619 <h2 class="date-header">January 7, 2005</h2>
621 <div class="entry" id="entry-273">
622 <h3 class="entry-header">ecrdesc</h3>
623 <div class="entry-content">
624 <div class="entry-body">
625 <p>Well I played around with this a little more and came up with a Perl script that will dump ECR descriptions fairly easy. From what I understand that's mostly what we want access to from a Linux box (though I could envision wanting other things perhaps in the future). The problem as I see it is that this script will only run on lynx12. It should be runnable from any machine really however you would need to install the DBD module for Informix for Perl access. Unfortunately this requires at least an Informix Client SDK and that's not free! :-(</p>
627 <p>Here's the simple script (currently at lynx12:/tmp/ecrdesc.pl):</p>
629 <div class="code"><pre>
631 ################################################################################
634 # Description: This script will dump out the description for the ECR #(s)
636 # Author: Andrew@DeFaria.com
637 # Created: Fri Jan 7 15:35:13 PST 2005
640 # (c) Copyright 2005, LynxWorks Inc., all rights reserved
642 ################################################################################
649 # Called when a database error has occurred
652 my $statement = shift;
654 print $msg . "\nError #" . $DB->err . " " . $DB->errstr . "\n";
656 if (defined $statement) {
657 print "SQL Statement: $statement\n";
663 # Connect to database. Note this is using anonymous access (read only)
664 $DB = DBI->connect("DBI:Informix:lynxmigr1")
665 or DBError "Unable to open database";
667 # Loop through ECR #s from the command line
668 foreach my $ecr (@ARGV) {
669 print "ECR #: $ecr\n";
671 my $statement = "select description from defect where pkey=\"$ecr\"";
672 my $sth = $DB->prepare ($statement)
673 or DBError "Unable to prepare statement", $statement;
676 or DBError "Unable to execute statement", $statement;
678 # Defect records are unique per pkey (AKA ECR) there for there will
679 # only be one entry in @row. Also the description is returned as one
681 my @row = $sth->fetchrow_array;
684 # @row is empty if there was no ECR by that number
685 print "Nothing found!\n";
688 print "Description:\n" . "-" x 80 . "\n" . $desc . "\n" . "-" x 80 . "\n";
697 <p class="entry-footer">
698 <span class="post-footers">Posted by at 4:03 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000273.html">Permalink</a>
708 <h2 class="date-header">January 6, 2005</h2>
710 <div class="entry" id="entry-272">
711 <h3 class="entry-header">Files4ecr</h3>
712 <div class="entry-content">
713 <div class="entry-body">
716 <li>Finished up files4ecr</li>
718 <li>PPC toolchain build W/23084 is failing</li>
724 <p>From the <a href="news:gnu.cvs.help">gnu.cvs.help</a> newsgroup I learned that doing a cvs log of everything then grepping through that is <b>much</b> faster than interrogating each file with cvs log. I then reorganized files4ecr to work in the following manner:</p>
726 <p>It occurred to me that often we wish to know, or pull, the file
727 revision associated with an ECR #. I've created a script called
728 files4ecr that accomplishes this:</p
730 <div class="code"><pre>
731 <font color="#3333ff">saturn:</font><u>files4ecr-u</u>
732 Usage: files4ecr [-v] [-d] [-l] [-x] [-u] <ecr>
736 -v: Turn on verbose mode (Default: off)
737 -d: Turn on debug mode (Default: off)
738 -l: Local directory only, no recursion
739 -x: Turn on execute mode (Default: off)
741 ecr ECR number to search for
745 <p>The performance for this script is pretty good, depending on the amount of information in the CVS logs. Here's an example of it's usage:</p>
747 <div class="code"><pre>
748 <font color="#3333ff"><b>saturn:</b></font><u>files4ecr 20505</u>
749 SETUP.csh: 10.2 - Out of date
750 etc/tconfig: 10.2 - Already up to date
751 SETUP.bash: 10.6 - Out of date
752 etc/ttys-arm: 1.1 - Already up to date
753 Makefile: 10.13 - Out of date
756 <p>In noexecute mode it just displays the file and the revision of the
757 file associated with that ECR. The -l option is similar to cvs' -l option:</p>
759 <div class="code"><pre>
760 <font color="#3333ff">saturn:</font><u>files4ecr -l 20505</u>
761 SETUP.csh: 10.2 - Out of date
762 SETUP.bash: 10.6 - Out of date
763 Makefile: 10.13 - Out of date
766 <p>Also, like cvs, files4ecr operates in the current context and current
767 working directory.</p>
769 <p>With -x turned on files4ecr will perform the cvs update commands
770 necessary to "pull" the versions for the ECR:</p>
772 <div class="code"><pre>
773 <font color="#3333ff">saturn:</font><u>files4ecr -x 20505</u>
774 cvs update -r10.2 SETUP.csh - Updated
775 cvs update -r10.2 etc/tconfig - Already up to date
776 cvs update -r10.6 SETUP.bash - Updated
777 cvs update -r1.1 etc/ttys-arm - Already up to date
778 cvs update -r10.13 Makefile - Updated
781 <p>And we can see that the update has taken place:</p>
783 <div class="code"><pre>
784 <font color="#3333ff">saturn:</font><u>files4ecr 20505</u>
785 SETUP.csh: 10.2 - Already up to date
786 etc/tconfig: 10.2 - Already up to date
787 SETUP.bash: 10.6 - Already up to date
788 etc/ttys-arm: 1.1 - Already up to date
789 Makefile: 10.13 - Already up to date
792 <p>Anybody interested in such a script?</p>
794 <p><b>Note:</b> I've noticed that "ECR Number:" is not necessarily a
795 consistent indicator of an ECR number. I search for several strings:</p>
797 <div class="code"><pre>
798 /^ECR Number: (\d*)$/ or
804 <p>I've also noticed that a single ECR number may be attached to several revisions. files4ecr takes the latest revision in such cases.</p>
806 <h2>PPC toolchain build W/23084 is failing</h2>
808 <p>Preliminary investigation shows that while attempting to configure libiberty the build process is unable to use gcc to compile things. It seems to be lacking a crt1.o</p>
810 <p class="entry-footer">
811 <span class="post-footers">Posted by at 10:31 AM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000272.html">Permalink</a>
821 <h2 class="date-header">January 4, 2005</h2>
823 <div class="entry" id="entry-271">
824 <h3 class="entry-header">files4ecr.pl</h3>
825 <div class="entry-content">
826 <div class="entry-body">
827 <p>The algorithm that files4ecr.pl uses is indeed slow. Combing through lynxos looking for files involved in ECR 20591 took:</p>
840 <p class="entry-footer">
841 <span class="post-footers">Posted by at 5:43 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000271.html">Permalink</a>
853 <div class="entry" id="entry-270">
854 <h3 class="entry-header">Building Native Toolchain for PPC</h3>
855 <div class="entry-content">
856 <div class="entry-body">
857 <p>Here's the plan:</p>
861 <li>Build Toolchain with PPC fix ECR 23084</li>
863 <li>Build LynxOS with the new toolchain</li>
865 <li>Build Toolchain natively</li>
870 <h3>Toolchain build with PPC ECR 23084 fix</h3>
872 <p>Seems the individual files for this ECR have already been applied to the work area so I just need to build. Here what I did:</p>
876 <li>In <tt>dopey:/export/build1/LYNXOS_500/build/toolchain/3.2.2</tt> I created a directory named 010405 (for today's date).</li>
878 <li>Copied a Makefile from 121804/Makefile. With the toolchain all we need is a good make file, make sure that it's SRCDIR is correct (this one points to <tt>/export/build1/LYNXOS_500/work-area/toolchain/3.2.2/toolchain/src</tt>) and that you source <tt>SETUP.bash</tt> setting ENV_PREFIX and target properly (I used <tt>/export/build1/LYNXOS_500/build/lynxos/120604-B/ppc</tt> and, of course, PPC for a target)</li>
880 <li>Sourced SETUP.bash</li>
882 <li>Did <tt>make install > install.log 2>&1</tt></li>
886 <p class="entry-footer">
887 <span class="post-footers">Posted by at 5:08 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000270.html">Permalink</a>
899 <div class="entry" id="entry-269">
900 <h3 class="entry-header">TOT Build Failure</h3>
901 <div class="entry-content">
902 <div class="entry-body">
905 <li>Unable to build TOT due to error in definition of atoi</li>
909 <p>Is there a known problem with TOT build? Cause I'm getting an error saying essentially that "atoi is undefined".</p>
913 gcc -g -O2 -o named aclconf.o client.o config.o control.o controlconf.o interfac
914 emgr.o listenlist.o log.o logconf.o main.o notify.o query.o server.o sortlist.o
915 tkeyconf.o tsigconf.o update.o xfrout.o zoneconf.o lwaddr.o lwresd.o lwdclient.o
916 lwderror.o lwdgabn.o lwdgnba.o lwdgrbn.o lwdnoop.o lwsearch.o unix/os.o ../../
917 lib/lwres/liblwres.a ../../lib/dns/libdns.a ../../lib/isccfg/libisccfg.a ../..
918 /lib/isccc/libisccc.a ../../lib/isc/libisc.a -lnsl
919 /export/build1/LYNXOS_500/build/lynxos/120604-C/x86/lib/libnsl.a(getgrent.as.o):
920 In function `getgrent':
921 getgrent.as.o(.text+0xb4): undefined reference to `atoi'
922 /export/build1/LYNXOS_500/build/lynxos/120604-C/x86/lib/libnsl.a(getgrent.as.o):
923 In function `fgetgrent':
924 getgrent.as.o(.text+0x2b8): undefined reference to `atoi'
925 /export/build1/LYNXOS_500/build/lynxos/120604-C/x86/lib/libnsl.a(getpwent.as.o):
926 In function `getpwent':
927 getpwent.as.o(.text+0xb4): undefined reference to `atoi'
928 getpwent.as.o(.text+0xce): undefined reference to `atoi'
929 /export/build1/LYNXOS_500/build/lynxos/120604-C/x86/lib/libnsl.a(getpwent.as.o):
931 getpwent.as.o(.text+0x29e): undefined reference to `atoi'
932 /export/build1/LYNXOS_500/build/lynxos/120604-C/x86/lib/libnsl.a(getpwent.as.o)(
933 .text+0x34c): more undefined references to `atoi' follow
934 collect2: ld returned 1 exit status
935 make[4]: *** [named] Error 1
939 <p>It seems that the problem is in strtol.c version 10.2, which says that the definition was moved to stdlib.h, and stdlib.h appears to have it, yet the build fails anyway...</p>
941 <p>Looking at the compilation line for strtol.c I see it produces strtol.as.o, which in a previous successful build yeilds:</p>
956 <p>But in this build yeilds:</p>
971 <p>So how do we fix this error?</p>
973 <p class="entry-footer">
974 <span class="post-footers">Posted by at 11:03 AM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000269.html">Permalink</a>
984 <h2 class="date-header">January 3, 2005</h2>
986 <div class="entry" id="entry-268">
987 <h3 class="entry-header">files4ecr.pl/Building TOT as per instructions</h3>
988 <div class="entry-content">
989 <div class="entry-body">
992 <li>Worked on getting files4ecr.pl to work</li>
994 <li>Attempted to rebuild TOT using the documentation created so far as a guide. Ran out of disk space! :-(</li>
996 <li>More documentation of build/test/release process</li>
1000 <h3>files4ecr.pl</h3>
1002 <p>The daily CVS Checkin Log works by creating a temporary CVS area based on a tag then doing a cvs update capturing what files have changed. Those files are examined and a report is produced by ECR number.</p>
1004 <p>While this works fairly well and is relatively optimized (only working on the files that changed since the label) it may not be that accurate. It seems to assume that all files for an ECR are checked in together and on the same day. What if, for example, somebody checked in a file for an ECR days ago and it now checking in the rest of the work? The files reported for this ECR may be incomplete.</p>
1006 <p>Here's an example of where this happened. In today's CVS Checkin Log email the following files are listed as associated with ECR # 20591:<p>
1010 src/lib/libc/strto_int.c 10.2 zhuravle 2004/12/27 16:11:21
1011 src/lib/libc/strto_real.c 10.2 zhuravle 2004/12/27 16:09:47
1012 src/lib/libc/strto_real.h 10.2 zhuravle 2004/12/27 16:09:47
1013 src/lib/libc/strtod.c 10.4 zhuravle 2004/12/27 16:09:47
1014 src/lib/libc/strtof.c 10.2 zhuravle 2004/12/27 16:09:47
1015 src/lib/libc/strtoimax.c 10.2 zhuravle 2004/12/27 16:11:58
1016 src/lib/libc/strtol.c 10.2 zhuravle 2004/12/27 16:11:58
1017 src/lib/libc/strtold.c 10.2 zhuravle 2004/12/27 16:09:48
1018 src/lib/libc/strtoll.c 10.3 zhuravle 2004/12/27 16:11:58
1019 src/lib/libc/strtoul.c 10.2 zhuravle 2004/12/27 16:11:58
1020 src/lib/libc/strtoull.c 10.3 zhuravle 2004/12/27 16:11:58
1021 src/lib/libc/strtoumax.c 10.2 zhuravle 2004/12/27 16:11:58
1022 usr/include/rcsid.h 10.2 zhuravle 2004/12/27 15:57:50
1023 usr/include/stdlib.h 10.10 zhuravle 2004/12/27 16:07:26
1026 <p>Yet thoroughly scanning the CVS logs we find:</p>
1029 ECR Number: 20591 Nbr of files: 25
1031 Nbr Path/File Version Author Date
1032 --- ----------------------------------- ------- ----------- -------------------
1033 1 strtoull.c 10.3 zhuravle 2004/12/27 16:11:58
1034 2 strtoull.c 10.2 zhuravle 2004/10/22 12:04:48
1035 3 Makefile 10.18 zhuravle 2004/10/22 12:04:47
1036 4 strto_int.c 10.2 zhuravle 2004/12/27 16:11:21
1037 5 strto_int.c 10.1 zhuravle 2004/10/22 12:04:48
1038 6 strtold.c 10.2 zhuravle 2004/12/27 16:09:48
1039 7 strtold.c 10.1 zhuravle 2004/10/22 12:04:48
1040 8 strtoll.c 10.3 zhuravle 2004/12/27 16:11:58
1041 9 strtoll.c 10.2 zhuravle 2004/10/22 12:04:48
1042 10 strtoul.c 10.2 zhuravle 2004/12/27 16:11:58
1043 11 strtoul.c 10.1 zhuravle 2004/10/22 12:04:48
1044 12 strtoimax.c 10.2 zhuravle 2004/12/27 16:11:58
1045 13 strtoimax.c 10.1 zhuravle 2004/10/22 12:04:48
1046 14 strtoumax.c 10.2 zhuravle 2004/12/27 16:11:58
1047 15 strtoumax.c 10.1 zhuravle 2004/10/22 12:04:48
1048 16 strto_real.c 10.2 zhuravle 2004/12/27 16:09:47
1049 17 strto_real.c 10.1 zhuravle 2004/10/22 12:04:48
1050 18 strto_real.h 10.2 zhuravle 2004/12/27 16:09:47
1051 19 strto_real.h 10.1 zhuravle 2004/10/22 12:04:48
1052 20 strtod.c 10.4 zhuravle 2004/12/27 16:09:47
1053 21 strtod.c 10.3 zhuravle 2004/10/22 12:04:48
1054 22 strtof.c 10.2 zhuravle 2004/12/27 16:09:47
1055 23 strtof.c 10.1 zhuravle 2004/10/22 12:04:48
1056 24 strtol.c 10.2 zhuravle 2004/12/27 16:11:58
1057 25 strtol.c 10.1 zhuravle 2004/10/22 12:04:48
1061 <p>Now files4ecr.pl thoroughly checks all CVS logs (based on the paths it is givin that is) but this takes a <b>lot</b> of time.</p>
1063 <p>Note that Makefile is listed by files4ecr.pl but not in the daily CVS Checking Log. That's because Makefile was checked in with that ECR number a while ago. The daily CVS Checkin Log does not reflect this historical fact.</p>
1065 <p>Also note that ECR's unlike tags that can only exist on one revision, ECR numbers are just strings placed in the check in comment. Thus there is the possibility that they will exist on more than one revision (e.g. strtod.c versions 10.4 and 10.3). IOW checking in another version of a file and using the same ECR number will not remove the ECR number in the command of a previous version of the file!</p>
1067 <p class="entry-footer">
1068 <span class="post-footers">Posted by at 11:18 AM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000268.html">Permalink</a>