This is the mail archive of the mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Post install smoke test (or "Oh no not again")

   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++
hello.o(.text+0x0):fake: multiple definition of `_mainCRTStartup'
/usr/lib/gcc-lib/i686-pc-cygwin/3.2/../../../crt0.o(.text+0x0): first
defined he
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
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
hello.o(.data+0x0): In function `main':
/cygdrive/c/BruceA/code/typelist/hello.cpp:4: multiple definition of
/usr/lib/gcc-lib/i686-pc-cygwin/3.2/../../../crt0.o(.data+0x0): first
defined he
hello.o(.rdata+0x0): In function `main':
/cygdrive/c/BruceA/code/typelist/hello.cpp:4: multiple definition of
/usr/lib/gcc-lib/i686-pc-cygwin/3.2/crtbegin.o(.eh_frame+0x0): first defined
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"

2) what would be the appropriate way to implement a post-install smoke test.

I'd volunteer my services for 2 except that I doubt I have the time or the
with setup to be much use in the near future.  I'm likely to remain strictly
consumer for the immediate future.
Anyway here is an attempt to partially answer my own questions

1) run cygcheck -c

See enclosed output.
This doesn't actually help me.
Should I try re-installing from a different mirror?

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 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
   saying what to try to fix it before coming here.
   It would be good if we could associate each error with a separate piece
   advice but maybe that's version 2.

I can probably supply the smoke test itself, though my bash is a bit rusty
so probably can pretty much anyone on the list.
Is the rest of it a 5 minute job?

	  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.


Attachment: cygcheck.txt
Description: Text document

Unsubscribe info:
Bug reporting:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]