delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2003/03/11/08:39:47

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Date: Tue, 11 Mar 2003 13:39:36 +0000 (GMT Standard Time)
From: Max Bowsher <maxb AT ukf DOT net>
To: "Bruce Adams [TEPG Sunbury]" <bruadams AT tycoint DOT com>
cc: cygwin AT cygwin DOT com
Subject: Re: Post install smoke test (or "Oh no not again")
In-Reply-To: <C9150052B112D3119E9E0004ACA6E4370345CDD7@tepg1.tepg.co.uk>
Message-ID: <Pine.WNT.4.53.0303111335030.1028@pcchem101.chem.pwf.cam.ac.uk>
References: <C9150052B112D3119E9E0004ACA6E4370345CDD7 AT tepg1 DOT tepg DOT co DOT uk>
X-X-Sender: mob22 AT imap DOT hermes DOT cam DOT ac DOT uk
MIME-Version: 1.0

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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019