Error building run2 from source package in win7
David Sastre
d.sastre.medina@gmail.com
Wed May 25 10:34:00 GMT 2011
On Tue, May 24, 2011 at 05:10:37PM -0400, Charles Wilson wrote:
> On 5/24/2011 3:53 PM, David Sastre wrote:
> > On Tue, May 24, 2011 at 02:59:11PM -0400, Charles Wilson wrote:
> >> A-ha!
> >>
> >> Don't set -Werror as part of $CC, set it in $CFLAGS instead.
> >
> > Which is what is defined in the *.cygport's src_compile func:
> >
> > src_compile() {
> > cd ${S}
> > cygautoreconf
> > cd ${B}
> > cygconf CFLAGS="-Wall -Werror"
> > cygmake
> > }
> >
> > And I'm doing nothing but running 'cygport *.cygport all'.
>
> Well, Eric is the real expert, and he says don't set the warning flags
> until the cygmake line, so that's first. However, I assume the
> incantation above worked in the past for the original author of the
> .cygport(5) file, so why's it breaking for you?
>
> Second, why does the STC below not work for you, when it worked for me?
>
> > for the same reasons (config.log):
> >
> > configure:2563: gcc -c -Wall -Werror conftest.c >&5
> > cc1: warnings being treated as errors
> > conftest.c: In function 'main':
> > conftest.c:38:10: error: 't' is used uninitialized in this function
> > conftest.c:54:23: error: 'b' may be used uninitialized in this
> > function
> > configure:2563: $? = 1
>
> Well, looking at my config.log, I too have:
>
> configure:2498: checking for an ANSI C-conforming const
> configure:2563: gcc -c -Wall -Werror conftest.c >&5
> ^^^^^^^^^^^^^
> configure:2563: $? = 0
> configure:2570: result: yes
>
> but we already know that this conftest.c is not -Wall -Werror clean --
> or, at least, that YOUR conftest.c is not clean.
>
> Digging deeper in my configure, I find that the test uses the shell
> function ac_fn_c_try_compile(), and that shell function has an
> interesting bit of code:
>
> 1340 test -z "$ac_c_werror_flag" ||
> 1341 test ! -s conftest.err
> 1342 } && test -s conftest.$ac_objext; then :
> 1343 ac_retval=0
>
> Hmmm...it's checking something to do with a Werror flag! Maybe there's
> a workaround, but (a) is only activated if the -Werror is in CFLAGS, not
> CC -- otherwise *I* would have passed the STC with CC='gcc -Wall
> -Werror' but I didn't, and (b) its only present in specific (newer?)
> versions of autoconf, and you and I are using different versions.
>
> Here's the first 3 lines of my configure script:
>
> 1 #! /bin/sh
> 2 # Guess values for system-dependent variables and create Makefiles.
> 3 # Generated by GNU Autoconf 2.68.
>
> What's yours say?
Autoconf version matches yours:
$ cygcheck -c autoconf2.5
Cygwin Package Information
Package Version Status
autoconf2.5 2.68-1 OK
$ head -3 configure
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.68 for run2 0.4.0.
Moving the -Werror flag to the cygmake step did the trick:
$ diff -u run2-0.4.0-1.cygport.orig run2-0.4.0-1.cygport
--- run2-0.4.0-1.cygport.orig 2009-12-29 07:30:19.000000000 +0100
+++ run2-0.4.0-1.cygport 2011-05-25 11:11:51.139200000 +0200
@@ -11,7 +11,7 @@
cd ${S}
cygautoreconf
cd ${B}
- cygconf CFLAGS="-Wall -Werror"
- cygmake
+ cygconf CFLAGS="-Wall"
+ cygmake CFLAGS="-Werror"
}
checking for an ANSI C-conforming const... yes
I've been able to compile without problems.
Thanks for your time.
--
Huella de clave primaria: AD8F BDC0 5A2C FD5F A179 60E7 F79B AB04 5299 EC56
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 230 bytes
Desc: Digital signature
URL: <http://cygwin.com/pipermail/cygwin/attachments/20110525/70d8640f/attachment.sig>
More information about the Cygwin
mailing list