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: June 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/2005_05.html" title="May 2005" />
16 <link rel="next" href="http://defaria.com/blogs/Status/archives/2005_07.html" title="July 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/2005_05.html">« May 2005</a> |
36 <a href="http://defaria.com/blogs/Status/">Main</a>
37 | <a href="http://defaria.com/blogs/Status/archives/2005_07.html">July 2005 »</a>
43 <h2 class="date-header">June 30, 2005</h2>
45 <div class="entry" id="entry-379">
46 <h3 class="entry-header">Building CDK on Windows</h3>
47 <div class="entry-content">
48 <div class="entry-body">
50 <li>Investigated bug on Windows nmake of CDK</li>
52 <li>Fixed build_los178 to properly build LOS178 2.1</li>
55 <h3>Windows nmake bug for CDK build</h3>
57 <p>There is still something wrong. Here's what I did:</p>
60 <li>Obtained the following tarballs from the 20050628 archive:
62 <li>2000-00.los178_rsc_src.tar.gz</li>
64 <li>2001-00.los178_src.tar.gz</li>
66 <li>2013-00.los178_dev.tar.gz</li>
68 <li>2015-00.los178_rsc_dev.tar.gz</li>
70 <li>Unpacked those tarballs + ppc.cdkwin32.tar.gz into /tmp/los178</li>
72 <li>Setup my environment properly (this includes VCVARS32.bat)</li>
74 <li>cd'ed to src/cdk and performed make install > install.log 2>&1</li>
77 <p>I still have the error:</p>
79 <div class="code"><pre>
81 coff.c(87) : fatal error C1083: Cannot open include file: 'family/ppc/arch_mem.h': No such file or directory
82 NMAKE : fatal error U1077: 'cl.exe' : return code '0x2'
84 make[1]: *** [WIN32_VS_UTIL] Error 2
87 <p>It seems clear to me that the compiler cannot locate the include file family/ppc/arch_mem.h which does reside under $ENV_PREFIX/sys/include. Additionally it's clear that common/mkimage/Makefile was changed to append "-I$(ENV_PREFIX)/sys/include" to SPECIAL_CFLAGS to resolve this issue. However something on Windows (and Windows nmake) is causing this to remain a problem.</p>
89 <p>It seems that nmake eventually issues the following command to compile coff.c -> coff.o:</p>
91 <div class="code"><pre>
92 cl.exe /nologo /ML /W3 /GX /D "_WIN32_VS" /D "_CONSOLE" /D "WIN32" /D "_MBCS" /FD /c -c coff.c -D__powerpc__ /Fo"coff.o"
95 <p>Which, of course, doesn't seem to mention $ENV_PREFIX/sys/include at all. IOW the above results in:</p>
97 <div class="code"><pre>
98 cl.exe /nologo /ML /W3 /GX /D "_WIN32_VS" /D "_CONSOLE" /D "WIN32" /D "_MBCS" /FD /c -c coff.c -D__powerpc__ /Fo"coff.o"
100 coff.c(87) : fatal error C1083: Cannot open include file: 'family/ppc/arch_mem.h': No such file or directory
103 <p>While the following results in a successful compilation (with warnings):</p>
105 <div class="code"><pre>
106 cl.exe /nologo /ML /W3 /GX /D "_WIN32_VS" /D "_CONSOLE" /D "WIN32" /D "_MBCS" /FD /c -c coff.c -D__powerpc__ /Fo"coff.o" /I$ENV_PREFIX/sys/include
109 <p>The Makefile and Windows nmake are not arranging for SPECIAL_CFLAGS to be passed along to the compiler.</p>
111 <h3>Fix to build_los178</h3>
113 <p>The build_los178 script was having a problem building LOS178. It would fail in different ways than when done from the command line. I suspected the problem would be in the setup_bash function as it attempts to reproduce what a ". SETUP.bash" does inside the Perl environment. Turns out I was right. Changed that subroutine to properly set HOST_OS_REVISION (previously it had an extra carriage return from `uname -r`) and to add /usr/ucb to the PATH.</p>
115 <p class="entry-footer">
116 <span class="post-footers">Posted by at 10:21 AM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000379.html">Permalink</a>
126 <h2 class="date-header">June 28, 2005</h2>
128 <div class="entry" id="entry-378">
129 <h3 class="entry-header">Built LOS178 2.1.0 TOB</h3>
130 <div class="entry-content">
131 <div class="entry-body">
133 <li>Completed the build of LOS178 2.1.0 TOB and released it to t3:/export/dev_archive/los178/2p1p0/20050628</li>
135 <li>Updated cvs_report to not report duplicate entries. This can occur when somebody say checks in foo.c thus creating revision 1.2 for CR 40 and then checks in foo.c again, thus creating revision 1.3. Before cvs_report would report foo.c twice. Now it just reports the highest revision (e.g. 1.3).</li>
137 <li>Updated cvs_report to take another parameter, -cvsr, for a cvs report area. cvs_report uses this area in order to determine what to report. Contained in this area is a .cvsr file which holds the baseline tag. However if you want to report on both the main trunk and a branch then you can't use the same area. In the past cvs_report was oriented to using the module name for the area. Now you can specify an alternate area.</li>
140 <p class="entry-footer">
141 <span class="post-footers">Posted by at 2:32 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000378.html">Permalink</a>
151 <h2 class="date-header">June 23, 2005</h2>
153 <div class="entry" id="entry-377">
154 <h3 class="entry-header">Building CDK under Windows</h3>
155 <div class="entry-content">
156 <div class="entry-body">
158 <li>Build Windows version of the CDK</li>
160 <li>Submitted CR 659: cdk tool mkimage fails to build under Windows</li>
163 <h3>Building Windows CDK</h3>
165 <p>In order to build the CDK under Windows one must use an ancient version of Cygwin - B20 (it is assumed that that is already installed). Additionally one must perform certain actions in a certain order:</p>
168 <li>Obtain the latest versions of the following tar images from the archive area:
170 <li>2000-00.los178_rsc_src.tar.gz</li>
172 <li>2001-00.los178_src.tar.gz</li>
174 <li>2013-00.los178_dev.tar.gz</li>
176 <li>2015-00.los178_rsc_dev.tar.gz</li>
178 <li>(From cvs bin-image) ppc.cdkwin32.tar.gz</li>
182 <li>Create an area to do the build and extract the above into that area</li>
184 <li>Exit this bash shell</li>
186 <li>Start a cmd shell</li>
188 <li>Execute the VCVARS32.BAT file. This is normally found in C:\Program Files\Microsoft Visual Studio\VS98\Bin. Note that this implies that Visual Studio is also installed. Also, often people will copy this bat file to C:\ for easier execution. This bat file sets certain environment variables including PATH such that nmake can be found. Under Windows we lean on VS's nmake. Also, this must be done from a cmd shell before starting Cygwin so that the changes to the environment can be picked up. Why don't we just make a script or enhance SETUP.bash to take into account for this?</li>
190 <li>Start Cygwin using the appropriate cygnus.bat file. This was given to me by Moscow. Doesn't seem to do that much fancy stuff:
192 <div class="code"><pre>
194 SET TARGET_PATH=C:\LynuxWorks\2.0.0
199 set PATH=%TARGET_PATH%\bin;%TARGET_PATH%\usr\bin:%PATH%
201 echo "TARGET_PATH is %TARGET_PATH%
203 if not exist %TARGET_PATH%\bin\sh.exe goto error_no_sh
205 ver > %TARGET_PATH%\_tmp
209 echo "Installation Error -- no %TARGET_PATH%\bin\sh.exe found"
212 del %TARGET_PATH%\_tmp
217 <li>cd to the directory that you created to perform the build</li>
219 <li>Source SETUP.bash</li
221 <li>cd to src/cdk</li>
223 <li>make install > install.log 2>&1</li>
225 <li>Check install.log for errors</li>
228 <h3>CR 659: cdk tool mkimage fails to build under Windows</h3>
230 <p>Build of cdk tool mkimage files under Windows. This is a make install in src/cdk of LOS178. The specific error is:</p>
232 <div class="code"><pre>
235 coff.c(91) : fatal error C1083: Cannot open include file: 'family/ppc/arch_mem.h': No such file or directory
236 NMAKE : fatal error U1077: 'cl.exe' : return code '0x2'
238 make[1]: *** [WIN32_VS_UTIL] Error 2
241 <p>Problem seems to be that the fix for src/cdk/common/mkimage/Makefile in CR #539 of adding -I$(ENV_PREFIX)/sys/include does not work under Windows with nmake.</p>
243 <p class="entry-footer">
244 <span class="post-footers">Posted by at 10:35 AM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000377.html">Permalink</a>
254 <h2 class="date-header">June 22, 2005</h2>
256 <div class="entry" id="entry-376">
257 <h3 class="entry-header">LOS178 2.1.0 build</h3>
258 <div class="entry-content">
259 <div class="entry-body">
261 <li>After two bugs in the GDB 6.0 build process on Solaris were fixed I was finally able to build GDB 6.0 on Solaris</li>
263 <li>Built LOS178 for both dev and pdn</li>
265 <li>Packaged up and released onto t3</li>
267 <li>Tagged release with DEV_LOS178_2p1p0_ppc_20050622</li>
270 <p class="entry-footer">
271 <span class="post-footers">Posted by at 7:19 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000376.html">Permalink</a>
281 <h2 class="date-header">June 21, 2005</h2>
283 <div class="entry" id="entry-375">
284 <h3 class="entry-header">LOS178 2.1.0 + GDB</h3>
285 <div class="entry-content">
286 <div class="entry-body">
288 <li>Managed to build los178 for dev and pdn. Pdn still has CONSOLE_DEVICE error on ibm44ep.</li>
290 <li>Working with Adam re: GDB build on Rock</li>
293 <h3>Rock (Solaris) build</h3>
295 <p>Building on Rock is building on Solaris. We have to rebuild parts of the cdk by cd'ing into src/cdk and doing make install. This puts stuff into the cdk/<host>-[xcoff|elf]-<target> area. Now on Linux everything builds OK and I believe we also did the Window portion too. But Solaris was yet undone.</p>
297 <p>Turns out that not much builds successfully on Solaris but all that is required at this time is mkimage. With mkimage successfully built the process of building LOS178 on Solaria remains largely the same in that you checkout/export the sources and untar the ppc.cdksol.tar.gz. The difference is that you inject your newly built mkimage into the cdk area before building.</p>
299 <h3>Packaging and Structuring</h3>
301 <p>Vinnie attempted to describe the packaging structuring. I'm still not sure i have it all in my head yet but here goes:</p>
303 <p>Note that we are only currently building for release on Rock or Solaris. Still cdk's for other targets need to be built and included. Also, we use the bin-image/ppc.cdk<host>.tar.gz prebuilt software for building things and we also package up cdk tarballs in the release area (e.g. 2011-01.cdksol.tar.gz).</p>
305 <p>For GDB we must source SETUP.bash pointing to some LOS178 area and then we go to the toolchain and make install-gdb. The end result of this build are two executables, one of which we are concerned with - gdbserver. However there are also various things deposited in the cdk for gdb, the client and for insight and Tcl/Tk stuff.</p>
307 <p>The gdbserver and it's client require packaging of Linux, Windows and Solaris cdk's that contain the necessary gdb parts. The current package.sh should automatically handle this because it packages up things based on directory names.</p>
309 <p class="entry-footer">
310 <span class="post-footers">Posted by at 3:57 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000375.html">Permalink</a>
320 <h2 class="date-header">June 20, 2005</h2>
322 <div class="entry" id="entry-374">
323 <h3 class="entry-header">2.1.0 GDB Build</h3>
324 <div class="entry-content">
325 <div class="entry-body">
327 <li>Built LOS178 2.1.0 on Rock including CR638. Was able to build dev but not pdn.</li>
329 <li>Having some problems with GDB build on Solaris</li>
332 <p>I was able to build LOS178 2.1.0 dev build on rock but had errors in building the pdn portion:</p>
334 <div class="code"><pre>
335 rock:check -t -v ../los178.pdn/install.log
337 conf.c(98) : error: `CONSOLE_DEVICE' undeclared here (not in a function)
338 make[4]: *** [conf.o] Error 1
339 make[3]: *** [re_all] Error 2
340 make[4]: *** [common_all] Error 1
341 make[3]: *** [re_all] Error 2
342 make[4]: *** [a.out] Error 1
343 make[3]: *** [re_all] Error 2
344 make[2]: *** [real] Error 2
345 make[1]: *** [install] Error 2
346 File: ../los178.pdn/install.log Errors: 9 Warnings: 1140
348 /export/home/adefaria/2.1.0/los178/los178.cvs
351 <p>Also, I was only able to build mkimage for the cdk on Solaris. Vinnie says this is expected.</p>
353 <p>I have not managed to build gdb on Solaris, I'm working with Adam about that problem.</p>
355 <p class="entry-footer">
356 <span class="post-footers">Posted by at 8:32 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000374.html">Permalink</a>
366 <h2 class="date-header">June 16, 2005</h2>
368 <div class="entry" id="entry-373">
369 <h3 class="entry-header">The Quest to build 3.0.0 from 3.4.3</h3>
370 <div class="entry-content">
371 <div class="entry-body">
373 <li>Worked to build 3.0.0 from 3.4.3</li>
376 Andrew DeFaria wrote:
378 <blockquote type=cite>
379 <p>Performed the following actions:</p>
381 <h3>Change packaging by hand:</h3>
384 <li>cd /build/toolchain/install-powerpc178/cdk/linux-elf-ppc</li>
390 <li>Created symlinks for the following: ar, as, byacc, c++, cc, cmp, diff, diff3, expect, flex, gcc, ld, make, nm, ranlib, size, strip to link to ../usr/bin (exception: cc -> ../usr/bin/gcc). <b>Note:</b> byacc, c++, cmp, diff, diff3 and expect do not exist in ../usr/bin! Removed symlinks</li>
396 <li>Copied cdk/linux-elf-ppc/usr/lib/gcc/powerpc-lynx-lynxos178/3.4.3/libgcc.a -> lib <b>Note:</b> Unable to find any libstdc++.a's!</li>
398 <li>Created linux-elf-ppc.tar.gz with tar -zcvf ../linux-elf-ppc.tar.gz .</li>
401 <h3>Removing libgcc from LOS178:</h3>
404 <li>cd /build/los178/src/lib/libgcc</li>
408 <li>cvs delete Makefile</li>
412 <li>Editted Makefile to remove libgcc from SUBCOMPONENTS</li>
414 <li>cd /build/los178/src/cdk/common/bison-1.19</li>
418 <li>cvs delete Makefile (<b>Note:</b> there are many other files here. Should they be likewise removed?)</li>
424 <li>cvs delete Makefile</li>
426 <li>cd /build/los178/src/cdk</li>
428 <li>Editted Makefile to remove references to bison-1.19 and links</li>
430 <li>Editted Makefile to add -0.9.6 to "openssl".</li>
433 <p>The following is the result of building src/cdk:</p>
436 <li>coffcorrupt - for test <font color="green">PASSED</font></li>
438 <li>cofflook - for inspecting coff object <font color="green">PASSED</font></li>
440 <li>config - needed <font color="green">PASSED</font></li>
442 <li>crc - append script uses this <font color="green">PASSED</font></li>
444 <li>elflook - for inspecting elf object <font color="red">FAILED</font></li>
446 <li>install - use for installation <font color="green">PASSED</font></li>
448 <li>m4-1.4 - needed for config.tbl <font color="red">Didn't find anything about this!</font></li>
450 <li>man2html - html man page utility <font color="red">Didn't find anything about this!</font></li>
452 <li>mkbootprep - use by vmpc <font color="green">PASSED</font></li>
454 <li>mkimage - maybe need to be update to support elf kernel? <font color="green">PASSED</font></li>
456 <li>mktimestamp - needed for kernel timestamp <font color="green">PASSED</font></li>
458 <li>prepend-crc - mkboot178 uses this <font color="green">PASSED</font></li>
460 <li>gzip-1.2.4 - only for solaris host <font color="green">PASSED</font></li>
462 <li>tar-1.11.2 - only for solaris host <font color="red">FAILED</font></li>
464 <li>vctchk - use for checking vct <font color="red">FAILED</font></li>
466 <li>openssl <font color="red">(Failed to build saying it couldn't find /build/los178/cdk/linux-elf-ppc/bin/make)</font></li>
469 <p>I will try to pick this up from home but I have been having some connectivity issues lately...</p>
474 <h3>Building LOS178 after sections I & II above completed:</h3>
477 <li>Logged in as int</li>
479 <li>Exported toolchain source -> /build/toolchain.src (via tag DEV_LOS178_3p0p0_ppc_20050607)</li>
481 <li>Instructions say to package source yet Makefile's package target does not include fixup.sh so performed this by hand.</li>
483 <li>Stored previously successfully built toolchain -> t3:/export/dev_archive/los178/3p0p0/toolchain/20050607</li>
485 <li>Checked that europa:/build/los178 had TOT. Only differences were the changes to the Makefile(s) describe above and the cvs deletes that I did.</li>
487 <li>rm sys/miscgcc/*.o</li>
489 <li>tar -zxvf /build/bin-image/ppc.cdksol.tar.gz sys/miscgcc</li>
491 <li>tar -zxpf/build/1033-00.cdklinux.tar.gz</li>
493 <li>Sourced SETUP.bash</li>
495 <li>make DEVELOPMENT=yes install > install.log 2>&1</li>
497 <li>make failed due to lack of crc (and a syntax error I introduced in the src/lib/Makefile - missed a "\"!). The crc was missing because I skipped a step, the make install in src/cdk. Turns out I skipped this step because I thought we had performed this yesterday - and we did - but we had some problems there and Vinnie helped me to get that to work. Unfortunately we were using make all during that time and failed to to the make install portion).</li>
499 <li>make failed with the following:<p>
501 <div class="code"><pre>
502 europa:check -t -v install.log
504 make[3]: *** No rule to make target `_udivdi3.o', needed by `archive_step'. Stop.
505 make[3]: *** No rule to make target `install'. Stop.
506 make[3]: *** No rule to make target `install'. Stop.
507 make[3]: *** No rule to make target `install'. Stop.
508 make[3]: *** No rule to make target `install'. Stop.
509 make[3]: *** No rule to make target `install'. Stop.
510 /build/los178/cdk/linux-xcoff-ppc/bin/ld: cannot open -lmiscgcc: No such file or directory
511 make[4]: *** [common_all] Error 1
512 make[3]: *** [re_all] Error 2
513 /build/los178/cdk/linux-xcoff-ppc/bin/ld: cannot open -lmiscgcc: No such file or directory
514 make[4]: *** [a.out] Error 1
515 make[3]: *** [re_all] Error 2
516 make[2]: *** [real] Error 2
517 make[1]: *** [install] Error 2
518 make[3]: *** [gunzip] Error 1
519 make[3]: *** [nohup] Error 1
520 make[3]: *** [install_common] Error 1
521 make[3]: *** [install] Error 1
522 make[2]: *** [real] Error 2
523 make[1]: *** [install] Error 2
524 File: install.log Errors: 20 Warnings: 2545
526 <p>The issues here boil down to the _udivd3.o problem mostly (the No rule to make target `install' are the csp.x86, ibm440ep stuff and there are few permissions problems with chmod since this build was done as int this time). The _udivd3.o problem results from a new .o file introduced by Gilbert and CR #542 and a corresponding change to the Makefile. The miscgcc .o files are gotten from ppc.cdksol.tar.gz but there is no _udivd3.o in ppc.cdksol.tar.gz.</p>
528 <p>After discussing this with Vinnie we determined that Gilbert had checked in these .o files when what really needs to be done is for us to include this new .o file into the ppc.cdk[sol|linux].tar.gz images in bin-image.</p>
530 <li>After building the following errors remain:</p>
533 <li>5 "No rule to make target `install`" remains for devices.ibm440ep, drivers.ibm440ep, csp.440, csp.x86 and bsp.ibm440ep. These are known problems.</li>
535 <li>Various permissions problems dealing with the fact that I had initially built things as adefaria and switched to building as int.</li>
540 <p class="entry-footer">
541 <span class="post-footers">Posted by at 4:17 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000373.html">Permalink</a>
551 <h2 class="date-header">June 15, 2005</h2>
553 <div class="entry" id="entry-372">
554 <h3 class="entry-header">Rebuild 2.1.0/GDB 6.0</h3>
555 <div class="entry-content">
556 <div class="entry-body">
558 <li>Rebuilt/re-released 2.1.0 with additional CR #632</li>
560 <li>Built GDB 6.0 on Windows!</li>
563 <p class="entry-footer">
564 <span class="post-footers">Posted by at 12:18 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000372.html">Permalink</a>
574 <h2 class="date-header">June 13, 2005</h2>
576 <div class="entry" id="entry-371">
577 <h3 class="entry-header">3.4.3 toolchain build/LOS178 Makefile global clean/clobber</h3>
578 <div class="entry-content">
579 <div class="entry-body">
581 <li>Added CR 636: LOS178 3.0.0 build fails with new 3.4.3 gcc</li>
583 <li>Reproduced make clobber problem</li>
585 <li>Added 637: 3.4.3 toolchain does not package properly</li>
588 <h3>Make clobber problem</h3>
590 <p>When a make clobber is performed in sys the make is propagated downward through the sub makes. However the sys level Makefile starts it's clobber target with: rm $(ENV_PREFIX)/sys/lib/* to remove all of the libraries in sys/lib.</p>
592 <p>When the make clobber gets propagated down to drivers/arinc653 the following happens:</p>
594 <div class="code"><pre>
595 make -f Makefile.real DRV_IS_DLDD=no clobber
596 make[1]: Entering directory `/build/los178/sys/drivers/arinc653'
597 /bin/rm -f arinc653drvr.lint
598 /build/los178/cdk/linux-elf-ppc/usr/bin/ar d /build/los178/sys/lib/libdrivers.a arinc653drvr.o
599 make[1]: Leaving directory `/build/los178/sys/drivers/arinc653'
600 make -f Makefile.real DRV_IS_DLDD=yes clobber
601 make[1]: Entering directory `/build/los178/sys/drivers/arinc653'
602 /bin/rm -f arinc653.*.o arinc653.*.bin arinc653.pre arinc653.import
603 /bin/rm -f arinc653.dldd arinc653.info
604 make[1]: Leaving directory `/build/los178/sys/drivers/arinc653'
607 <p>At this point a small libdrivers.a is left in sys/lib:</p>
609 <div class="code"><pre>
610 europa:ll ../../lib/libdrivers.a
611 -rw-rw-r-- 1 adefaria staff 170 Jun 13 13:02 ../../lib/libdrivers.a
614 <p>Similar things happen in:</p>
617 <li>sys/drivers/mem</li>
619 <li>sys/driverspmac_g5/is_sungem</li>
621 <li>sys/drivers.vmpc/rs232</li>
623 <li>sys/drivers.vmpc/bdlan</li>
625 <li>sys/drivers.vmpc/if_dec21040</li>
628 <p>When we are done with a clobber we are left with:</p>
630 <div class="code"><pre>
633 drwxrwxr-x 2 adefaria staff 4096 Jun 13 13:16 ./
634 drwxrwxr-x 26 adefaria staff 4096 Jun 13 13:16 ../
635 -rw-rw-r-- 1 adefaria staff 170 Jun 13 13:16 libdrivers.a
636 -rw-rw-r-- 1 adefaria staff 8 Jun 13 13:16 libdrivers_pmac_g5.a
637 -rw-rw-r-- 1 adefaria staff 8 Jun 13 13:16 libdrivers_vmpc.a
640 <p>This eventually screws up the build. Doing a make clobber followed by rm lib/* then a make install works OK...</p>
642 <p class="entry-footer">
643 <span class="post-footers">Posted by at 8:57 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000371.html">Permalink</a>
653 <h2 class="date-header">June 10, 2005</h2>
655 <div class="entry" id="entry-370">
656 <h3 class="entry-header">Issues building LOS178 with 3.4.3 toolchain</h3>
657 <div class="entry-content">
658 <div class="entry-body">
659 <p>I experienced the following issues when attempting to build LOS178 with the 3.4.3 toolchain:</p>
661 <h3>Need to have xcoff cdk</h3>
663 <p>In order to perform the build the xcoff version of the cdk needs to be untarred. This was obtained from 2.0.0 (98r2) tarball:</p>
665 <div class="code"><pre>
666 $ tar -zxpf ../1033-00.cdklinux.tar.gz
671 <h3>Need to get files from ppc.cdksol.tar.gz from sys/miscgcc</h3>
673 <p>In order to perform the build one needs to extract files from bin-image/ppc.cdksol.tar.gz, specifically the sys/miscgcc area:</p>
675 <div class="code"><pre>
676 $ tar -zxpf ../bin-image/ppc.cdksol.tar.gz sys/miscgcc
681 <h3>Need to extract 3.4.3 toolchain</h3>
683 <p>After successfully building 3.4.3 gcc, package it up and then use it to extract here:</p>
685 <div class="code"><pre>
686 $ tar -zxpf ../toolchain/toolchain-i686-pc-linux-gnu-powerpc178.tar.gz
691 <h3>Toolchain's cdk/linux-elf-ppc lacks a bin directory</h3>
693 <p>Normally under cdk/linux-xcoff-ppc there is both a usr and a bin directory. Some entities are just a symlink back to their counterparts in ../usr/bin (e.g. ld -> ../usr/bin/ld). This bin directory structure is not present after untarring toolchain-i686-pc-linux-gnu-powerpc178.tar.gz. For building purposes the following was done:</p>
696 <li>Create a bin directory in cdk/linux-xcoff.ppc</li>
698 <li>Create symlinks to ../usr/bin:
700 <div class="code"><pre>
701 $ for link in ar as byacc c++ cmp diff diff3 expect flex gcc ld \
702 > make nm ranlib size strip; do
703 > ln -s ../usr/bin/$link $link
707 Note: Some of these are probably not necessary</li>
709 <li>Copy the following files from linux-xcoff-ppc/bin -> linux-elf-ppc/bin:
711 <div class="code"><pre>
712 $ for file in bison bison.hairy bison.simple coffcorrupt cofflook \
713 > config crc elflook gnutar gunzip gzcat gzexe gzip install mkbootprep \
714 > mkimage mktimestamp prepend-crc vctchk yacc zcmp zdiff zforce zgrep \
716 > cp ../../linux-xcoff-ppc/bin/$file $file
720 Note: Some of these are probably not necessary</li>
723 <h3>libgcc.a not present</h3>
725 <p>The build failed because it was unable to find libgcc.a. The solution was to copy libgcc.a into the right place:</p>
727 <div class="code"><pre>
729 $ cp cdk/linux-elf-ppc/usr/lib/gcc/powerpc-lynx-lynxos178/3.4.3/libgcc.a lib
732 <p class="entry-footer">
733 <span class="post-footers">Posted by at 3:53 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000370.html">Permalink</a>
743 <h2 class="date-header">June 9, 2005</h2>
745 <div class="entry" id="entry-369">
746 <h3 class="entry-header">3.4.3 toolchain build/LOS178 Makefile global clean/clobber</h3>
747 <div class="entry-content">
748 <div class="entry-body">
750 <li>As Moscow had checked in changes I was instructed to reattempt to build 3.4.3 toolchain again. Toolchain builds on both RH 8.0 and 9.0 but LOS178 fails to build</li>
752 <li>Made changes to LOS178 top level Makefile to support global clean and clobber targets. Need CR to check this in...</li>
755 <h3>3.4.3 Toolchain builds</h3>
758 <blockquote type=cite>
761 <p>On the other part I just wrote the high level instruction you know what to do.</p>
765 <p>1. check out compiler TOT from t3:/cvs/gcc-cvs</p>
767 <div class="code"><pre>
768 # cvs co -P toolchain
774 <blockquote type=cite>
775 <p>2. Apply tag DEV_LOS178_3p0p0_ppc_20050609</p>
778 <p>To the toolchain?!?</p>
780 <blockquote type=cite>
781 <p>3. check out los178 & check out bin-image (TOT)</p>
782 <div class="code"><pre>
783 # cvs co -P bin-image
790 <blockquote type=cite>
791 <p>4. Apply tag DEV....... you know what this is</p>
794 <p>I assume you mean to los178... (bin-image?)</p>
796 <blockquote type=cite>
797 <p>5. extract linux cdk (98r2) into the los178 build tree</p>
799 <div class="code"><pre>
800 t3:/export/dev_archive/los178/2p0p0/20050228/solaris/media/ppc/1033-00.cdklinux.tar.gz
806 <blockquote type=cite>
807 <p>6. extract sys/miscgcc from bin-image/ppc.cdksol.tar.gz into los178 build tree</p>
809 <div class="code"><pre>
810 # gnutar zxpf bin-image/ppc.cdksol.tar.gz sys/miscgcc
813 <p>This is needed since kernel is still xcoff. Once kernel is elf you will need elf miscgcc object files.</p>
818 <blockquote type=cite>
819 <p>7. In the los178 build tree source SETUP.bash</p>
824 <blockquote type=cite>
825 <p>8. Change to the toolchain directory & do whatever setup is needed and build the compiler</p>
828 <p>OK. Damn it worked! (RH 9.0 - still waiting for RH 8.0...)</p>
830 <blockquote type=cite>
831 <p>9. package the toolchain & extract into the los178 build tree</p>
836 <blockquote type=cite>
837 <p>10. build the los178</p>
840 <p>Experienced problems. First problem is that cdk/linux-elf-ppc lacked a bin directory, therefore $ENV_PREFIX/cdk/linux-elf-ppc/bin/make did not exist. Looking at linux-xcoff-ppc/bin I see that some files are simply symlinks to ../usr/bin/<file> and others are actual files. Using the file(1) command I see that the files under linux-xcoff-ppc/bin that are not symlinks are ELF files! Odd.</p>
842 <p>So recreating (symlinking symlinks and copying files) $ENV_PREFIX/cdk/linux-xcoff-ppc/bin -> $ENV_PREFIX/cdk/linux-elf-ppc/bin and attempting the build yielded errors. Discussing this with Vinnie we performed the following actions:</p>
845 <li>Copied cdk/linux-elf-ppc/usr/lib/gcc/powerpc-lynx-lynxos178/3.4.3/libgcc.a -> $ENV_PREFIX/lib</li>
847 <li>Created the /usr/los178/2.0.0/ppc_dev/cdk/linux-xcoff-ppc/bin directory and placed a copy of bison.simple from cdk/linux-xcoff-ppc/bin into that directory</li>
849 <li>Reperformed the build of LOS178</li>
852 <p>Now, on Europa - a RH 8.0 machine - I have many errors all stating:</p>
854 <div class="code"><pre>
855 /build/los178/cdk/linux-xcoff-ppc/bin/ar: /build/los178/sys/lib/libdrivers.a: File format is ambiguous
856 /build/los178/cdk/linux-xcoff-ppc/bin/ar: Matching formats: elf32-powerpc elf32-little elf32-big
857 make[5]: *** [/build/los178/sys/lib/libdrivers.a(rddrvr.o)] Error 1
860 <p>The log file is on europa:/build/los178/install.log</p>
862 <h3>Global clean and clobber targets</h3>
864 <p>In order to support global clean and clobber targets on LOS178's top level Makefile the following changes need to be done:</p>
867 <li>Add clean and clobber to .PHONY</li>
869 <li>Change help target to describe new targets</li>
871 <li>Add clean and clobber targets that essentially loop through $(DIRS) and perform make [clean|clobber]</li>
876 <div class="code"><pre>
878 ===================================================================
879 RCS file: /cvs/los178-cvs/los178/Makefile,v
880 retrieving revision 1.7
883 < .PHONY: help all install setup asmstat asmstatclean
885 > .PHONY: help all install setup asmstat asmstatclean clean clobber
887 > @echo "This Makefile is use to build the entire LOS178, for example:"
889 < @echo "This Makefile is use to build the entire LOS178"
890 < @echo " for example:"
894 > @echo "Additionally the following targets are supported"
896 > @echo " make clean"
897 > @echo " make clobber"
900 > # Global clean and clobber targets
902 > @for dir in $(DIRS); do \
903 > (cd $$dir && make clean); done
906 > @for dir in $(DIRS); do \
907 > (cd $$dir && make clobber); done
911 <p class="entry-footer">
912 <span class="post-footers">Posted by at 3:05 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000369.html">Permalink</a>
922 <h2 class="date-header">June 8, 2005</h2>
924 <div class="entry" id="entry-368">
925 <h3 class="entry-header">2.1.0 problem/3.4.3 gcc/GDB 6.0</h3>
926 <div class="entry-content">
927 <div class="entry-body">
929 <li>Rebuilding LOS178 2.1.0</li>
931 <li>Attempted to build 3.4.3 on RH 8.0. Didn't work. Reattempting on RH 9.0 machine, shrike</li>
933 <li>Setup coolcat Windows box to attempt to build GDB 6.0</li>
935 <li>Changed Logger.pm to set autoflush</li>
937 <li>Changed build_los178 to look for sendmail</li>
939 <li>Worked on improving rename.sh to handle multiple versions. More works need to be done.</li>
942 <h3>LOS178 2.1.0</h3>
944 <p>There was some sort of problem with the recent build of 2.1.0. In looking into it I found the following:</p>
946 <p>I found a tagging problem. I used the tag DEV_LOS178_3p0p0_ppc_20050603. Note the 3p0p0. It should have been 2p1p0. I searched dev_archive on t3 and find no 20050603 directory for 3p0p0 but find it instead under 2p1p0. I believe that I should simply rename that tag to DEV_LOS178_2p1p0_20050603.</p>
948 <p>The CRs involved in 1 gig support seem to be: 539 and 606. Additionally 620 appears to be picked. Here's the break down:</p>
950 <div class="code"><pre>
951 rock:files4cr 539 # Add 1Gb support for LynxOS-178
952 ENVIRONMENT: 1.9.2.2 - Already up to date
953 src/bin/lynxos.boot/Makefile: 1.1.1.1.2.1 - Already up to date
954 src/cdk/common/mkimage/coff.c: 1.1.2.1 - Already up to date
955 sys/bsp.vmpc/bsp_env.c: 1.2.2.1 - Already up to date
956 sys/bsp.vmpc/lowInit.c: 1.3.2.1 - Already up to date
957 sys/bsp.vmpc/procinit.c: 1.3.2.1 - Already up to date
958 sys/csp.970/csp_init.c: 1.2.2.1 - Out of date
959 sys/csp.970/csp_mem_map.c: 1.4.2.1 - Out of date
960 sys/csp.ppc/csp_init.c: 1.2.2.1 - Already up to date
961 sys/csp.ppc/csp_mem_map.c: 1.3.2.1 - Already up to date
962 sys/include/bsps/pmac_g5/board.h: 1.5.2.1 - Out of date
963 sys/include/bsps/vmpc/board.h: 1.2.2.1 - Already up to date
964 sys/include/bsps/vmpc/pwb.h: 1.1.2.1 - Already up to date
965 sys/include/family/ppc/arch_mem.h: 1.1.1.1.2.1 - Already up to date
967 rock:files4cr 606 # Fix the 1GB problem on the Apple Power Mac G5 LynxOS-178 BSP
968 sys/bsp.pmac_g5/bsp_env.c: 1.2.2.1 - Already up to date
969 sys/bsp.pmac_g5/bsp_init.c: 1.3.2.2 - Already up to date
970 sys/bsp.pmac_g5/ofw.c: 1.5.2.1 - Already up to date
971 sys/bsp.pmac_g5/ofw.h: 1.3.2.1 - Already up to date
972 sys/bsp.pmac_g5/procinit.c: 1.5.2.1 - Already up to date
973 sys/csp.970/csp_init.c: 1.2.2.2 - Already up to date
974 sys/csp.970/csp_mem_map.c: 1.4.2.2 - Out of date
975 sys/include/bsps/pmac_g5/board.h: 1.5.2.2 - Already up to date
976 sys/kernel/getrusage.c: 1.1.1.1.2.1 - Already up to date
978 rock:files4cr 620 # Import G5 bug fixes/improvement from TOT into 2.1.0 branch
979 sys/bsp.pmac_g5/bsp_intr.c: 1.2.2.1 - Already up to date
980 sys/csp.970/csp_mem_map.c: 1.4.2.3 - Already up to date
981 sys/drivers/arinc653/Makefile.real: 1.1.2.1 - Already up to date
984 <p>If you look carefully you'll notice that the "Out of date" items for 539 are covered with newer versions in 606 and 620. So it appears as if I was up to date with when I built.</p>
986 <p>I am building again and will be rereleasing images using the correct numbering this time.</p>
988 <h3>Building 3.4.3 gcc on shrike RH 9.0</h3>
990 <p>I attempted to build 3.4.3 gcc on shrike, a RH 9.0 system but it failed with the following:</p>
992 <div class="code"><pre>
993 make[2]: Entering directory `/home/adefaria/toolchain/build-powerpc/bison'
994 cd /home/adefaria/toolchain.orig/src/bison && autoheader
995 WARNING: Using auxiliary files such as `acconfig.h', `config.h.bot'
996 WARNING: and `config.h.top', to define templates for `config.h.in'
997 WARNING: is deprecated and discouraged.
999 WARNING: Using the third argument of `AC_DEFINE' and
1000 WARNING: `AC_DEFINE_UNQUOTED' allows to define a template without
1001 WARNING: `acconfig.h':
1003 WARNING: AC_DEFINE([NEED_MAIN], 1,
1004 WARNING: [Define if a function `main' is needed.])
1006 WARNING: More sophisticated templates can also be produced, see the
1007 WARNING: documentation.
1008 touch /home/adefaria/toolchain.orig/src/bison/config.hin
1009 cd . && /bin/sh ./config.status config.h
1010 Usage: ./config.status [--recheck] [--version] [--help]
1011 make[2]: *** [stamp-h1] Error 1
1012 make[2]: Leaving directory `/home/adefaria/toolchain/build-powerpc/bison'
1013 make[1]: *** [all-bison] Error 2
1014 make[1]: Leaving directory `/home/adefaria/toolchain/build-powerpc'
1015 make: *** [stamp-all-powerpc] Error 2
1018 <p>Here's what I did:</p>
1021 <li>Checked out toolchain from my previous tag (DEV_LOS178_3p0p0_ppc_20050607)</li>
1023 <li>Obtained and applied the patches as before</li>
1025 <li>Obtained the LOS178 build environment as before</li>
1027 <li>Performed make install</li>
1030 <p>This was done on shrike in my home directory.</p>
1032 <p class="entry-footer">
1033 <span class="post-footers">Posted by at 5:11 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000368.html">Permalink</a>
1043 <h2 class="date-header">June 7, 2005</h2>
1044 <a id="a000367"></a>
1045 <div class="entry" id="entry-367">
1046 <h3 class="entry-header">build_los178 enhancements/3.4.3 toolchain build</h3>
1047 <div class="entry-content">
1048 <div class="entry-body">
1050 <li>Changed build_los178 to log results using Logger and to report results by emailing them</li>
1052 <li>Started on 3.4.3 toolchain build</li>
1055 <p class="entry-footer">
1056 <span class="post-footers">Posted by at 2:29 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000367.html">Permalink</a>
1066 <h2 class="date-header">June 3, 2005</h2>
1067 <a id="a000366"></a>
1068 <div class="entry" id="entry-366">
1069 <h3 class="entry-header">LOS178 2.1.0 build</h3>
1070 <div class="entry-content">
1071 <div class="entry-body">
1073 <li>Built LOS178 2.1.0</li>
1076 <p class="entry-footer">
1077 <span class="post-footers">Posted by at 2:33 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000366.html">Permalink</a>
1087 <h2 class="date-header">June 1, 2005</h2>
1088 <a id="a000365"></a>
1089 <div class="entry" id="entry-365">
1090 <h3 class="entry-header">LOS178 TOT Build</h3>
1091 <div class="entry-content">
1092 <div class="entry-body">
1094 <li>Built TOT for LOS178</li>
1096 <li>Tagged and release resultant build</li>
1098 <li>Worked some more on build_los178 script to do automatic building</li>
1101 <h3>Automatic building</h3>
1103 <p>In general this is going to be hard because each systems has it's own build mechanism and quirks. The intend was initially to create a script that normalized those quirks but it was later decided to create a build_los178 script that has particular knowledge of LOS178.</p>
1105 <p>So far the set up and initial build steps are done. It's not optimal, more like a mirroring of the steps that a builder would do - but it's a start. One problem is that through Perl one cannot expect to `. SETUP.bash` and expect environment variables to remain in force. This is because Perl execs a subshell to perform the command and after that subshell dies so does its environment. For now build_los178 has a subroutine coded that mimicks what SETUP.bash does. This is not good because if SETUP.bash changes then that would break this until it was likewised changed. I need to find a better way to do this...</p>
1107 <p class="entry-footer">
1108 <span class="post-footers">Posted by at 5:24 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000365.html">Permalink</a>