This is the mail archive of the cygwin@cygwin.com 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]

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.

> 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.

> 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.

> 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 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.



--
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/


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