lmi
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lmi] Compiling takes longer with gcc-4.9.2


From: Greg Chicares
Subject: Re: [lmi] Compiling takes longer with gcc-4.9.2
Date: Mon, 18 Jan 2016 22:36:06 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.3.0

On 2016-01-18 14:32, Vadim Zeitlin wrote:
> On Mon, 18 Jan 2016 05:04:23 +0000 Greg Chicares <address@hidden> wrote:
> 
> GC> >  For the reference, the command used for building with Cygwin 4.9.2 was
> GC> > 
> GC> > make PATH=/opt/lmi/bin:/usr/i686-w64-mingw32/sys-root/mingw/bin:$PATH \
> GC> > PATH_GCC=i686-w64-mingw32- LDFLAGS='' \
> GC> > gcc_common_warnings='-Wall -Wno-unused-local-typedefs -Wno-parentheses 
> -Wno-unused-variable' \
> GC> > install check_physical_closure
> GC> 
> GC> I dislike changing $PATH, but I believe I accomplished the same thing by
> GC> specifying the full path to each binary in the toolchain, and copying
> GC> the sys-root files to /opt/lmi/local/bin, which is on my $PATH.
> 
>  This is cleaner when you are using the given version of the compiler, I
> was doing it like this because it was simpler to switch between different
> compilers like this.

Understood. BTW, once we go into production with gcc-4.9.2, I intend to remove
gcc-3.4.5 support forever; then we'll never switch back. I had considered
making the behavior switchable, but it seemed like too much work for too
little gain.

> GC> I added these warning flags:
> GC>   -Wno-conversion \
> GC>   -Wno-deprecated-declarations \
> GC>   -Wno-parentheses \
> GC>   -Wno-unused-local-typedefs \
> GC>   -Wno-unused-variable \
> GC> I found '-Wno-deprecated-declarations' necessary for auto_ptr in xmlwrapp.
> 
>  Notice that I've fixed this in the latest version of xmlwrapp at
> https://github.com/vadz/xmlwrapp/, so all you need to do is to get rid of
> this one is to update to the latest version (which doesn't have any
> significant changes compared to the one being currently used as I wrote in
> my cross-compiling post).

I noticed your cross-compiling post, but haven't yet read it.

We can do that minor xmlwrapp upgrade once we get lmi stabilized with the
new compiler, and remove '-Wno-deprecated-declarations' at that time.

> GC> I'm not sure why you didn't need '-Wno-conversion' as explained here:
> GC>   http://lists.nongnu.org/archive/html/lmi/2015-12/msg00028.html
> 
>  Sorry, I forgot about this. And I still don't know why I didn't see it,
> but I definitely didn't. Anyhow, as you write yourself at the URL above,
> it's not a problem with C++11.

I'm confused: I don't see where I said that. Anyway, I tried rebuilding
without '-Wno-conversion' just now, and got...
  /lmi/src/lmi[0]$sed -f diagnostics.sed ../log 2>&1 |grep AUX_WRAPPER_INST |wc 
-l
  300
...three hundred boost failures.

> GC> >  config_options = \
> GC> >    --prefix=$(prefix) \
> GC> >    --build=i686-pc-cygwin \
> GC> > -  --host=i686-pc-mingw32 \
> GC> > +  --host=i686-w64-mingw32 \
> GC> 
> GC> I had missed that. Got it now.
> 
>  To answer your question about why it worked: you must have a MinGW Cygwin
> cross-compiler installed too, don't you?

No. I have only what lmi's 'install_cygwin.bat' provides:
   mingw64-i686-gcc-g++
   mingw64-x86_64-gcc-g++
i.e., MinGW-w64 cross-compilers targeting 32- and 64-bit msw. (I also have
a native mingw.org gcc-3.4.5 in its own /MinGW_ directory, which wasn't
used here. But that 3.4.5 compiler always gave lots of spurious diagnostics
for its own libstdc++ when building wx; with '--host=i686-pc-mingw32' from
December through yesterday, I saw none of those diagnostics. And lmi
compiled, linked, and ran successfully, so wx can't have been built with
any tool other than cygwin's 'mingw64-i686-gcc-g++' package. Doesn't this
demonstrate an autotools issue? Or is it supposed to disregard an incorrect
'--host' specification and just DWIM?)

To confirm (note that "Not Found: gcc" is an actual line found by 'grep'):

$cygcheck -s -v -r 2>&1 |grep gcc
Not Found: gcc
  108k 2015/07/02 C:\cygwin-lmi\bin\cyggcc_s-1.dll - os=4.0 img=1.0 sys=4.0
                  "cyggcc_s-1.dll" v0.0 ts=2015-07-02 17:59
  108k 2015/07/02 C:\cygwin-lmi\bin\cyggcc_s-1.dll - os=4.0 img=1.0 sys=4.0
                  "cyggcc_s-1.dll" v0.0 ts=2015-07-02 17:59
  108k 2015/07/02 C:\cygwin-lmi\bin\cyggcc_s-1.dll - os=4.0 img=1.0 sys=4.0
                  "cyggcc_s-1.dll" v0.0 ts=2015-07-02 17:59
libgcc1                                 4.9.3-1                OK
mingw64-i686-gcc-core                   4.9.2-2                OK
mingw64-i686-gcc-g++                    4.9.2-2                OK
mingw64-x86_64-gcc-core                 4.9.2-2                OK
mingw64-x86_64-gcc-g++                  4.9.2-1                OK




reply via email to

[Prev in Thread] Current Thread [Next in Thread]