Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com x-gfisavedcharset: Windows-1252 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 Message-ID: From: "Bruce Adams [TSP Sunbury]" To: "Max Bowsher" Cc: Subject: RE: Post install smoke test (or "Oh no not again") Date: Tue, 11 Mar 2003 15:58:45 -0000 MIME-Version: 1.0 X-OriginalArrivalTime: 11 Mar 2003 16:00:31.0312 (UTC) FILETIME=[579C5500:01C2E7E7] >-----Original Message----- >From: Max Bowsher [mailto:maxb AT ukf DOT net] >Sent: 11 March 2003 13:40 >To: Bruce Adams [TEPG Sunbury] >Cc: cygwin AT cygwin DOT com >Subject: Re: Post install smoke test (or "Oh no not again") > > >On Tue, 11 Mar 2003, Bruce Adams [TEPG Sunbury] wrote: > >> Hi, >> I just did a fresh installation of gcc on another machine and had >> an "oh no not again" moment. Attempting to compile: >> >> int main(int argc,char** argv) { >> return 0; >> } //main >> >> Gives the output: >> >> gcc hello.o -o hello.exe -lstdc++ > ^^^^^^^^ >Why? Don't do that. > Granted unecessary for this particular example. It's a leftover from an example that actually used the standard library. >> hello.o(.text+0x0):fake: multiple definition of `_mainCRTStartup' >> >/usr/lib/gcc-lib/i686-pc-cygwin/3.2/../../../crt0.o(.text+0x0): first >> defined here >> hello.o(.text+0x40):fake: multiple definition of `___do_frame_init' >> /usr/lib/gcc-lib/i686-pc-cygwin/3.2/crtbegin.o(.text+0x0): first >> defined here >> hello.o(.text+0x70):fake: multiple definition of `___do_frame_fini' >> /usr/lib/gcc-lib/i686-pc-cygwin/3.2/crtbegin.o(.text+0x30): first >> defined here >> hello.o(.data+0x0): In function `main': >> /cygdrive/c/BruceA/code/typelist/hello.cpp:4: multiple definition of >> `___cygwin_crt0_bp' >> >/usr/lib/gcc-lib/i686-pc-cygwin/3.2/../../../crt0.o(.data+0x0): first >> defined here >> hello.o(.rdata+0x0): In function `main': >> /cygdrive/c/BruceA/code/typelist/hello.cpp:4: multiple definition of >> `___EH_FRAME_BEGIN__' >> /usr/lib/gcc-lib/i686-pc-cygwin/3.2/crtbegin.o(.eh_frame+0x0): first >> defined here >> collect2: ld returned 1 exit status >> make: *** [hello.exe] Error 1 >> >> >> I guess this means I have another corrupted installation. >Which brings >> me to two questions. >> >> 1) what standard corrective actions can we suggest for "dodgey" >> installations > >No standard corrective action, because "dodgey" is far too unspecific. > Well since all I know from my perspective is I installed and it doesn't work I can't be much more specific. But if I come on this list and it say "it doesn't work" I will be asked several things. Have I checked the FAQ, searched the mailing list etc. What is your cygcheck -c output and other such quesitons. For each specific package these may differ. Judging from my output maybe it looks more like binutils is broken than gcc itself. >> 2) what would be the appropriate way to implement a >post-install smoke >> test. > >It would be more appropriate to find out what happened, and >make sure it doesn't occur in the future. Therefore, no >smoketest needed. > An interesting corollary to prevention is better than cure. Fix the problem so that it doesn't re-occur is of course the first priority but altering the system so that it is easier to detect and deal with new bugs of a similar nature (not to mention regression testing the one you think you've fixed but may only have fixed one aspect of) is still worthwhile. >> 1) run cygcheck -c >> >> See enclosed output. >> This doesn't actually help me. >> Should I try re-installing from a different mirror? >> Neither alas did installing from a different mirror :-(. Is there a listing of the most current package set that is internally consistent and working? or is that supposed to be a pre-release criteria for any package? >> 2) Presumably raw bash would be preferable to tcl or perl. >> Dos is just sick. >> Personally I would like to use TCL because it is what I know best >> but it needs to be compatible with whatever's already >being used as it >> probably ought to possible to install cygwin without TCL or perl. >> >> at end of gcc package installation - append gcc-smoke.sh >to a list of >> post install smoke tests to run. >> >> At (current) end of post install have another bash script >iterate over >> the scripts in smoketest.lst or whatever and dump the >output into a >> detailed postinstall log. >> Each script can generate one line (or at least minimal) >error reports >> that get displayed to the user at the very end a long >with a bit of >> advice >> saying what to try to fix it before coming here. >> It would be good if we could associate each error with a separate >> piece of >> advice but maybe that's version 2. >> >> I can probably supply the smoke test itself, though my bash is a bit >> rusty but so probably can pretty much anyone on the list. >> Is the rest of it a 5 minute job? > >I do not think a smoketest is necessary or desirable. > >If you can find any problems, then lets fix them, so we don't >*need* to test for them. > > >Max. > > TQM places the emphasis on preventing problems from occurring but that does not mean you don't need to test the final product. Regards, Bruce A. ============================================================================ Any opinions expressed in this e-mail are those of the individual and not necessarily those of Tyco Safety Products. Any prices for the supply of goods or services are only valid if supported by a formal written quotation. This e-mail and any files transmitted with it, including replies and forwarded copies (which may contain alterations) subsequently transmitted from Tyco Saftey Products are confidential and solely for the use of the intended recipient. If you are not the intended recipient or the person responsible for delivery to the intended recipient, be advised that you have received this e-mail in error and that any use is strictly prohibited. In this event, please notify us via e-mail at 'helpdesk DOT tepg AT tycoint DOT com' or telephone on 0121 255 6499 and then delete the e-mail and any copies of it. ============================================================================ -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/