Mail Archives: cygwin/2012/07/13/17:25:26
X-Recipient: | archive-cygwin AT delorie DOT com
|
X-SWARE-Spam-Status: | No, hits=-3.3 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,KHOP_RCVD_TRUST,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,TW_YG
|
X-Spam-Check-By: | sourceware.org
|
MIME-Version: | 1.0
|
Date: | Fri, 13 Jul 2012 14:25:03 -0700
|
Message-ID: | <CAMkU=1yRPm7vu30taP6Y0xNy3BRZxVOYUAL_aMCo794SSbGb6Q@mail.gmail.com>
|
Subject: | compiling coreutils with cygport
|
From: | Jeff Janes <jeff DOT janes AT gmail DOT com>
|
To: | cygwin AT cygwin DOT com
|
X-IsSubscribed: | yes
|
Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm
|
List-Id: | <cygwin.cygwin.com>
|
List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com>
|
List-Archive: | <http://sourceware.org/ml/cygwin/>
|
List-Post: | <mailto:cygwin AT cygwin DOT com>
|
List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/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
|
If I use setup.exe to download the src for coreutils (just by checking
the "Src?" checkbox in the gui) , and then use cygport to build it, it
fails. The reason it fails seems to be that ginstall.exe does not
have the proper manifest file so windows refuses to execute it. This
is the same error you get if you try to build coreutils downloaded
from upstream gnu sources.
cygport coreutils-8.15-1.cygport prep compile
....
make[2]: Entering directory `/usr/src/coreutils-8.15-1/build/man'
GEN chcon.1
GEN chgrp.1
GEN chmod.1
GEN cksum.1
GEN chown.1
GEN dd.1
GEN dir.1
GEN dircolors.1
GEN install.1
help2man: can't get `--help' info from install.td/install
Makefile:1833: recipe for target `install.1' failed
make[2]: *** [install.1] Error 126
make[2]: *** Waiting for unfinished jobs....
GEN ls.1
make[2]: Leaving directory `/usr/src/coreutils-8.15-1/build/man'
Makefile:1594: recipe for target `all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/coreutils-8.15-1/build'
Makefile:1549: recipe for target `all' failed
make: *** [all] Error 2
*** ERROR: make failed
This error is present when using the latest cygport, but it has not
new to that version, it has been around for months, and on multiple
different systems.
If I delete the two patch files which setup.exe automatically
downloads into /usr/src (coreutils-8.15-1.src.patch and
coreutils-8.15-1.cygwin.patch), and then run cygport as before, it
compiles fine. Also, it works if I delete all the files which
setup.exe downloads to /usr/src except for the
"coreutils-8.15-1.cygport" one, and then run:
cygport coreutils-8.15-1.cygport download prep compile
So it looks like the setup.exe is giving me a coreutils tar ball which
has already been patched to work with cygwin, but is also giving me
some patch files which undo that and cause it to be broken again. I
can work around that by deleting the patch files, but it doesn't seem
like that should be necessary. Is the problem in cygport, or
setup.exe, or in my understanding of how these things are supposed to
work together?
As an aside, the reason I wanted to build coreutils from source is
that I was trying to figure out why cut.exe is so slow, even under
LANG=C. It is slow both compared to a functionally equivalent
invocation of cygwin's awk.exe, and compared to running cut on a linux
VM. What I found was that cut.exe is slow because the "putchar"
function is slow under cygwin. cut.exe uses "putchar" to generate
its output, while awk.exe does not. I'm kind of at a dead-end there,
as I can't figure out where putchar itself is implemented. So I've
just learned to use awk.exe rather than cut.exe when I care about
performance.
Cheers,
Jeff
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
- Raw text -