Re: GCC-4.7.2-2: Go/No-go?

2013-04-20 Thread Dave Korn
On 17/04/2013 19:59, Yaakov (Cygwin/X) wrote:
 On 2013-04-11 07:32, Dave Korn wrote:
 On 11/04/2013 07:58, Yaakov (Cygwin/X) wrote:
 Your boehm-gc patch can replace my java-libgc-win32.patch, provided it
 works properly.

It appears to, libjava testsuite results are as good as they've
 ever been,
 although I don't know whether or not the testsuite checks the
 invocation API.
   It's certainly the more complete approach to take than just not
 supporting
 the register/unregister methods, as confirmed by the fact that upstream
 boehm-gc has implemented it for Cygwin.
 
 There is a mistake in that patch.  The DEBUG_CYGWIN_THREADS conditionals
 need to be if, not ifdef, as elsewhere in the same source file.

  Oops, that was a cut'n'paste error when I copied the skeleton of those
functions from pthread_support.c, where #ifdef DEBUG_THREADS is the form to
use.  Thanks for spotting it; fixed in my repo ready for next release.

cheers,
  DaveK




Re: [ANNOUNCEMENT] Updated: expat 2.1.0-1

2013-04-16 Thread Dave Korn
On 16/04/2013 14:25, Warren Young wrote:
 On 4/11/2013 14:38, Dave Korn wrote:
 
 The static archive /usr/lib/libexpat.a was present in 2.0.1-1(*) and is 
 missing in 2.1.0-1(**), was that intentional?
 
 I think I got that, um, feature for free when I converted to cygport for
 that package.  Someone is passing --disable-static to the configure script,
 and it isn't me.
 
 I've fixed this with CYGCONF_ARGS=--enable-static  The static library 
 does now appear in the -devel package.
 
 The .a is about 3x the size of the .dll.  Is that normal, or am I supposed
 to be stripping the .a before packaging it?

  Yes, totally normal, it's a whole set of individual object files with all
their overhead, rather than just the linked text/data content of those files.
 No, don't strip it, that decision should be left until linking a final
executable.

 Does someone actually want this static library?  I'm going to RFU it 
 anyway, since I've gone to the trouble of fixing it, but I was curious if
 it actually mattered to someone.

  GDB apparently prefers linking statically to libexpat.  Dunno why, but it
saves me adjusting my dependencies in a package I'm shipping to a customer, so
thanks :)

cheers,
  DaveK


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



Re: Debugging totally broken with latest everything?

2013-04-15 Thread Dave Korn
On 15/04/2013 18:14, Christopher Faylor wrote:
 On Mon, Apr 15, 2013 at 05:03:17PM +0100, Dave Korn wrote:
  Some notes on the above:

  The same happens with both the previous version and current snapshot of the
 cygwin dll.  It also happens with both current gdb and an old gdb
 6.8.0.20080328-cvs that I have lying around.

  The hw.exe in question is your bog-standard hello world, compiled with -g
 -O0 using gcc4-4.5.3-3.

  kill -9 won't kill gdb; I have to use Windows task manager.  If I've
 attached gdb to the hung gdb, I can kill it from there using the k 
 instruction.

  Anyone else having similar problems?
 
 You're probably seeing a known bug in gdb where it no longer works well
 when run from a console window.  There is a race where gdb tries to get
 tty information from a stopped cygwin process.  Although I didn't
 introduce the problem, I have tried to fix it from time to time without
 much luck.

  It must be an interaction between gdb and the cygwin dll, since my
old-and-previously-working-just-fine-in-a-console gdb-6 has also stopped 
working.

 Debugging from mintty will probably work better.

  It certainly does.  Thanks for the tip.

cheers,
  DaveK


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



Re: 64bit: cygstdc++-6.dll

2013-04-13 Thread Dave Korn
On 13/04/2013 11:07, Corinna Vinschen wrote:
 On Apr 12 21:31, Dave Korn wrote:

   Nope, just vague about input and output sections.  Enabling auto imports
 selects a linker script that causes all the .rdata in the input object files
 
 Out of curiosity, which linker script is that?  What's the difference
 to the normal one?

  Well, since auto import became the default, it is the normal one, but that
aside, they're both built-in scripts.  Compare the output from ld
--disable-auto-import --verbose and ld --verbose to see the difference.  Or
you can look at the copies that ld installs into
/usr/i686-pc-cygwin/lib/ldscripts/; the .x file is the plain one, the .xa is
the auto-import one.

 to be placed in the plain old .data section of the output executable, so that
 it will be RW-mapped when loaded.  Apparently the Windows runtime loader 
 can't
 deal with updating import references into RO-mapped pages.  The consequence 
 of
 that is that all the pages with import references get modified and COWed on
 load and so it reduces the amount of the mapped memory that can be shared
 between instances of the same executable.
 
 I'm a bit puzzled in terms of the additional R/W space this amounts to.
 When loading an executable, there is the entire IAT which has to be
 modified by the loader, anyway.  That includes all functions and data
 imported from other DLLs.  To what extent do the auto-import entries add
 to that?  If it's just another indirection, that would add 5 bytes
 (absolute jmp) on i686, and 8 bytes (an absolute address in a pseudo-GOT
 table) on x86_64 per auto-imported symbol.  That's not a lot, probably
 not even a 4K page per executable.  How significant is that?

  But it's not a separate contiguous list of pointers.  What's happening is
that there are various structures in the .rdata that contain imported
pointers.  They'll be scattered throughout the .rdata, along with all the
other const data that /doesn't/ have pointers that have to be auto-imported.
So depending on the percentages and how it happens to end up in the link
order, it could be any or all of the .rdata pages that get COWed on startup.

   I'm not sure how significant this is in general usage, and I'm generally in
 agreement that removing auto-import would be a significant hassle.
 
 That, too.

  Yeah.  So I guess we have to live with it.

  However it's probably still worth having the markers in libstdc headers,
because that at least makes it possible for people to write applications and
disable auto imports if they're only using libstdc (and/or other shared libs
that also have markers in their headers).  That would be desirable for
something that you're going to want to spawn many instances of (either
consecutively or concurrently).

cheers,
  DaveK



Re: Recent cygport and cygwin-specific READMEs [Was: Re: GCC-4.7.2-2: Go/No-go?]

2013-04-13 Thread Dave Korn
On 13/04/2013 15:49, Corinna Vinschen wrote:
 On Apr 13 12:39, Andy Koppe wrote:
 On 13 April 2013 10:03, Corinna Vinschen wrote:
 On Apr 13 06:55, Andy Koppe wrote:
 I'm struggling to get setup.hint generation to work. Is it supported
 with cygport 0.11.3 as currently in the distros? Below is the
 mintty.cygport I've got. Do I need to do anything else to trigger it?

 Cygport prints  mintty requires: at the end, which is correct as
 it doesn't require anything beyond the Cygwin DLL, but there's no
 setup.hint.
 Sure?  Did you look into the dist subdir in your builddir after
 the install stage?  It should contain a complete mintty dir for
 upload.
 You're right, there is, inside the working directory created by
 cygport, and it looks correct. I'd expected the setup.hint to appear
 next to the .cygport and the packaged .tar.bz2 files.
 
 IIU Yaakov C, the dist dir is the way to go in future.  The toplevel
 files is the old style, supposed to go away at one point.  I like the
 dist dir approach a lot.

  Glad to hear that.  I also much prefer the dist dir to plonking all the
files in the toplevel with no directory structure.  It's much simpler for
uploading.

cheers,
  DaveK



Re: GCC-4.7.2-2: Go/No-go?

2013-04-12 Thread Dave Korn
On 11/04/2013 21:42, Thomas Wolff wrote:
 Am 11.04.2013 14:34, schrieb Dave Korn:

 Also, I don't plan on doing it unless there's significant demand.
 I would appreciate to keep it as gcc-3.

  Fancy being the maintainer for it then? ;-)

 The reason is quite peculiar; gcc-4
 changed the order of variables in the stack frame of a function call, which
 led to one very specific interworking malfunction (between mintty and
 mined) which in turn unveiled a very subtle bug. This is material for very
 interesting debugging exercises for students... Not sure whether it's
 significant but the changed variable order might in fact affect other
 software as well. -- Thomas

  Only seriously buggy software.  Anything in a C program that attempts to
make inferences about the layout of the stack frame is invoking undefined
behaviour.

cheers,
  DaveK



Re: GCC-4.7.2-2: Go/No-go?

2013-04-12 Thread Dave Korn
On 12/04/2013 11:44, Yaakov (Cygwin/X) wrote:
 On 2013-04-11 23:24, Dave Korn wrote:

 Most of the discussed features are already in the latest release.  Right 
 now, the major difference between the release and git master is full 
 support for x86_64-pc-cygwin, but there are a number of other bugfixes and
 enhancements.  I hope to cut a release from master as early as next week.
 
 (Also, what is the unversioned file format?)
 
 Where the file is named foo.cygport and NAME/VERSION/RELEASE are defined 
 inside of the cygport(5) instead of deriving these from the filename as 
 before.  My gcc.cygport is an example of this, as well as the use of 
 setup.hint generation.

  Great, then I'll take full advantage of the new stuff.

 Huh?  Cygport doesn't own CC any more than autotools if it's not being
 used. CC is a user variable.  It belongs to make, and the make info page 
 in the section on Makefile Conventions says that the user can
 substitute alternatives.  Maintainers aren't the only people who use the
 compiler!
 
 *Within the scope of cygport*, cygport(1) is the user and it controls CC
 based on a number of factors.
[ ... ]
 Saying CC=gcc-4 obviously doesn't work in all those scenarios.

  Well, yes, but we're talking here about whether I should leave a symlink
called gcc-4.exe in /usr/bin for the benefit of any end users who might have
makefiles (or other scripts) that aren't in any way related to cygport at all,
so none of that is relevant.

 You still haven't explained exactly what the problem is.  You don't
 need libgcj on the system in order to build a native gcc with java.
 Why would the presence or lack of libgcj*.la make a difference?
 
 Ah, that's where our misunderstanding is.  It's the presence of 
 libstdc++.la that is required for libjava to build, not libgcj.la.
[ ... ]
 Oh, now I get it.  What *really* happened is that last time you tried this,
 you still had GNOME .la files on your system, some of which contained
 references to libstdc++.la because of the then-embedded copy of harfbuzz in
 the Pango libraries.  So when you installed an .la-less gcc then rebuilt
 gcc, the link failed because of the remaining libstdc++.la references in
 libgtkpeer's many (sub)deps; the same would have happened building *any*
 GTK+/GNOME package with libtool.
 
 This would have worked even then if you had run the 
 fix-libtool-scripts-for-latest-gcc-runtimes.sh script with my modifications
 thereto (Ports gcc commit 00c6f36) immediately after installing the
 .la-less gcc.  In any case, the current versions of the GNOME libraries do
 not include .la files, so you won't have this problem with rebuilding gcc.
 (You should still run the modified script in any case.)

  Ah, thanks for the explanation.  That makes sense to me.

 Don't get me wrong, libtool is still the best option for building libraries
 portably, but it does not need .la files on the system to do so with shared
 libraries.  Now that we've figured out what the problem really was, and
 that it doesn't exist anymore, could we drop them from the next release?

  Absolutely, assuming nothing goes wrong when I test it.

  I should still package the updated version of
fix-libtool-scripts-for-latest-gcc-runtimes.sh and invoke it postinstall for
the benefit of any other .la files that are still on the system, right?

cheers,
  DaveK



Re: 64bit: cygstdc++-6.dll

2013-04-12 Thread Dave Korn
On 12/04/2013 16:57, Corinna Vinschen wrote:
 Dave?  Ping?

  Heh, don't panic, I'm still here!  Just needed some sleep :)

 On Apr 11 15:37, Corinna Vinschen wrote:
 On Apr 11 12:16, Corinna Vinschen wrote:
 On Apr 10 18:16, Corinna Vinschen wrote:
 On Apr 10 16:49, Dave Korn wrote:
 On 10/04/2013 10:57, Yaakov (Cygwin/X) wrote:

 Could you explain the necessity of the dllimport's in the same patch?
   The idea is to one day be able to move away from having auto-import 
 enabled
 by default in binutils, so that .rdata can go back into the 
 read-only-mapped
 .rdata section and be shared between processes as it ought.
 Doesn't that affect applications which use something like

   extern int optind;

 in their code?  Kai did quite a job to get this working on x86_64 by
 implementing the medium/large code models for x86_64, and Cygwin's
 x86_64 gcc uses the medium code model by default.  Disabling this again
 would be rather counterproductive.
 What about this issue?  If the idea is to revert all automatism which
 allows to declare external variables in DLL s without dllimport, then
 I don't think that's a good idea for Cygwin.

 If I misunderstand the issue, please say so.
 Oh, and, btw., I don't quite understand

   so that .rdata can go back into the read-only-mapped .rdata section

 Typo?

  Nope, just vague about input and output sections.  Enabling auto imports
selects a linker script that causes all the .rdata in the input object files
to be placed in the plain old .data section of the output executable, so that
it will be RW-mapped when loaded.  Apparently the Windows runtime loader can't
deal with updating import references into RO-mapped pages.  The consequence of
that is that all the pages with import references get modified and COWed on
load and so it reduces the amount of the mapped memory that can be shared
between instances of the same executable.

  I'm not sure how significant this is in general usage, and I'm generally in
agreement that removing auto-import would be a significant hassle.

  I think it might explain why, when I'm running the GCC testsuite and have
been through a few tens of thousands of compiles, I frequently see a whole
bunch of gcc.exe instances just sitting there, doing nothing and using almost
no CPU for 20 to 30 seconds while their stack traces indicate they're stuck in
kernel paging-and-caching-related code.

  But overall, I guess we have to live with it.

cheers,
  DaveK



Re: GCC-4.7.2-2: Go/No-go?

2013-04-11 Thread Dave Korn
On 11/04/2013 03:23, Yaakov (Cygwin/X) wrote:
 On 2013-04-10 11:56, Dave Korn wrote:
It takes 11 hours on a triple-core machine at -j6 to build and
 package GCC.
   In order to guarantee consistent reproduction I always respin the built
 package from -src package through two generations.  It then takes
 three to
 five days to run enough of the testsuite to be confident that the
 packaged
 compiler works well.  So it'd be next week at the earliest.
 
 While your diligence is admirable, I think some common sense review can
 be used here, as only one of my patches actually affects the compiler
 itself, and even then only the specs.  I'm not exactly messing around
 with code generation here.

  Yes, I've looked at most of your patches already, I'm not saying there's any
complication in adding them, it's just that I didn't want to wait another
howevermany days before getting 4.7.2-2 out there.  I'll put them all into the
next release, which I'll get on with pronto.

 BTW, in your absence, it was agreed that gcc3 should go away and that
 gcc4 should be *the* gcc in the distro.  This will simplify the build
 and drop the dep on 'alternatives'.  Can this get into the next release?

  Yep, sure.  *sigh*, I'm sure we'll suddenly find out that someone was using
it and wants to know where it's gone.  (I suppose if that happens I could
always consider rolling a gcc3 package with all -3 suffixed executables.)

  I'll need to make sure not to lose the cc.exe - gcc.exe symlink, and it
might be useful for backward-compatibility to provide a bunch of -4 suffixed
links to the other executables for people who've written CC=gcc-4 in their
Makefiles, but that can be done with just ln rather than using alternatives.

 I don't understand why there's a libquadmath0-devel; like the other C
 libraries, this should just be part of gcc-core.  

  Hmm.  I got the impression that libquadmath could stand alone, i.e. be
useful in a non-GCC context, but I guess not or it would be installing its
include files into /usr/include rather than the GCC private include dir.  I'll
merge it into gcc-core in the next release as you suggest.

 This was only
 necessary for libstdc++, and only so long as .la files were included.
 IIRC we agreed to remove them, but your reason for not doing so in the
 .cygport isn't clear to me.

  Without the .la files, libjava doesn't build.  And in general I don't want
to second-guess the compiler: since the upstream makefiles think it's
important to install them, so do I.

 Also, could you please explain the reasons for the ehdebug, execstack,
 and shared-libgcc patches?

  ehdebug: When we first switched from sjlj to dw2 exceptions, there were so
many corner case bugs that kept cropping up across multiple releases that I
wanted to hang onto the debugging code.  During development the debugging
output was under control of a variable that I replaced by a #define 0 just
before the release.  It's obsolete now, I'll drop it, but it was incredibly
useful for the first few gcc4 releases.

  execstack: Trampolines need an executable stack.  DEP on recent Windows OSs
marks the stack non-executable; this option allows the stack to be set
executable during the runtime startup, without having to disable DEP for the
entire process.  Think I may have inherited it from Danny Smith.  Mingw has it
upstream, I'll get it committed there for Cygwin too.

  shared-libgcc: Makes linking against shared libgcc the default for all
executables; previously it was only on by default for DLLs.  Vital for
importing TLS variables from DLLs, upstream since 4.8.0.

cheers,
  DaveK



Re: upset: *** setup.ini: warning - package gcc4-java requires non-existent package java-ecj

2013-04-11 Thread Dave Korn
On 11/04/2013 05:47, Christopher Faylor wrote:
 On Thu, Apr 11, 2013 at 02:21:00AM +0100, Dave Korn wrote:
 On 11/04/2013 02:05, Dave Korn wrote:
 On 11/04/2013 01:18, Christopher Faylor wrote:
 gcc won't be available until this is fixed.
   Oops.  I'll just edit it on the server.  Sorry for the inconvenience.
  Should be ok now I trust.  Apologies once more, I've updated my local hint
 file in svn to prevent it happening again.
 
 No problem.  Your fix is confirmed.  Thanks for the quick response.
 
 cgf

  Being a confirmed cynic^W^Wexperienced programmer, I always like to stay
online for a while after committing or releasing something, in case of any
aftermath.

cheers,
  DaveK


Re: [ITP] libffi (attn: Dave Korn)

2013-04-11 Thread Dave Korn
On 11/04/2013 03:44, Yaakov (Cygwin/X) wrote:
 On 2013-04-10 20:40, Dave Korn wrote:
Surely there'll be a problem if the curr: version of everything
 else goes to 4.7.3-1 but there's no matching version of libffi4?
 
 Not as long as 4.5.3-3-src remains.

  Well, there have been some bugfixes in gcc/libffi upstream, so as long as
anyone out there might conceivably have some homebrew app that they've linked
against libffi4, I'd like to do them the favour of giving them a final updated
version to live with until they get round to rebuilding against libffi6.  It's
no skin off my (or anyone else's) nose as far as I can see.

cheers,
  DaveK



Re: GCC-4.7.2-2: Go/No-go?

2013-04-11 Thread Dave Korn
On 11/04/2013 11:13, Corinna Vinschen wrote:
 On Apr 11 01:58, Yaakov (Cygwin/X) wrote:
 On 2013-04-11 01:02, Dave Korn wrote:
   Yep, sure.  *sigh*, I'm sure we'll suddenly find out that someone was 
 using
 it and wants to know where it's gone.  (I suppose if that happens I could
 always consider rolling a gcc3 package with all -3 suffixed executables.)
 3.4 is EOL and should have been dropped long ago; we simply don't
 have the resources to support it ourselves.  Just about any software
 that people are building today either works with recent 4.x or the
 distros have a patch for it.
 
 FWIW, I agree.
 
 
 AOL-Corinna

  I said I could consider it, I didn't say I was necessarily going to do it :)

  Still, you'd be surprised the number of questions I see on random websites
(stackoverflow, linuxquestions and similar) where someone's asking how to
install an old GCC to build some old software.

cheers,
  DaveK




Re: GCC-4.7.2-2: Go/No-go?

2013-04-11 Thread Dave Korn
On 11/04/2013 13:22, NightStrike wrote:

 Speaking of which..   4.8 is out...

  Point.  Anyone got any particular preference whether I go for a 4.7.3 or
4.8.0 release next?  Maybe do a 4.7.3 curr: and then a 4.8.0 test: package?

cheers,
  DaveK


Re: GCC-4.7.2-2: Go/No-go?

2013-04-11 Thread Dave Korn
On 12/04/2013 00:36, Yaakov (Cygwin/X) wrote:
 On 2013-04-11 07:35, Dave Korn wrote:
 On 11/04/2013 13:22, NightStrike wrote:
 Speaking of which..   4.8 is out...
 
 So is GNOME 3.8.0, but I tend to let others deal with the early bugs and 
 catch up by .1 or even .2.
 
 Point.  Anyone got any particular preference whether I go for a 4.7.3 or 
 4.8.0 release next?  Maybe do a 4.7.3 curr: and then a 4.8.0 test: 
 package?
 
 For the same reason, I'd go with 4.7.3 first.  But let's not wait until 4.9
 to update GCC again this time, okay? :-)

  Yeh, promise!

cheers,
  DaveK



Re: GCC-4.7.2-2: Go/No-go?

2013-04-11 Thread Dave Korn
On 12/04/2013 00:28, Yaakov (Cygwin/X) wrote:
 On 2013-04-11 07:32, Dave Korn wrote:
 On 11/04/2013 07:58, Yaakov (Cygwin/X) wrote:
 Also in the 4.8 branch is a patch to unversion the LTO plugin; it 
 applies to 4.7 as well.
 
 I'll take a look for that.  Does it really matter?  I don't suppose we
 need support swapping LTO plugins between different versions of the 
 compiler, it's totally a for-internal-use-only thing.
 
 Does it really, *really* matter?  Perhaps not, but IMO it's the proper 
 thing to do for all arches, since the LTO plugin is just that, a plugin. 
 (If Apple were to still use GCC, it *would* matter, as there are 
 fundamental differences between Mach-O dylibs and bundles.)

  Well, maybe I'll just wait until I get to a 4.8 release naturally and let it
happen then.  Or maybe I'll backport the patch for 4.7.3.  I'll see how I feel
at the time, since it's not /critical/ and I'd like to prioritise.

 Something else you missed: cygport supports a new, unversioned file 
 format, and creates setup.hint files, including dependency detection.
 I suggest using git master right now.
 
 Wouldn't that mean that the -src package I ship won't rebuild with the 
 version from the standard distribution?
 
 I usually recommend using cygport git master, and a number of maintainers
 track it.

  I want to ship packages that the general public can rebuild using the
standard distro really.  Do you have any idea of a schedule for releasing
these features?  (Also, what is the unversioned file format?)

 That was never right, CC isn't supposed to be (ab)used like that.  I 
 don't mind not supporting that going forward.
 
 Well it's not exactly any trouble so I may as well do it.  If you're not 
 using autotools, CC is yours to do what you like with isn't it?
 
 No, it's not.  In the cygport manual, [Definitions] should be treated as 
 readonly, and [Variables] can be altered.

  Huh?  Cygport doesn't own CC any more than autotools if it's not being used.
 CC is a user variable.  It belongs to make, and the make info page in the
section on Makefile Conventions says that the user can substitute
alternatives.  Maintainers aren't the only people who use the compiler!

 How could removing the .la files during postinstall affect building 
 libjava beforehand?
 
 Heh, of course not, I'm not suggesting time travel!  I should have said 
 *re*build: without the .la files installed on the user's system, the -src
  package fails to rebuild.  I imagine (but didn't test) that applies to 
 building plain upstream SVN/tarball as well.
 
 You still haven't explained exactly what the problem is.  You don't need 
 libgcj on the system in order to build a native gcc with java.  Why would
 the presence or lack of libgcj*.la make a difference?

  Ah, that's where our misunderstanding is.  It's the presence of libstdc++.la
that is required for libjava to build, not libgcj.la.  That's because of a
failure during linking (the awt peer IIRC) when libtool can't locate libstdc
to link against.  That in turn happens because it uses gcc.exe to link, not
g++.exe, and that in turn happens because libtool is invoked with the CC tag,
not CXX, and that in turn happens because the module is composed entirely of
.c files and does not have any .cc files to trigger libtool's language
detection to know that C++ is required.

 As for the makefiles installing the .la files, upstream isn't 
 choosing to do so, that's just how libtool works.  Some Linux
 distros, including Fedora, have been removing them from all binary
 packages (except when they are needed by lt_dlopen() and friends), and
 for very good reason.
 
 What's the very good reason?
 
 Because they cause more trouble than they're worth, e.g. necessitating 
 hacks such as fix-libtool-scripts-for-latest-gcc-runtimes.sh.  This is a 
 good summary of some of the issues:
 
 https://lists.fedoraproject.org/pipermail/mingw/2012-January/004421.html

  Hmm.  I need to digest that some more.  I'm not entirely certain that it
applies to the compiler runtime libs, because people often do use static
linking against them when they want to make standalone executables.

 shared-libgcc: Makes linking against shared libgcc the default for
 all executables; previously it was only on by default for DLLs.
 Vital for importing TLS variables from DLLs, upstream since 4.8.0.
 
 Here we go again...
 
 Huh?
 
 We started with 4.3 using the static libgcc by default, then switched to 
 linking everything with -lgcc_s, then with 4.5 switched to doing so by 
 default only for DLLs (to minimize rebase errors iirc), and now we're going
 back to shared across-the-board.  I'm not complaining, and it seems like
 the right thing to do, but it does evoke a sense of deja vu.

  Ah, I didn't remember that we'd taken a step back at one point during the
process, I thought it had been a linear progression but that does ring a bell.
 Well, I'm sure now that it was the wrong way to try and solve the rebase
problems, it's seriously

Re: FIXED: GCC can't find its header directoriescy

2013-04-11 Thread Dave Korn
On 11/04/2013 07:08, Duncan Roe wrote:
 Thanks Dave - removing the old cygwin dlls from C:\WINDOWS fixed gcc 
 alternatives.

  Glad to hear it!

 I put them there because I like to have the odd cygwin utility available
 to CMD.EXE. 
 
 May put them back - but will take more care with them in future,

  The better way to do that is just to add your cygwin\bin dir to your PATH in
the Windows environment variables.  That way you get all your cygwin stuff
available in cmd.exe but it's always the up-to-date stuff from your main
installation.

  (The only problem I've ever run into in this approach is that both Cygwin
and MSVC have a link.exe command, so you can end up getting the wrong one.
You can avoid this by any combination of specifying full paths to the
particular one you want, choosing whether to put cygwin\bin at the start or
end of your Windows PATH, or customising your vcvars.bat to make sure the MSVC
version is earlier in the PATH when you launch it.  I've never found it to be
a big problem compared to the convenience of having a real grep available in
cmd.exe!)

cheers,
  DaveK


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



Re: [ANNOUNCEMENT] Updated: experimental package: gcc4-4.7.2-2

2013-04-11 Thread Dave Korn
On 11/04/2013 00:58, Dave Korn wrote:

   I would like to express my gratitude to JonY for stepping into the breach
 caused by my absence from the Cygwin community and releasing the first test
 version of GCC 4.7 series.  He did a very difficult job and did it well and
 deserves the highest of praise for doing so.

  It was suggested to me off-list, and I concur, that this is worthy of a gold
star, if not two.  May it please the maintainer of the stars to consider my
request?

cheers,
  DaveK

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



Re: [ANNOUNCEMENT] Updated: expat 2.1.0-1

2013-04-11 Thread Dave Korn
On 12/06/2012 13:31, Warren Young wrote:
 PACKAGE DESCRIPTION
 ===
 
 Homepage: http://sourceforge.net/projects/expat/
 License : MIT-like
 
 Expat is a C library for parsing XML, originally created and maintained
 by James Clark, but since 2001 taken over by a loose group of contributors.
 
 
 CYGWIN-SPECIFIC CHANGES SINCE LAST RELEASE
 ==
 
 None.  This release simply tracks the 2.0.1 - 2.1.0 upstream release.

  The static archive /usr/lib/libexpat.a was present in 2.0.1-1(*) and is
missing in 2.1.0-1(**), was that intentional?

cheers,
  DaveK
--
*  - http://cygwin.com/packages/libexpat1-devel/libexpat1-devel-2.0.1-1
** - http://cygwin.com/packages/libexpat1-devel/libexpat1-devel-2.1.0-1


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



Re: 64bit: cygstdc++-6.dll

2013-04-10 Thread Dave Korn
On 10/04/2013 10:57, Yaakov (Cygwin/X) wrote:

 Could you explain the necessity of the dllimport's in the same patch?

  The idea is to one day be able to move away from having auto-import enabled
by default in binutils, so that .rdata can go back into the read-only-mapped
.rdata section and be shared between processes as it ought.

cheers,
  DaveK



Re: GCC-4.7.2-2: Go/No-go?

2013-04-10 Thread Dave Korn
On 10/04/2013 16:47, Christopher Faylor wrote:

 It isn't clear to me why we'd be spending days discussing this when
 presumably the patches apply without too much effort.  Some of the
 patches here:
 
 http://cygwin-ports.git.sourceforge.net/git/gitweb.cgi?p=cygwin-ports/gcc
 
 look worthwhile to me.  If we're talking about only gcc 4.7 fixes then
 it looks like we're only talking about five patches, none of them are to
 source files, and none of them are very big.

  It takes 11 hours on a triple-core machine at -j6 to build and package GCC.
 In order to guarantee consistent reproduction I always respin the built
package from -src package through two generations.  It then takes three to
five days to run enough of the testsuite to be confident that the packaged
compiler works well.  So it'd be next week at the earliest.

  Hence I'm uploading 4.7.2-2 now.

cheers,
  DaveK



Re: [ITP] libffi (attn: Dave Korn)

2013-04-10 Thread Dave Korn
On 10/04/2013 10:50, Yaakov (Cygwin/X) wrote:
 On 2013-04-10 04:29, Corinna Vinschen wrote:
 On Apr 10 04:06, Yaakov (Cygwin/X) wrote:
 libffi development moved out of GCC into a separate project a long
 time ago; the copy included in GCC is used for libgcj, but only as a
 convenience (static) library, and it is usually a few point releases
 behind the standalone version.  Finally, last month, GCC was patched
 upstream to stop installing its copy (a similar patch for 4.7.2 and
 4.8.0 is in Ports git).

 Therefore I think the time has arrived to join Fedora and Debian and
 switch i686 to the standalone version.  (We are already using this
 for x86_64.)  This will also simplify building many of the ~20
 packages which use libffi and expect the .pc file provided only by
 the standalone version.

 http://cygwin-ports.git.sourceforge.net/git/gitweb.cgi?p=cygwin-ports/libffi

 ftp://ftp.cygwinports.org/pub/cygwinports/temp/libffi/

 Isn't that independent from what gcc itself does?  If so, feel free
 to upload.
 
 Only the man3 pages collide with gcc4-core.  But gcc's libffi.dll.a will
 take priority over the one in /usr/lib (see gcc -print-search-dirs), so
 manual intervention will be necessary until our gcc stops shipping libffi.

  Okeydokey.  Upstream libffi generates cygffi-6.dll, so what I'll do is
incorporate the patch (along with your others) into 4.7.3-1 (which will be a
full curr: version release), and ship one last version of libffi4 (marked
obsolete) with that but make sure the man pages, static import lib etc (-devel
stuff basically) is not packaged.  That'll probably be in ten days or so, at
which point you can upload the standalone libffi.  Makes sense?

cheers,
  DaveK



Re: upset: *** setup.ini: warning - package gcc4-java requires non-existent package java-ecj

2013-04-10 Thread Dave Korn
On 11/04/2013 01:18, Christopher Faylor wrote:
 gcc won't be available until this is fixed.

  Oops.  I'll just edit it on the server.  Sorry for the inconvenience.

cheers,
  DaveK


Re: upset: *** setup.ini: warning - package gcc4-java requires non-existent package java-ecj

2013-04-10 Thread Dave Korn
On 11/04/2013 02:05, Dave Korn wrote:
 On 11/04/2013 01:18, Christopher Faylor wrote:
 gcc won't be available until this is fixed.
 
   Oops.  I'll just edit it on the server.  Sorry for the inconvenience.

  Should be ok now I trust.  Apologies once more, I've updated my local hint
file in svn to prevent it happening again.

cheers,
  DaveK



Re: [ITP] libffi (attn: Dave Korn)

2013-04-10 Thread Dave Korn
On 11/04/2013 02:33, Yaakov (Cygwin/X) wrote:

 After applying my libffi-noinst.patch, all you really need to do is
 remove the libffi4-4.7.* test releases and leave 4.5.3-3 in the distro
 until all libffi-dependent packages are rebuilt (most of which are mine).

  Surely there'll be a problem if the curr: version of everything else goes to
4.7.3-1 but there's no matching version of libffi4?

cheers,
  DaveK




[ANNOUNCEMENT] Updated: experimental package: gcc4-4.7.2-2

2013-04-10 Thread Dave Korn
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


  I have just uploaded an updated GCC-4 package to cygwin.com.  It will be
arriving at your favourite mirror next time it synchronizes itself with the
official Cygwin repository.

  This is a test release of GCC 4.7.2 which replaces the earlier
test release.  It reverts the package dependencies in the Cygwin repository to
those that are correct for the current full version of GCC, 4.5.3-3, as
setup.exe can only support one set of dependencies for all versions of a
package.  This means you may need to select some of the new packages manually,
depending on the set of languages you are installing; see the important note
section in From the README below.

  In addition, this release restores libffi and java which were unavailable
from the previous test version.

  It also makes linking against shared libgcc the default for executables as
well as DLLs, which is necessary for correct sharing of thread-local variables
imported by executables from DLLs.

  I would like to express my gratitude to JonY for stepping into the breach
caused by my absence from the Cygwin community and releasing the first test
version of GCC 4.7 series.  He did a very difficult job and did it well and
deserves the highest of praise for doing so.


--ooOOOoo--
PLEASE SEND BUG REPORTS, PROBLEMS, ETC. TO THE CYGWIN MAILING LIST.
--ooOOOoo--


OBTAINING THE RELEASE
=

To update your installation, click on the Install Cygwin now link on the
http://cygwin.com/ web page. This downloads setup.exe to your system. Then,
run setup.exe, fill in all of the options, and make appropriate choices on the
Select Packages screen. Because this is a test version release, you will
need to manually select any packages and dependent libraries you require: see
below for full details.


NEWS


  From the README:

IMPORTANT NOTE ABOUT DEPENDENCIES AND RUNTIME LIBRARIES
===

Cygwin's setup.exe does not handle a situation where an experimental package
version has different dependencies from the main current version.  For this
reason, the dependencies listed in the Cygwin package repository are those
required by the mainstream (4.5.3-3) release of Cygwin GCC, as those will be
correct for the majority of users.  Anyone wishing to install the test version
of GCC will need to ensure they select manually select the corresponding new
versions of the runtime libraries required.  These dependencies are:

gcc4-java: Requires libgcj13.
gcc4-objc: Requires libobjc4.
gcc4-ada: Requires libgnat4.7.
gcc4-fortran: Requires libquadmath0, libquadmath0-devel.
libgfortran3: Requires libquadmath0.

Cygwin port maintained by: Dave Korn
dave.korn.cygwin AT gmail.com.use.the.list.please
Please address all questions to the main Cygwin mailing list.

This is the key used for signing Cygwin GCC releases:

pub   1024D/6A388C3E 2008-05-31
uid  Dave Korn (release signing key)
 dave.korn.cygwin AT gmail.com
sub   4096g/D4E41590 2008-05-31

Also available at a key-server near you!

- -BEGIN PGP PUBLIC KEY BLOCK-
Version: GnuPG v1.4.9 (Cygwin)

mQGiBEhBdVwRBADGS7UWOR8lvHOcOs161cRjTw1Yp3Qj4Xy5JbaSQFZ6m+DTM7GD
y4tPrM1jr6uYGzikdNzYL6tWKUDvVYjs7bwYJXBQ7ryeLJ4LXs+8cmIFIl4uMc8P
BEpT67gs1+MchBemr1B/s4V8s9laX81mMYd73qqefuCnbUU8+iBKBzfDhwCg6xQU
yIORoWJz5qIHwO23N2uuuKUD/0AsLJOMV1Ig/NVK8ZMss4ozIsgOiBBJ7ZQ9bzzR
8D5EhahVTwPJ7dMXGKWfb21gJHtYjOtwDYJyc5HdIHBPWylI0u6vkiIDD4TZjSDA
fIMBgTKp9SjKBtr4ZJzYZUguTFGJFBDLyieyUDWTXBVQSaDASzEjwwdbbKo5/wzY
GzvYA/458txhAz1GoB3hnaEJgIK0HaOVjetvZif9QQ1L0x10EIjdwgxN8pMR3Gv8
d+pALJpivIe5eMrU2QLpSbiK5QRkndJBYdiEobLCY3Ca6elRB8/ioKUyOzngtAe9
ny0dUNEWDxwtk2yJSxMrcfRjSJMs+4efCqXrRIkfXr1ibE1JybQ8RGF2ZSBLb3Ju
IChyZWxlYXNlIHNpZ25pbmcga2V5KSA8ZGF2ZS5rb3JuLmN5Z3dpbkBnbWFpbC5j
b20+iGMEExECACMCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAUCSMUtrgIZAQAK
CRBN0oLlajiMPrQTAKCJhzyfI8MKSJjYNTXYCo/GITfvTQCgp2Jw70u5NQojF09f
uPhfnX+xed+IYwQTEQIAIwIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheABQJIVRdm
AhkBAAoJEE3SguVqOIw+l4QAoJSM49UfFNHx3jSTV3+o+TQF9Uo/AKDa5iFeDTuO
10t5Rpng0OWJPTR7N7kEDQRIQXVcEBAAnOffXRQSAPcJKW9z8OXwd0UmNFGZbjb5
CW53i2HYmqiYfMLL6XHyyB2o0e0jZuao/+PgxnoVaqpPh7DXYfjup/u5ll2kAK2I
VImGIFYifRLQAWCivQa4LXWR2EvIi1MURrmEjN+JKStBAySiED21QELetUGNzeYT
rsWBpHmAibcBAbwFPw0mhFPqvApcrpMJhALehCqPEu/rfeUnziqo8pdpeKkL0ENl
GsNONGYhDIjzexclRNFFYwzmK2cS5sxwyH94OxBABfgwxsVYB0+zsdjPk3JybK52
+MIcYQU4NBoCYo184pFJ4QhzKmt/8sAicaxLsU4DHqyy9SwFH1cV1Su5RN3DGG2S
0hFImqyTeCiSW2FDSgOtAF0ImEY3HNkfLgych5nFKRj0itPdFG/t6qCJKLf8JsZP
2QDaLQO+42jwn6Y47PaBEMJGttPaY6guATJqVefqayKI4j22w2le4PLxYJ3fIlqi
5rS5m6mJV2ZFRuqSgmGPDgb8+vnvTG/PCTCcK3j4jzUvJ3bX9FtyV9cFnlF+CfQc
ZMdx4qHrhKgoiqJt19Mk8rb19L6KqyLNgJyqvwOcsX8P2yM8t/FAuUeg1EgnYbMz
RywEHEa2+rj2R1FPJGtJdOQLgrPgd4m9t5Eq7zFPuJgKNlWHf1Y0M82A37iYnWna
DyqON5+pPQ8ABAsP/jOOvQjU79Pd8ph7c2LK+UUjGPQVYO5bwUOCDs9ctSIbQgPh

Re: 1.7.15: gcc fails to load: missing cygmpfr-4.dll

2013-04-10 Thread Dave Korn
On 11/04/2013 02:57, Duncan Roe wrote:
 I have just installed cygwin on this system.
 When I try to compile a small program, I get this error:
 
 /usr/lib/gcc/i686-pc-cygwin/4.5.3/cc1.exe: error while loading shared
 libraries: cygmpfr-4.dll: cannot open shared object file: No such file
 or directory

  Sorry about that, I missed a dependency when I uploaded it.

  It's actually fixed as of a few hours ago, but the fix must not have reached
your mirror yet.

  Just use setup.exe to install libmpfr4.

cheers,
  DaveK


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



Re: GCC can't find its header directoriescy

2013-04-10 Thread Dave Korn
On 11/04/2013 06:12, Duncan Roe wrote:
 Thanks guys for the pointers to cygmpfr-4.dll. Got it.
 
 This problem with headers started happening on an old installation so I
 reinstalled but it still happens:

 ignoring nonexistent directory /usr/include

 strerror.c:2:19: error: no include path in which to search for stdio.h

 12:33:27$ ls /usr/include

 locale.hnetdb.h reent.h stdio.h  termios.h   wait.h

 /usr/include definitely exists but gcc / cpp claims it does not.
 Since this just started happening I wonder whether it is caused by
 some update to Windows. (Win XP SP3).
 
 Anyone else seen anything like it? I'm stuck,

  Bizarre.  I've never seen anything like it, nor your problem with altdir
invalid.  However I've got one guess about what might be interfering, from
your cygcheck.out:

45k 2010/08/15 C:\WINDOWS\cyggcc_s-1.dll - os=4.0 img=1.0 sys=4.0
   cyggcc_s-1.dll v0.0 ts=2010/8/15 8:57
   982k 2009/12/23 C:\WINDOWS\cygiconv-2.dll - os=4.0 img=1.0 sys=4.0
   cygiconv-2.dll v0.0 ts=2009/12/24 0:25
31k 2011/11/28 C:\WINDOWS\cygintl-1.dll - os=4.0 img=1.0 sys=4.0
   cygintl-8.dll v0.0 ts=2009/4/3 12:15
31k 2009/04/03 C:\WINDOWS\cygintl-2.dll - os=4.0 img=1.0 sys=4.0
   cygintl-8.dll v0.0 ts=2009/4/3 12:15
31k 2009/04/03 C:\WINDOWS\cygintl-8.dll - os=4.0 img=1.0 sys=4.0
   cygintl-8.dll v0.0 ts=2009/4/3 12:15
   224k 2010/06/15 C:\WINDOWS\cygpcre-0.dll - os=4.0 img=1.0 sys=4.0
   cygpcre-0.dll v0.0 ts=2010/6/15 14:10
10k 2009/12/14 C:\WINDOWS\cygsigsegv-2.dll - os=4.0 img=1.0 sys=4.0
   cygsigsegv-2.dll v0.0 ts=2009/12/14 23:56
  2586k 2010/08/31 C:\WINDOWS\cygwin1.dll - os=4.0 img=1.0 sys=4.0
   cygwin1.dll v0.0 ts=2010/8/31 17:58
 Cygwin DLL version info:
 DLL version: 1.7.7

  Those could well have been interfering.  Get rid of all Cygwin-related DLLs
from your C:\WINDOWS folder (maybe stash them away somewhere safe in case they
turn out to be needed by some Cygwin-dependent application you've got on your
system), then reinstall everything using setup.exe (click on Default next to
the All category in the Category view until it switches to Reinstall,
ignore the couple of warning boxes that pop up on the way there) and see if it
all works better once that's completed.

cheers,
  DaveK



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



Updated: experimental package: gcc4-4.7.2-2

2013-04-10 Thread Dave Korn
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


  I have just uploaded an updated GCC-4 package to cygwin.com.  It will be
arriving at your favourite mirror next time it synchronizes itself with the
official Cygwin repository.

  This is a test release of GCC 4.7.2 which replaces the earlier
test release.  It reverts the package dependencies in the Cygwin repository to
those that are correct for the current full version of GCC, 4.5.3-3, as
setup.exe can only support one set of dependencies for all versions of a
package.  This means you may need to select some of the new packages manually,
depending on the set of languages you are installing; see the important note
section in From the README below.

  In addition, this release restores libffi and java which were unavailable
from the previous test version.

  It also makes linking against shared libgcc the default for executables as
well as DLLs, which is necessary for correct sharing of thread-local variables
imported by executables from DLLs.

  I would like to express my gratitude to JonY for stepping into the breach
caused by my absence from the Cygwin community and releasing the first test
version of GCC 4.7 series.  He did a very difficult job and did it well and
deserves the highest of praise for doing so.


--ooOOOoo--
PLEASE SEND BUG REPORTS, PROBLEMS, ETC. TO THE CYGWIN MAILING LIST.
--ooOOOoo--


OBTAINING THE RELEASE
=

To update your installation, click on the Install Cygwin now link on the
http://cygwin.com/ web page. This downloads setup.exe to your system. Then,
run setup.exe, fill in all of the options, and make appropriate choices on the
Select Packages screen. Because this is a test version release, you will
need to manually select any packages and dependent libraries you require: see
below for full details.


NEWS


  From the README:

IMPORTANT NOTE ABOUT DEPENDENCIES AND RUNTIME LIBRARIES
===

Cygwin's setup.exe does not handle a situation where an experimental package
version has different dependencies from the main current version.  For this
reason, the dependencies listed in the Cygwin package repository are those
required by the mainstream (4.5.3-3) release of Cygwin GCC, as those will be
correct for the majority of users.  Anyone wishing to install the test version
of GCC will need to ensure they select manually select the corresponding new
versions of the runtime libraries required.  These dependencies are:

gcc4-java: Requires libgcj13.
gcc4-objc: Requires libobjc4.
gcc4-ada: Requires libgnat4.7.
gcc4-fortran: Requires libquadmath0, libquadmath0-devel.
libgfortran3: Requires libquadmath0.

Cygwin port maintained by: Dave Korn
dave.korn.cygwin AT gmail.com.use.the.list.please
Please address all questions to the main Cygwin mailing list.

This is the key used for signing Cygwin GCC releases:

pub   1024D/6A388C3E 2008-05-31
uid  Dave Korn (release signing key)
 dave.korn.cygwin AT gmail.com
sub   4096g/D4E41590 2008-05-31

Also available at a key-server near you!

- -BEGIN PGP PUBLIC KEY BLOCK-
Version: GnuPG v1.4.9 (Cygwin)

mQGiBEhBdVwRBADGS7UWOR8lvHOcOs161cRjTw1Yp3Qj4Xy5JbaSQFZ6m+DTM7GD
y4tPrM1jr6uYGzikdNzYL6tWKUDvVYjs7bwYJXBQ7ryeLJ4LXs+8cmIFIl4uMc8P
BEpT67gs1+MchBemr1B/s4V8s9laX81mMYd73qqefuCnbUU8+iBKBzfDhwCg6xQU
yIORoWJz5qIHwO23N2uuuKUD/0AsLJOMV1Ig/NVK8ZMss4ozIsgOiBBJ7ZQ9bzzR
8D5EhahVTwPJ7dMXGKWfb21gJHtYjOtwDYJyc5HdIHBPWylI0u6vkiIDD4TZjSDA
fIMBgTKp9SjKBtr4ZJzYZUguTFGJFBDLyieyUDWTXBVQSaDASzEjwwdbbKo5/wzY
GzvYA/458txhAz1GoB3hnaEJgIK0HaOVjetvZif9QQ1L0x10EIjdwgxN8pMR3Gv8
d+pALJpivIe5eMrU2QLpSbiK5QRkndJBYdiEobLCY3Ca6elRB8/ioKUyOzngtAe9
ny0dUNEWDxwtk2yJSxMrcfRjSJMs+4efCqXrRIkfXr1ibE1JybQ8RGF2ZSBLb3Ju
IChyZWxlYXNlIHNpZ25pbmcga2V5KSA8ZGF2ZS5rb3JuLmN5Z3dpbkBnbWFpbC5j
b20+iGMEExECACMCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAUCSMUtrgIZAQAK
CRBN0oLlajiMPrQTAKCJhzyfI8MKSJjYNTXYCo/GITfvTQCgp2Jw70u5NQojF09f
uPhfnX+xed+IYwQTEQIAIwIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheABQJIVRdm
AhkBAAoJEE3SguVqOIw+l4QAoJSM49UfFNHx3jSTV3+o+TQF9Uo/AKDa5iFeDTuO
10t5Rpng0OWJPTR7N7kEDQRIQXVcEBAAnOffXRQSAPcJKW9z8OXwd0UmNFGZbjb5
CW53i2HYmqiYfMLL6XHyyB2o0e0jZuao/+PgxnoVaqpPh7DXYfjup/u5ll2kAK2I
VImGIFYifRLQAWCivQa4LXWR2EvIi1MURrmEjN+JKStBAySiED21QELetUGNzeYT
rsWBpHmAibcBAbwFPw0mhFPqvApcrpMJhALehCqPEu/rfeUnziqo8pdpeKkL0ENl
GsNONGYhDIjzexclRNFFYwzmK2cS5sxwyH94OxBABfgwxsVYB0+zsdjPk3JybK52
+MIcYQU4NBoCYo184pFJ4QhzKmt/8sAicaxLsU4DHqyy9SwFH1cV1Su5RN3DGG2S
0hFImqyTeCiSW2FDSgOtAF0ImEY3HNkfLgych5nFKRj0itPdFG/t6qCJKLf8JsZP
2QDaLQO+42jwn6Y47PaBEMJGttPaY6guATJqVefqayKI4j22w2le4PLxYJ3fIlqi
5rS5m6mJV2ZFRuqSgmGPDgb8+vnvTG/PCTCcK3j4jzUvJ3bX9FtyV9cFnlF+CfQc
ZMdx4qHrhKgoiqJt19Mk8rb19L6KqyLNgJyqvwOcsX8P2yM8t/FAuUeg1EgnYbMz
RywEHEa2+rj2R1FPJGtJdOQLgrPgd4m9t5Eq7zFPuJgKNlWHf1Y0M82A37iYnWna
DyqON5+pPQ8ABAsP/jOOvQjU79Pd8ph7c2LK+UUjGPQVYO5bwUOCDs9ctSIbQgPh

Re: 64bit: cygstdc++-6.dll

2013-04-09 Thread Dave Korn
On 25/03/2013 08:52, Corinna Vinschen wrote:
 On Mar 24 03:33, Yaakov (Cygwin/X) wrote:

 In any case, the error is a result of adding one of Dave Korn's patches:

 http://cygwin-ports.git.sourceforge.net/git/gitweb.cgi?p=cygwin-ports/gcc;a=blob;f=4.7-libstdc-dllimport.patch;hb=refs/heads/4.8#l29

 I have omitted that patch in the new 4.8.0-1.  Hopefully Dave can
 explain the purpose and necessity of that patch, since it would seem
 that using (at least that hunk of) it would require rebuilding most
 C++ packages in 64bit/release; if it's really necessary, then we
 will want to do that sooner rather than later.

  I believe the patch is no longer necessary.  I added it originally after a
discussion about the implications of exporting typeinfo from DLLs with Danny
Smith in the GCC bugzilla; he was of opinion that there might be incomplete
typeinfos that could not be fully resolved until final link-time of an
application, so the purpose of this patch was to place typeinfo objects into
the cygstdc++.dll.a rather than in the DLL itself.  The idea being that every
app that linked against the DLL would get a copy of the still-relocatable
typeinfo object files from the import library during its own final link.

  I'm now convinced that Danny was needlessly worried.  The cxx-abi does refer
to this situation, in section 2.9.1:

 bNOTE/b: Note that the full structure described by an RTTI descriptor
 may include incomplete types not required by the Standard to be completed,
 although not in contexts where it would cause ambiguity. Therefore, any
 cross-references within the RTTI to types not known to be complete must be
 weak symbol references.

  But I don't think this applies to any of the built-in types in libstdc, so I
think it's safe to include their typeinfo in the DLL and export it.

 That I don't quite understand either.  If this is only about missing
 exported symbols and not about the name, how are the already built
 C++ packages affected?  They could be built, so they didn't use this
 symbols, apparently.

  Removing the patch should generate a backwardly-compatible DLL.  Existing
applications already linked against the DLLs will have their own copies of the
typeinfo objects pulled in from the import library, so it won't matter that
the newer DLL also exports such a name (note that we compare typeinfos by name
string under Cygwin, rather than by pointer equivalence.)  New applications
linking against the new DLL will simply pull in an import table reference
rather than the entire typeinfo object file.

  The backward incompatibility came from adding the patch after previously
having released a version of the DLL without the patch which therefore had all
the typeinfos exported, as the applications linked against the previous
version of the DLL would still expect the typeinfo imports to be available,
but now the typeinfos would only be available as objects in the import library.

  In short: it was a precautionary measure, it's now superfluous.  I'll remove
it from the next full release of 32-bit GCC as well.

cheers,
  DaveK



Re: 64bit: cygstdc++-6.dll

2013-04-09 Thread Dave Korn
On 09/04/2013 11:30, Yaakov (Cygwin/X) wrote:
 On 2013-04-09 02:08, Dave Korn wrote:
 On 25/03/2013 08:52, Corinna Vinschen wrote:
 On Mar 24 03:33, Yaakov (Cygwin/X) wrote:
 In any case, the error is a result of adding one of Dave Korn's
 patches:

 http://cygwin-ports.git.sourceforge.net/git/gitweb.cgi?p=cygwin-ports/gcc;a=blob;f=4.7-libstdc-dllimport.patch;hb=refs/heads/4.8#l29


 I have omitted that patch in the new 4.8.0-1.  Hopefully Dave can
 explain the purpose and necessity of that patch, since it would seem
 that using (at least that hunk of) it would require rebuilding most
 C++ packages in 64bit/release; if it's really necessary, then we
 will want to do that sooner rather than later.

I believe the patch is no longer necessary.
 
 Does that apply to the entire dllimport patch or just that hunk?

  Just the hunk with the --exclude-modules-for-implib.

cheers,
  DaveK



GCC-4.7.2-2: Go/No-go?

2013-04-09 Thread Dave Korn

Hi all,

  I have a release of 4.7.2-2 ready to upload.  It fixes the dependencies back
to the 4.5.3-3 curr: version dependencies, makes TLS vars exported from DLLs
work and restores java and libffi.  I've also been running the testsuite over
the last few days and the results look quite reasonable.

  Yaakov thinks (http://cygwin.com/ml/cygwin-apps/2013-04/msg00032.html) that
I shouldn't release it until I've integrated all his patches.

  I think (http://cygwin.com/ml/cygwin-apps/2013-04/msg00057.html) that it's
worth uploading as a stop-gap to address the mentioned problems and
integrating Yaakov's patches for the next release.

  Could the list please help us make a decision?

cheers,
  DaveK


Re: starting cygwin shell

2013-04-07 Thread Dave Korn
On 07/04/2013 19:50, Christopher Faylor wrote:
 On Sun, Apr 07, 2013 at 06:16:17PM +, Gene wrote:

 save: fork_level=1 SetHandleInformation() failed: fd 0 handle 0x3 type
 2: Th e parameter is incorrect.
 
 That error message doesn't seem to be coming from Cygwin.  I have
 grepped the Cygwin DLL and *sh* and don't see it anywhere.
 
 Are you possibly using other binaries besides Cygwin ones?

  A quick google suggests it comes from MKS.  Trying to mix Cygwin tools and
MKS ones at the same time won't generally work well, and is probably the cause
of the shell problems too - MKS apparently is known to have problems under Win7.

  Gene, try removing MKS from your PATH setting.

cheers,
  DaveK


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



Re: [ITA] gmp (libgmp-devel / libgmp3 / libgmpxx4)

2013-04-05 Thread Dave Korn
On 04/04/2013 10:13, Yaakov (Cygwin/X) wrote:
 On Sun, 31 Mar 2013 19:57:09 +0100, Dave Korn wrote:
   And the reroll failed to build because of the problem JonY ran into with
 java.  Turns out that libjava keys off the presence of pthread_getattr_np
 (added to the DLL a few versions ago) to decide whether to invoke a couple of
 boehm-gc functions that only existed in pthread versions, so weren't
 implemented for win32 threads as used by the Cygwin port.  I've added a patch
 that implements them and am starting again.
 
 As mentioned previously, I already fixed that in Ports:
 
 http://cygwin-ports.git.sourceforge.net/git/gitweb.cgi?p=cygwin-ports/gcc
 
 PLEASE use this as the basis for your packages; there are a number of
 important fixes in that patchset.

  Well, I was just going to do a quick update to 4.7.1-1, still as a test:
version, in order to a) fix the dependencies and b) get exported TLS vars
working, and then integrate all your extra patches before doing the first full
curr: release.  Is that not a good idea?  b) in particular was important for
getting new versions of mpfr to work without having to disable thread support.

cheers,
  DaveK



Re: [ITA] mpfr (libmpfr-devel / libmpfr4)

2013-04-05 Thread Dave Korn
On 02/04/2013 16:27, Achim Gratz wrote:
 I've added test packages compiled with gcc-4.7.2-1 (to be installed by
 manually selecting them, like the test version of gcc itself):
 
 wget=wget -xnH --cut-dirs=1 http://cygwin.stromeko.net/release;

  Is there some access permission I would need to take a look at those?

 $ wget -xnH --cut-dirs=1 http://cygwin.stromeko.net/release
 --2013-04-05 18:16:13--  http://cygwin.stromeko.net/release
 Resolving cygwin.stromeko.net (cygwin.stromeko.net)... 212.90.148.102
 Connecting to cygwin.stromeko.net (cygwin.stromeko.net)|212.90.148.102|:80... 
 co
 nnected.
 HTTP request sent, awaiting response... 301 Moved Permanently
 Location: http://cygwin.stromeko.net/release/ [following]
 --2013-04-05 18:16:15--  http://cygwin.stromeko.net/release/
 Connecting to cygwin.stromeko.net (cygwin.stromeko.net)|212.90.148.102|:80... 
 co
 nnected.
 HTTP request sent, awaiting response... 403 Forbidden
 2013-04-05 18:16:16 ERROR 403: Forbidden.

cheers,
  DaveK



Re: [ITA] gmp (libgmp-devel / libgmp3 / libgmpxx4)

2013-04-05 Thread Dave Korn
On 05/04/2013 18:07, Dave Korn wrote:
 On 04/04/2013 10:13, Yaakov (Cygwin/X) wrote:
 On Sun, 31 Mar 2013 19:57:09 +0100, Dave Korn wrote:
   And the reroll failed to build because of the problem JonY ran into with
 java.  Turns out that libjava keys off the presence of pthread_getattr_np
 (added to the DLL a few versions ago) to decide whether to invoke a couple 
 of
 boehm-gc functions that only existed in pthread versions, so weren't
 implemented for win32 threads as used by the Cygwin port.  I've added a 
 patch
 that implements them and am starting again.
 As mentioned previously, I already fixed that in Ports:

 http://cygwin-ports.git.sourceforge.net/git/gitweb.cgi?p=cygwin-ports/gcc

 PLEASE use this as the basis for your packages; there are a number of
 important fixes in that patchset.
 
   Well, I was just going to do a quick update to 4.7.1-1, still as a test:
 version, in order to a) fix the dependencies and b) get exported TLS vars
 working, and then integrate all your extra patches before doing the first full
 curr: release.  Is that not a good idea?  b) in particular was important for
 getting new versions of mpfr to work without having to disable thread support.

  Also, c) I have a fixed libffi package to go with it, which would resolve
the problems mentioned by Angelo G. in
http://cygwin.com/ml/cygwin/2013-04/threads.html#00081

  I really think it's worth uploading as a stop-gap.

cheers,
  DaveK


Re: Problems with GCC-4.7.2-1 (test)

2013-04-05 Thread Dave Korn
On 05/04/2013 12:22, Angelo Graziosi wrote:
 Just for completeness...
 
 This morning I have installed the test release of GCC-4.7 (4.7.2-1) and
 after that a few applications do not work any more.
 
 For example, Terminator, installed via Cygwinports, does not start. From
 command line I have:
 
 $ terminator
 
 You need to install the python bindings for gobject, gtk and pango to
 run Terminator.

 I have also a GTK-build of Emacs trunk and
 
 $ emacs -Q
 
 /usr/local/emacs/bin/emacs-24.3.50.exe: error while loading shared
 libraries: ?: cannot open shared object file: No such file or directory

  This looks like the quickest point to try tracking it down.  Does cygcheck
on the exe show any missing DLLs?

 Reverting to GCC-4.5.3 all works fine.
 
 BTW, I did the Emacs build using CLANG (3.1, i386-pc-cygwin), so I don't
 understand much why the new GCC-4.7 interferes with Emacs.

  Did you install the manually-required runtime libs as well?

cheers,
  DaveK

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



Re: Problems with GCC-4.7.2-1 (test)

2013-04-05 Thread Dave Korn
On 05/04/2013 20:52, Ryan Johnson wrote:
 On 05/04/2013 3:07 PM, Angelo Graziosi wrote:
 Dave Korn wrote:
 Did you install the manually-required runtime libs as well?

 I don't understand here. I have installed GCC-4.7.2-1 with setup.exe
 choosing Exp packages and then leaving only 4.7.2-1 for
 installation. Which runtime libs it needs? manually-required?

 Shouldn't test packages be installed only with setup.exe? I am
 confused now... :-(
 I think he means the other gcc-related packages in setup.exe;
 dependencies of test packages aren't tracked because they tend to pull
 in experimental versions of dependencies for non-experimental packages
 you might have installed. A shortcoming of setup.exe.
 
 I don't know which dependencies those might be, though...

  They were listed in the announcement:

 2. Setup does not pull all required dependencies.
 This is done on purpose to allow the default 4.5.3-3 release to work out
 of the box. There are 3 new packages that should be noted if you install
 this version of gcc.
 
 libgnat4.7, libobjc4 and libquadmath0 for gcc4-ada, gcc4-objc and
 gcc4-fortran respectively.

  Probably not related, I guess.

cheers,
  DaveK


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



[coreutils] Bug in du with -x flag?

2013-04-05 Thread Dave Korn

Hi list,

  I always used to use du with the -cxhs options, but since updating to the
latest (8.15-1) version there appears to be a problem caused by -x:

 $ ls -la
 total 392188
 drwxr-xr-x+ 1 DKAdmin None 0 Apr  6 00:35 .
 drwxr-xr-x+ 1 DKAdmin None 0 Apr  3 05:58 ..
 drwxr-xr-x+ 1 DKAdmin None 0 Apr  3 16:28 gcc4
 -rw-r--r--  1 DKAdmin None 40157 Apr  6 00:43 gcc472-2-dist.tar.bz2
 
 $ du -xh gcc472-2-dist.tar.bz2
 
 $ du -h gcc472-2-dist.tar.bz2
 383Mgcc472-2-dist.tar.bz2
 
 $

  Unless I'm misunderstanding it badly, -x shouldn't make any difference when
counting a real file in the current directory.  I wonder if it could have
perhaps been introduced by the recent related bugfix that I read about in
/usr/share/doc/coreutils/NEWS:

   du -x no longer counts root directories of other file systems.
   [bug introduced in coreutils-5.1.0]

or perhaps some interaction between that and Cygwin's path conversion code?

cheers,
  DaveK


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



cygport debuginfo problem: packaging fails.

2013-04-01 Thread Dave Korn

Hi Yaakov et al.,

  I'm confused by the output from cygport (0.11.3) when building GCC.  During
the packaging step, after the final binary package from PKG_NAMES has been
tarballed, I see:

 
 *** Info: No debug files, skipping debuginfo subpackage
 
 Checking packages for missing or duplicate files
 *** Warning: Packages are missing files:
 -usr/lib/debug/usr/bin/c++-4.exe.dbg
 -usr/lib/debug/usr/bin/cpp-4.exe.dbg
 -usr/lib/debug/usr/bin/cygffi-4.dll.dbg
 -usr/lib/debug/usr/bin/cyggcc_s-1.dll.dbg

  I don't understand this.  First it's complaining that there aren't any debug
files, so it won't package them, but then they actually are there after all
and it complains they haven't been packaged.  That appears self-contradictory!

  Any idea what might be causing this?  Do I have to create -debuginfo
packages manually if I'm using the PKG_NAMES and (package)_CONTENTS variables?
 Or could it perhaps be because the PN package itself has no contents at all,
serving only as a dummy to draw in dependencies through the requires: line in
its setup.hint?  (In my cygport script, PKG_NAMES contains ${PN} but there
is no ${PN}_CONTENTS defined anywhere.)

cheers,
  DaveK


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



Re: cygport debuginfo problem: packaging fails.

2013-04-01 Thread Dave Korn
On 01/04/2013 09:56, Dave Korn wrote:
 Hi Yaakov et al.,
 
   I'm confused by the output from cygport (0.11.3) when building GCC.  During
 the packaging step, after the final binary package from PKG_NAMES has been
 tarballed, I see:
 
 *** Info: No debug files, skipping debuginfo subpackage

  OK, so this means that ${D}/usr/src/debug does not exist, and that's because
nothing was installed there by __prepdebugsrc().  That has something to do
with the fact that none of my source files got listed in ${T}/.dbgsrc.out, and
I think that in turn is because objdumping the built exes doesn't reveal any
paths to source files that begin with '/usr/src/debug'.

  That seems to be because no -fdebug-prefix-map options got added during the
build stage.  Or rather, the options did get added, but that was before
/usr/bin/cygport included my .cygport script, which went and unset them again.
 I'm not sure why I originally included that any more, I left a comment about
how setting them in the environment confuses auto-detection process during
gcc build stages, which isn't as clear as I now wish, so I guess I'll just
delete that bit and try again.  Looks like the problem is my fault, anyway;
pardon the noise.

cheers,
  DaveK



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



Re: [ITA] gmp (libgmp-devel / libgmp3 / libgmpxx4)

2013-03-31 Thread Dave Korn
On 28/03/2013 15:18, Dave Korn wrote:
 On 28/03/2013 14:05, Dave Korn wrote:
 
   Righto.  Will upload as soon as I've finished running setup ;)
 
   Argh.  Gotta re-roll the packaging step as I forgot to commit some of the
 setup.hint reversions to my local svn.  D'oh, but at least I spotted it before
 uploading.

  And the reroll failed to build because of the problem JonY ran into with
java.  Turns out that libjava keys off the presence of pthread_getattr_np
(added to the DLL a few versions ago) to decide whether to invoke a couple of
boehm-gc functions that only existed in pthread versions, so weren't
implemented for win32 threads as used by the Cygwin port.  I've added a patch
that implements them and am starting again.

cheers,
  DaveK



Missing mime types lead to broken pages in the package list.

2013-03-31 Thread Dave Korn

Hi folks,

  There are a lot of broken entries in the lower levels of the package list on
the website.  Clicking a package name at http://cygwin.com/packages/ takes you
to the page that lists the available binary and source package versions, as
before, but attempting to follow the link to one of the versions to see the
package contents works for some packages, displaying a webpage, but for others
triggers a file download dialog in your browser.  A few examples:

http://cygwin.com/packages/expat/ - broken
http://cygwin.com/packages/fcgi/ - broken
http://cygwin.com/packages/flawfinder/ - working
http://cygwin.com/packages/gnupg/ - broken

  According to wget, the working links are being served up with text/html mime
type, but the broken ones are coming down as application/x-troff-man.

  Fallout from the recent upgrade?

cheers,
  DaveK


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



Re: [ITA] gmp (libgmp-devel / libgmp3 / libgmpxx4)

2013-03-28 Thread Dave Korn
On 26/03/2013 11:20, Corinna Vinschen wrote:
 Hi Dave,
 
 On Mar 12 23:50, Dave Korn wrote:
 On 12/03/2013 22:15, Achim Gratz wrote:
 Achim Gratz writes:
 Yaakov (Cygwin/X) writes:
 OK.  I won't be able to run the tests for some packages this way, but it
 sounds like this should provide a workable solution for bootstrapping.
 I guess we will anyway have to re-compile all packages with gcc47 when
 it is ready for release, right?
 Fascinatingly the tests for libmpc do run, although ldd gets confused
 about what libraries it depends on and stops midway after outputting a
 dependence on ?.

 If the second gcc47 test release is made within this week I'd prefer
 that to roll the packages, otherwise I'll set up a second installation
 with the current release.  I'll put all packages for the gcc47 branch
 into [test], like gcc itself, is that correct?
   I haven't yet had an explicit go-ahead for that -2 release, but I've been
 rerolling it with the mpfr (shared libgcc) fix in order to be ready.  Gonna
 check the same fix into upstream trunk tonight as well.
 
 How's the state of affairs?

  I've realised that I should re-roll the release after updating to the latest
cygport, as I don't yet have the version with the debuginfo changes, which I
assume are desirable?

  If that's not so important, I could upload the existing build today and then
re-roll a -3 with debuginfo, does anyone prefer it one way or the other?

cheers,
  DaveK



Re: [ITA] gmp (libgmp-devel / libgmp3 / libgmpxx4)

2013-03-28 Thread Dave Korn
On 28/03/2013 13:39, Corinna Vinschen wrote:
 On Mar 28 13:25, Dave Korn wrote:

   I've realised that I should re-roll the release after updating to the 
 latest
 cygport, as I don't yet have the version with the debuginfo changes, which I
 assume are desirable?
 
 Just run setup ;)
 
   If that's not so important, I could upload the existing build today and 
 then
 re-roll a -3 with debuginfo, does anyone prefer it one way or the other?
 
 I'd be fine with a -2 without debuginfo for now.

  Righto.  Will upload as soon as I've finished running setup ;)

cheers,
  DaveK



Re: [ITA] gmp (libgmp-devel / libgmp3 / libgmpxx4)

2013-03-28 Thread Dave Korn
On 28/03/2013 14:05, Dave Korn wrote:

   Righto.  Will upload as soon as I've finished running setup ;)

  Argh.  Gotta re-roll the packaging step as I forgot to commit some of the
setup.hint reversions to my local svn.  D'oh, but at least I spotted it before
uploading.

cheers,
  DaveK



Re: [PATCH] setup: port to 64-bit, part 1

2013-03-13 Thread Dave Korn
On 04/03/2013 06:31, Christopher Faylor wrote:
 On Sun, Mar 03, 2013 at 09:54:58PM -0600, Yaakov wrote:
 Based on your recent commit to cygwin-64bit-branch, are we dropping
 support for Win2K as well?
 
 Yes.

  :-(  Gonna have to set up a new dev environment on a new pc

cheers,
  DaveK


Re: [ITA] gmp (libgmp-devel / libgmp3 / libgmpxx4)

2013-03-12 Thread Dave Korn
On 12/03/2013 22:15, Achim Gratz wrote:
 Achim Gratz writes:
 Yaakov (Cygwin/X) writes:
 OK.  I won't be able to run the tests for some packages this way, but it
 sounds like this should provide a workable solution for bootstrapping.
 I guess we will anyway have to re-compile all packages with gcc47 when
 it is ready for release, right?
 
 Fascinatingly the tests for libmpc do run, although ldd gets confused
 about what libraries it depends on and stops midway after outputting a
 dependence on ?.
 
 If the second gcc47 test release is made within this week I'd prefer
 that to roll the packages, otherwise I'll set up a second installation
 with the current release.  I'll put all packages for the gcc47 branch
 into [test], like gcc itself, is that correct?

  I haven't yet had an explicit go-ahead for that -2 release, but I've been
rerolling it with the mpfr (shared libgcc) fix in order to be ready.  Gonna
check the same fix into upstream trunk tonight as well.

cheers,
  DaveK


Re: GCC 4.7 and dependencies

2013-03-11 Thread Dave Korn
On 11/03/2013 23:40, Yaakov (Cygwin/X) wrote:
 JonY, Achim, and others,
 
 I have updated .cygport and patch files for GCC and its dependencies:
 
 http://cygwin-ports.git.sourceforge.net/git/gitweb.cgi?p=cygwin-ports/gcc

  I'm trying to look at this, but all I get is errors:

 $ git clone git://cygwin-ports.git.sourceforge.net/gitroot/cygwin-ports/gcc4
 Cloning into gcc4...
 fatal: The remote end hung up unexpectedly

 $

  Is there something wrong with the format of the git: URL I'm using?

cheers,
  DaveK



Re: [ITA] mpfr (libmpfr-devel / libmpfr4)

2013-03-11 Thread Dave Korn
On 10/03/2013 15:43, Achim Gratz wrote:

 - TLS disabled since it doesn't work with current gcc

  I just debugged that over on the mpfr list.  It can be made to work by
adding LDFLAGS=-shared-libgcc to your configure line.

  (I'm going to patch upstream GCC to make that the default, and I'm also
rolling a 4.7.2-2 with that patch included.)

cheers,
  DaveK



Re: Why libquadmath0-4.7.2

2013-03-11 Thread Dave Korn
On 05/03/2013 16:22, Christopher Faylor wrote:
 On Tue, Mar 05, 2013 at 05:11:34PM +0100, Angelo Graziosi wrote:
 I have GCC-4.5.3 installed and I am not going to install the test 
 version 4.7.2-1, but setup.exe *wants* to install libquadmath0-4.7.2-1 
 even if I have selected Curr packages (which should exclude any 
 reference to 4.7.2 version...).

 Have we sure it isn't a packaging bug?
 
 The crude dependency handling in setup.exe isn't up to the task of
 allowing per-version dependencies.  So this probably came along because
 it's required for a newer version of gcc.

  When last we spoke (on the -apps list), it was suggested that the
dependencies should remain correct for the curr: version, and people
installing the test: version should manually install the required dependencies.

  If it would help, I could upload a 4.7.2-2 later tonight which restores java
and has the original 4.5.3-3 dependencies?

  (Many thanks to JonY for stepping up to the plate while I've been away.)

cheers,
  DaveK


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



Re: Why libquadmath0-4.7.2

2013-03-11 Thread Dave Korn
On 11/03/2013 23:21, Christopher Faylor wrote:
 On Mon, Mar 11, 2013 at 06:03:08PM +, Dave Korn wrote:
 On 05/03/2013 16:22, Christopher Faylor wrote:
 On Tue, Mar 05, 2013 at 05:11:34PM +0100, Angelo Graziosi wrote:
 I have GCC-4.5.3 installed and I am not going to install the test 
 version 4.7.2-1, but setup.exe *wants* to install libquadmath0-4.7.2-1 
 even if I have selected Curr packages (which should exclude any 
 reference to 4.7.2 version...).

 Have we sure it isn't a packaging bug?
 The crude dependency handling in setup.exe isn't up to the task of
 allowing per-version dependencies.  So this probably came along because
 it's required for a newer version of gcc.
 When last we spoke (on the -apps list), it was suggested that the
 dependencies should remain correct for the curr: version, and people
 installing the test: version should manually install the required
 dependencies.
 
 Dave, I've pinged you on the -apps list and you haven't responded.

  How recently?  I've got a backlog of 2400 unread mails there (and 8682 mails
here).  Yes, I've been away, but I can now commit to being back on the case;
the project I've been working on for the past god-knows-how-long is done.
I've already got back to work on upstream GCC and would like to get back to
work on Cygwin.

cheers,
  DaveK

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



Re: Why libquadmath0-4.7.2

2013-03-11 Thread Dave Korn
On 11/03/2013 22:12, JonY wrote:
 On 3/12/2013 02:03, Dave Korn wrote:
 On 05/03/2013 16:22, Christopher Faylor wrote:
 On Tue, Mar 05, 2013 at 05:11:34PM +0100, Angelo Graziosi wrote:
 I have GCC-4.5.3 installed and I am not going to install the test 
 version 4.7.2-1, but setup.exe *wants* to install libquadmath0-4.7.2-1 
 even if I have selected Curr packages (which should exclude any 
 reference to 4.7.2 version...).

 Have we sure it isn't a packaging bug?
 The crude dependency handling in setup.exe isn't up to the task of
 allowing per-version dependencies.  So this probably came along because
 it's required for a newer version of gcc.
   When last we spoke (on the -apps list), it was suggested that the
 dependencies should remain correct for the curr: version, and people
 installing the test: version should manually install the required 
 dependencies.

   If it would help, I could upload a 4.7.2-2 later tonight which restores 
 java
 and has the original 4.5.3-3 dependencies?
 
 You'll be retaking maintainership again? I don't mind that, but please
 push as much of the patches as possible upstream, it was kind of hard to
 wrap my head around the patches to manually apply them.

  I would like to resume maintaining it, subject to any discussions necessary.
 Being an upstream maintainer makes it easier for me to push patches.

cheers,
  DaveK



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



Re: Weird threading / __thread behavior

2013-02-23 Thread Dave Korn
On 18/02/2013 11:59, Ryan Johnson wrote:
 On 17/02/2013 10:38 PM, Zach Saw wrote:
 The following test case fails on Cygwin but passes on Linux (both
 tested using
 GCC 4.7.2).
 Cygwin doesn't have a gcc-4.7.2 package yet (not even for testing);
 4.5.3 is the highest I see this morning in setup.exe.

  Sorry gang, I've been on hiatus.

  I have almost got 4.7.2 GTG, and I'm starting to pay some attention to GCC
trunk again.

cheers,
  DaveK

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



Changing dependent library version numbers vs. test packages vs. requires: lines.

2012-11-23 Thread Dave Korn

Hi all,

  I've got a gcc-4.7.2 package almost ready to upload, but there's one issue
I'm not sure what's best to do about.

  Several of the runtime libs have changed version numbers, i.e.
libgnat4.5-libgnat4.7, libgcj11-libgcj13, libobjc2-libobjc4.

  I'd like to release a test: version of the new compiler, but I don't know
what's best to do for the requires: lines in the setup hint files.

  If I add the new library versions, those dependencies will also be pulled in
by people installing the curr: version of the compiler, but the new libraries
won't exist in curr: versions.

  If I don't, people installing the test: version will have to ensure they
manually select the new runtime libraries, which might be the least worst 
option.

  Is there any better way to handle this situation?

cheers,
  DaveK




Re: Mingw64 and Cygwin: header and libs layout

2012-03-24 Thread Dave Korn
On 13/03/2012 10:10, Corinna Vinschen wrote:

 For the time being, I'm using the -idirafter flag to include the Mingw64
 headers into the search path, but that's IMHO not a generic solution for
 a (yet to create) Cygwin 64 bit GCC.

  The generic solution for the future cygwin64-targeted GCC will of course be
to not refer to the mingw64 headers at all!

On 13/03/2012 13:51, Christopher Faylor wrote:
 On Tue, Mar 13, 2012 at 02:36:21PM +0100, Corinna Vinschen wrote:
 On Mar 13 14:25, Kai Tietz wrote:

 I suggest the approach to install for cygwin the platform-headers to a
 shared place.  I suggest that mingw-w64 adds to configure for headers
 and crt an option, which installs platform-headers/libraries to
 '/usr/shared/psdk_windows' location.  Means under this path are the
 folders lib/lib64/include containing only the platform-parts.
 That sounds like an excellent idea to me!

 For the cygwin-based mingw-w64 cross-compiler we need to add here by
 spec (for headers in gcc and for libs in binutils or gcc).  IMHO this
 should be a special configuration option for gcc (and binutils), which
 adds the required parts to spec-files.
 IMHO we should keep the w32api scheme.  The reason is that this
 requires no changes at all to the gcc specs file.  Rather, the Cygwin
 gcc package would simply create matching symlinks:

  ln -s /usr/share/windows_psdk/include /usr/include/w32api
  ln -s /usr/share/windows_psdk/lib /usr/lib/w32api
  ln -s /usr/share/windows_psdk/lib64   /usr/lib64/w32api

 I think it's pretty unusual to install libraries and headers in
 /usr/share, particularly in the case of libraries.  gcc/linux has
 conventions for this type of thing.  I broke them when I installed
 headers and libraries in /usr/include/w32api.  I don't think we should
 stray further by putting things in /usr/share.

 Could Dave Korn weigh in on this?

  I'd find it a bit odd as well, but can't really think of an actual problem,
it just gives me a mild bit of cognitive dissonance.  It's an unusual
situation to want to share a set of headers but not the corresponding libs,
and doesn't work well with the standard $prefix/{lib,include} pattern.  The
headers for w32api aren't huge in terms of disk space (5.5M), so just having
duplicates in the appropriate places wouldn't be that bad.  It's what happens
every time you build libwhatever for both your native system and a
cross-target anyway.

  Is there ever any likelihood that the w32api team might want to implement
autoconfigury-based customisations to the installed headers based on the
detected properties of the host platform (n.b. using 'host' in the library
sense, i.e. the same as 'target' for the compiler)?  Sharing them between the
two compilers would lock that out.

  (BTW, I noticed that gcc 4.7.0 was released, so I'll try and get a test
package up over the next fortnight or so).

cheers,
  DaveK




Re: Mingw64 and Cygwin: header and libs layout

2012-03-24 Thread Dave Korn
On 24/03/2012 19:19, Corinna Vinschen wrote:
 On Mar 24 18:12, Dave Korn wrote:
 On 13/03/2012 10:10, Corinna Vinschen wrote:

 For the time being, I'm using the -idirafter flag to include the Mingw64
 headers into the search path, but that's IMHO not a generic solution for
 a (yet to create) Cygwin 64 bit GCC.
   The generic solution for the future cygwin64-targeted GCC will of course be
 to not refer to the mingw64 headers at all!
 
 Huh?

  Just like the current i686-pc-cygwin-gcc does not refer to mingw32 headers,
a future theoretical x86_86-pc-cygwin64-gcc will not refer to mingw64 headers,
because we'll have a proper native compiler rather than having to rely on a
cross-compiler that is almost - but not quite - correct.

 Sorry, but I don't understand what you mean.  Of course we would like
 to share headers *and* libs.  See above.

  OK, then I clearly don't understand what you mean.  Didn't this thread start
with you pointing out that, although the same headers were valid for cygwin or
mingw, the startup crt .o files and libs weren't right?  How can the cygwin .o
files possibly be compatible with the mingw ones?

   The include files are the
 same for 32 and 64 bit, while the libs are obviously different.

  So why do you want to share the libs, since they are different?

  Therefore
 it makes sense to create a shared directory which contains the shared include
 files as well as the different libs for the different platforms.

  Ah, well, not to me it doesn't.  To me, what makes sense is
(headers+libs)*different.platforms, not (headers)*different.platforms +
(libs)*different.platforms, and this is what the entire GNU/Linux/Unix $prefix
structure assumes.  I think this is a little bit like big-endian vs.
little-endian arguments: should the library itself be the most significant
part, or the target?  Regardless the arguments one way or another, the GNU
system has already adopted the decision that $target is the most-significant
part of a $prefix layout.

 My idea is to keep the w32api subdirs under /usr/include and /usr/lib,
 and add a new one under /usr/lib64.  These could be implemented as real
 subdirs, or as symlinks to, for instance,
 /usr/share/windows_psdk/{include,lib,lib64}, as outlined above.
 
 The question is just where to keep the actual include and lib files in
 this scenario, and Kai's suggestion was to keep them under
 /usr/share/windows_psdk.

  What you're implying there, is that from now forever onward, the cygwin
w32api and cross-mingw-w32api packages always have to be kept in perfect
lock-step, if there's only going to be one set of headers for two sets of
libs.  That seems like a potential source of incompatibilities to me; as I was
trying to suggest in my comment about autoconfig-customised variants of the
headers, it may one day be the case that the headers for one set of libs have
to actually say something different from the headers for the other set of
libs, and we're tying our own hands in advance if we decide that one common
set of headers has to serve the same lib for two separate targets.

 headers for w32api aren't huge in terms of disk space (5.5M), so just having
 duplicates in the appropriate places wouldn't be that bad.  It's what happens
 every time you build libwhatever for both your native system and a
 cross-target anyway.
 
 So you opt for the current layout with duplicated include and lib files,
 just with Mingw64 instead of Mingw32 files?

  Yes, I think it's a perfectly acceptable compromise.

   Is there ever any likelihood that the w32api team might want to implement
 autoconfigury-based customisations to the installed headers based on the
 detected properties of the host platform (n.b. using 'host' in the library
 sense, i.e. the same as 'target' for the compiler)?  Sharing them between the
 two compilers would lock that out.
 
 This is about using the Mingw64 headers, not the w32api headers from
 Mingw32.  And the 32 and 64 bit headers are the same.  Platform
 differences are handled via target macros.

  Well, as long as we can *guarantee* for ever that that will always be the
case, we could indeed make some complicated scheme to share the headers work,
but really, for the sake of five meg of disk space, I don't see why it's worth
the risk or effort.

  Let me summarise what I think: I think we should treat the x-cygwin
(==native) and x-mingw targets as if they were utterly entirely separate, just
like any two other random hosts/targets in the entire gnu infrastructure, and
simply not worry about one tiny disk-space optimisation that we could perhaps
make, at the expense of a good deal of other complications, some actual, some
potential.  We should treat w32api as an external lib, and mingw should treat
it as their native C lib, and everything else should flow from that.

cheers,
  DaveK



Re: gcc-4.7.0-RC-20120302 fails to build for i686-pc-cygwin

2012-03-07 Thread Dave Korn
On 07/03/2012 13:34, Ryan Johnson wrote:
 On 07/03/2012 8:07 AM, Corinna Vinschen wrote:
 On Mar  7 07:54, Ryan Johnson wrote:
 Hi all,

 I tried to bootstrap the gcc-4.7 RC and it fails because it expects
 to findprocess.h  and the file actually lives in
 cygwin/process.h  (see
 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52513).

 I'm asking here because the gcc devs thought this would mean 4.6 is
 broken as well, but I have 4.6.2 running. Did process.h perhaps move
 between 1.7.10 and 1.7.11? I guess configure must be using linker
 rather than preprocessor tests for presence of spawnve, because it
 thinks (correctly) that the function exists.
 See http://cygwin.com/ml/cygwin-announce/2012-02/msg00041.html
 We moved it back.  If you have it in cygwin/process.h, you didn't
 update from 1.7.10 to 1.7.11.
 Ah, I do remember that, now that you mention, but I was running a 1.7.11
 snapshot and forgot to upgrade...
 
 Thanks for the quick reply,
 Ryan

  Thanks for spotting that Ryan.  FTR, I figure it's not worth delaying the
GCC release to add a fix to support .10, since there were other significant
problems with it, and anyone who has it should be moving to .11 anyway.

cheers,
  DaveK


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



Re: make producing basename error that can't be captured by make make.out

2012-03-01 Thread Dave Korn
On 02/03/2012 02:52, Paul Allen Newell wrote:
 [ weird problem symptoms ]

  You probably have a script or shell alias getting in between you and the
real make.  Please run type make ; which -a make in a bash shell and show us
the results.

cheers,
  DaveK


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



Re: [NEARLY SOLVED:] Re: make producing basename error that can't be captured by make make.out

2012-03-01 Thread Dave Korn
On 02/03/2012 06:25, Paul Allen Newell wrote:

 +++
 type make; which -a make
 make is aliased to `settitle Making $(basename $PWD)  make $@'
 /usr/bin/make
 /usr/bin/make
 +++
 
 I groaned when I saw this as it is obvious the $(PWD) is feeding
 basename and that's the make error. Thanks.
 
 However, I am still trying to understand why this potentially incorrect
 alias is creating text output to the screen which can't be redirected as
 it isn't stdout or stderr ... or 3/4/5 as someone suggested I test.

  I think it's because aliases are just simple text substitutions.  So if you
have 'make' being transformed to 'settitle Making $(basename $PWD)  make
$@' then you would get 'make  make.out' becoming 'settitle Making
$(basename $PWD)  make $@  make.out' and as you see the redirect only
gets applied to the command after the ''.

cheers,
  DaveK


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



Re: [SOLVED:] Re: make producing basename error that can't be captured by make make.out

2012-03-01 Thread Dave Korn
On 02/03/2012 07:06, Paul Allen Newell wrote:

 I'll go and figure out some way to filter $(PWD) to be acceptable to
 basename.

  It just needs quotes around it to prevent the space being taken as a 
separator.

cheers,
  DaveK

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



Re: GCC fatal error: can't open /tmp/ccc6IHTT.s for writing

2012-02-27 Thread Dave Korn
On 27/02/2012 16:12, Paul Keir wrote:
 Thanks Dave, it's fixed. It looks like the problem was the cygwin1.dll
 in C:\Windows\SYSTEM. I have no idea why that was there. (I am not the
 first to use this machine.)

  Well, you may just find out when something else stops working - it's not
unknown for people to ship custom toolchains built on Cygwin that install the
DLL into the SYSTEM directory.  (In which case, put the DLL you found there
into the binaries dir alongside the tools involved.)

 As a precaution I have also removed
 C:\Users\\home\apps\gcc-4.7-20120128\bin from my PATH. I had
 built it with --program-suffix=-4.7, but the following potentially
 conflicting files remain there with their names untouched:
 
 cyggfortran-3.dll
 cygssp-0.dll
 cygstdc++-6.dll

  Although having them later in the path than the system versions in /usr/bin
should in theory make that safe, mixing DW2 and SJLJ is asking for trouble to
crop up somewhere down the line.

cheers,
  DaveK

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



Re: GCC fatal error: can't open /tmp/ccc6IHTT.s for writing

2012-02-24 Thread Dave Korn
On 24/02/2012 09:22, Paul Keir wrote:
 Hello,
 
 After installing a package (libxrandr-dev I think) GCC 4.5.3 (from Exp)
 has a problem. Even Hello World gives me:
 
 hello.c:1:0: fatal error: can't open /tmp/ccc6IHTT.s for writing: No
 such file or directory
 compilation terminated.
 
 I have tried reinstalling GCC with no luck. Can anyone offer advice?

  Is the drive where your /tmp dir is located full?  Does it have the right
permissions?  Can you create the same named file manually (e.g. run a command
like ls /tmp/ccc6IHTT.s)?

  If none of that sheds any light on it, please run cygcheck -s -v -r 
cygcheck.out and send that file **as an attachment only please** with your
next post.  Also, re-run the gcc compile command that's failing, but add the
-v option to the command-line, and show us all the output it generates.

cheers,
  DaveK


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



Re: strange bug that doesn't occur in Linux, OpenBSD or ITS

2012-02-24 Thread Dave Korn
On 18/02/2012 18:32, Jeremiah Bishop wrote:
 the  bash commands used are: 1) gcc cygwin puzzle.c
 
 2) ./a.out a b
 Now either version used on a file with a shorter set of lines, works just
 fine but strangely, that single digit difference aborts the program without
 throwing any error on the sample input or text files with similarly long
 lines.

  Your program is overflowing the stack.  The default amount of stack space
allocated by windows for a program is 2MB, but you can increase it using the
-Wl,--stack,SIZE option (GCC passes -Wl options through to the linker, see
'man ld' for details of the --stack option).  I found your program could run
to completion when I compiled it with -Wl,--stack,1000 for a ~10MB stack.

  However the better fix would not to be to nest forty-three thousand
recursive stack calls.  Your code is very slow because it starts at the
beginning of the list every time and recursively works its way to the end,
costing a function call and stack frame for every node along the way.  Iterate
if you really have to do it that way, or even better, keep a pointer to the
end node of the list and just go straight there.

cheers,
  DaveK






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



Re: GCC fatal error: can't open /tmp/ccc6IHTT.s for writing

2012-02-24 Thread Dave Korn
On 24/02/2012 13:52, Paul Keir wrote:
 Thanks. No, it's not full. The permissions are:
 drwxrwxrwt+ 1 Paul root  0 Feb 24 13:36 tmp
 and I can create the same file manually.

  Oh well, always worth checking the basics first, but no real surprise!

 The output of gcc -v hello.c is attached. I am running Windows 7
 Professional - Service Pack 1.
 
 I'm afraid I can't send the output of cygcheck to the mailing list for
 confidentiality reasons. I could either send it to you directly, or
 perhaps run cygcheck in a way to generate less data. 

  If you're that worried I don't mind if you'd rather send it to me offlist,
go ahead, but it's not like you know me well enough to trust either, so I'd
suggest you redact any sensitive data (user names? passwords in environment
vars?) before posting it either way.

 By the way I get
 the following errors from cygcheck, only when I redirect the output:
 
 /usr/bin/cygrunsrv: warning: OpenService failed for 'DcomLaunch': Win32
 error 5
 Access is denied.
 /usr/bin/cygrunsrv: warning: OpenService failed for 'ose': Win32 error 5
 Access is denied.
 /usr/bin/cygrunsrv: warning: OpenService failed for 'osppsvc': Win32
 error 5
 Access is denied.
 /usr/bin/cygrunsrv: warning: OpenService failed for 'pla': Win32 error 5
 Access is denied.
 /usr/bin/cygrunsrv: warning: OpenService failed for 'QWAVE': Win32 error 5
 Access is denied.
 /usr/bin/cygrunsrv: warning: OpenService failed for 'RpcEptMapper':
 Win32 error 5
 Access is denied.
 /usr/bin/cygrunsrv: warning: OpenService failed for 'RpcSs': Win32 error 5
 Access is denied.

  That's not unexpected if you're running under a non-administrative account.

  There was nothing unusual in the output from gcc -v.  If the cygcheck
output doesn't show anything, I'll have to get you to run cc1.exe under
strace.  However, before we do that, there's one other thing I forgot to ask:
what's the exit status after gcc fails?  echo $? should show it, assuming
you're using bash.

cheers,
  DaveK


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



Re: GCC fatal error: can't open /tmp/ccc6IHTT.s for writing

2012-02-24 Thread Dave Korn
On 24/02/2012 15:36, Paul Keir wrote:
 echo $? returns 1 after using gcc.

  Right, that's helpful of it!  That's clearly just a fail status but not an
errno value.

  Anyway, I think your cygcheck reveals the problem.  You have multiple
cygwin1.dlls of different versions in your path at the same time.  You also
have a homebrew build of gcc 4.7 in your path, and it's using SJLJ exceptions
rather than DW2, which means that its runtime DLLs will be incompatible with
the standard system ones.

  Try removing the cygwin1.dll from C:\Windows\SYSTEM, and cutting
C:\Users\\home\apps\gcc-4.7-20120128\bin out of your PATH, and see if
that fixes it.

cheers,
  DaveK

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



Re: Spawning Java from C

2012-02-24 Thread Dave Korn
On 24/02/2012 15:07, Eliot Moss wrote:
 On 2/24/2012 9:57 AM, Jim Rome wrote:
 Larry Hall (Cygwinreply-to-list-only-lhat  cygwin.com  writes:

 To the OP, run the same from an elevated prompt and these
 errors should disappear.


 I tried it also with windows style paths, both using \\ and / as
 separators with the same results.

 What does to the OP mean?  And are you implying it has to be run
 as an administrator? MinGW does not require that.
 
 OP = Original Poster (see the cygwin standard acronyms :-) )
 
 Yes, the responder *is* saying that you need to run this as
 administrator.  

  No.  He was saying that if you run *cygcheck* from an elevated prompt, you
won't get the Can't open service errors.

cheers,
  DaveK

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



Re: Automating setup - --no-verify doesn't seem to work

2012-02-24 Thread Dave Korn
On 24/02/2012 19:56, Andrew DeFaria wrote:
 I'm trying to automate the setup of cygwin and I'm running setup.exe
 with many additional options. All in all it's working fairly nicely but
 the --no-verify doesn't seem to work. The help says that --no-verify is
 Don't verify setup.ini signatures yet when I run it I see a lot of
 Checking MD5 for package. Isn't there an option to turn off this MD5
 checking?

  No, those are actually two separate things.  The --no-verify option means
that setup.exe will accept any setup.ini file with any values for the md5sums
for packages, not just the official version; it doesn't stop the md5sums from
being checked, just means that a custom mirror can supply its own versions of
packages with their own md5sums, but they always get checked no matter what.

cheers,
  DaveK

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



Re: cygport: broken vs. autotools by set -e

2012-01-20 Thread Dave Korn
On 20/01/2012 12:50, Andy Moreton wrote:
 On Thu 19 Jan 2012, Dave Korn wrote:
 
   Commenting-out the set -e; line at the start of /usr/bin/cygport
 has fixed this problem, and my builds now run just fine, but huh? I
 checked in git; that line has been there since like forever, so why is
 it giving me trouble now? Is there something I could have changed in
 my environment or startup scripts that is causing this -e to propagate
 to subshells that it didn't used to, or did there used to be a
 mechanism in cygport that would have had the effect of turning it off
 for subshells that has now been removed for some reason?
 
 Hi Dave,
 
 As a WAG it could be that you have differences in behaviour from
 updating bash - check the docs for 'set -e' changes in bash 4.x

Hi Andy,

  Bash wasn't one of the packages updated - we've been on bash 4 since
February last year, and I already had it installed last september when I was
successfully using cygport to build the gcc-4.5.3-1 release.  So I figure that
the 4.x set -e behaviour might be part of this problem, but there must have
been a change in cygport that's exposing it when it was previously hidden.

cheers,
  DaveK


PS. Hope everything's well with you and happy new year!  We should arrange a
pub meet sometime soon on the pig list.

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



Re: Cygwin Configuration

2012-01-19 Thread Dave Korn
On 18/01/2012 19:49, Ashlar wrote:
 I have cygwin installed with a number of directories named following this
 format:
 
 C:/Documents\040and\040Settings/Administrator/_web/crhub /webroot ntfs
 binary,posix=0 0 0
 
 When I use the Mount command it includes the assignment for the line
 
 When I enter 'cd /webroot from the command line I get an error message
 'bash: cd: /webroot: no such file or directory'
 
 These directory names worked until I deleted the path in .bash_profile
 accidentally.  Now these pathnames are no longer recognized.  I have tried
 to rewrite the Path=$path... line in the file .bash_profile, but do not know
 what to include in it. My windows path is being loaded and contains paths
 for C:/cygwin, C:/cygwin/etc/ and the absolute paths for the /webroot
 directory.  Any suggestions are appreciated.

  There are default copies of a lot of these sorts of installable scripts
under /etc/defaults.  You'll find the original .bash_profile at
/etc/defaults/etc/skel/.bash_profile.  (Note that that's a default for the
version that goes into /etc/skel, which is the 'current' one that's then used
to set up new home dirs the first time a user runs the cygwin shell.)

cheers,
  DaveK

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



cygport: broken vs. autotools by set -e

2012-01-19 Thread Dave Korn

Hi list,

  I just updated my Cygwin installation for the first time since Oct 26 last
year, and now I'm unable to successfully run cygport builds any more.  The
builds fail because of the spontaneous exiting of one or other of the scripts
that cygport invokes - I've had autoconf-2.68 spontaneously exiting during the
autoreconf stage, and if I skip over that the configure scripts do the same 
thing.

  On closer inspection, it turns out that they were exiting first time they
executed subcommands that failed.  I added 'set -o' to my cygport script, both
inline so it would be executed when the script gets sourced, and inside my
override of src_compile so I could see what was happening just before the
configure call, and sure enough it showed me that errexit was off at the start
of the run but had been set on by the time execution reached src_compile.

  Commenting-out the set -e; line at the start of /usr/bin/cygport has fixed
this problem, and my builds now run just fine, but huh?  I checked in git;
that line has been there since like forever, so why is it giving me trouble
now?  Is there something I could have changed in my environment or startup
scripts that is causing this -e to propagate to subshells that it didn't used
to, or did there used to be a mechanism in cygport that would have had the
effect of turning it off for subshells that has now been removed for some 
reason?

cheers,
  DaveK


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



Re: hard-coded library search path in gcc-4

2012-01-19 Thread Dave Korn
On 20/01/2012 04:07, Ilguiz Latypov wrote:
 I found that gcc-4 from a recent setup.exe could not start cc1 because the
 latter could not find some shared object file.
 
 I confirmed that by running cc1 alone with an empty PATH variable.

  Running cygcheck /usr/lib/gcc/i686-pc-cygwin/4.5.3/cc1.exe should show you
what library is missing.  Setup.exe should have considered all the
dependencies but maybe we've got a bug or a missing one somewhere.

cheers,
  DaveK


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



Re: Bad address error with redirection (stdout and stderr) in background process

2012-01-16 Thread Dave Korn
On 16/01/2012 06:47, Heiko Elger wrote:
 Dave Korn gmail.com writes:
 
 looks like there was a second snapshot later the same day that replaced the
 one you had installed.
 
 That's it! Thanks a lot ..
 I never see a snapshot released twice a day 
 
 Just one question:
 How can I figure out whether a snapshot is released more than once a day?

  Well, if ...

- you download a snapshot
- you find a bug
- you report it and discuss it on the list
- cgf says he's just created a snapshot to fix your bug

... you can infer by pure logic alone that he's not talking about the snapshot
that was uploaded *before* you reported your bug.

  You can also look at the hours and minutes in the timestamp listed on
http://cygwin.com/snapshots/ as well as the date and compare it to the one you
downloaded earlier in the day.

cheers,
  DaveK


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



Re: Bad address error with redirection (stdout and stderr) in background process

2012-01-14 Thread Dave Korn
On 15/01/2011 19:41, Heiko Elger wrote:
 Christopher Faylor writes:
 
 If you are saying that the problem is not fixed in the most recent
 snapshot then please clearly say that.  Otherwise, I don't understand
 what you are asking.  I sent my email on January 11 shortly before the
 January 11 snapshot was uploaded.  There is no reason for you to expect
 a newer snapshot than that.

 
 In my first posting concerning this problem I posted tne used snapshot too
 (20110111)
 
 I'm using latest snapshot and updated cygwin installation.

 $ uname -a
 CYGWIN_NT-6.1-WOW64 PCFX166 1.7.10s(0.259/5/3) 20120111 01:45:50 i686
 Cygwin
 I've done rebaseall and peflagsall.
 
 So I already used teh snapshot of January 11th.

  http://cygwin.com/snapshots/ currently says 2012-01-11 22:44:48 UTC, so it
looks like there was a second snapshot later the same day that replaced the
one you had installed.

cheers,
  DaveK


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



Re: trouble with cgreen test runner in cygwin

2012-01-13 Thread Dave Korn
On 13/01/2012 02:16, Matt wrote:

 the test-runner discovers the tests correctly, but when it goes to run
 them, it fails. this is because the CgreenTest* we fetch via dlsym()
 appears to be corrupt.
 
 We'll reduce it to an even smaller, self-contained test case tomorrow.
 If anyone has ideas/suggestions in the meantime, please let me know.

  Without having even looked at the code, here's one thing worth verifying:
make absolutely certain that the pointer-to-function type you're dereferencing
the pointer returned from dlsym() as has exactly the same calling convention
as the function definitions do when you're compiling them into the DLL.

cheers,
  DaveK


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



Re: Can't get includes untangled

2012-01-12 Thread Dave Korn
On 10/01/2012 19:25, Larry Hall (Cygwin) wrote:
 On 1/10/2012 2:17 PM, Jarome wrote:
 When I make my Windows 7 cygwin project, I keep getting
 In file included from /usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../
 include/w32api/windows.h:98:0,
   from src/tkfPusher.c:23:
 /usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../include/w32api/
 winsock2.h:103:2: warning: #warning fd_set and associated macros have
 been defined in sys/types.  This may cause runtime problems with
 W32 sockets

 Everything works in MinGW.
 
 Don't include windows files for Cygwin.  Think of Cygwin as a UNIX/Linux
 environment.  Anything you wouldn't include there shouldn't be included
 when building for Cygwin.

  That's a simple rule to follow that will avoid some problems, but I thought
mixed-mode coding wasn't actually prohibited and we don't actually go out of
our way to break it - hence the existence of __USE_W32_SOCKETS in the first
place, no?

  To Jarome:

 I tried adding the #define __USE_W32_SOCKETS to
 try and fix this because if defined, it should ignore the fd things in
 types.h, but no success.

  The problem is that you're not defining it early enough:

 #define GPC_CYGWIN
 #define GPC_WIN
 #include stdio.h
 #include errno.h
 #include dirent.h   // This includes sys/types.h

  Yes, it does, so __USE_W32_SOCKETS should already have been defined by that
point or it's too late; both winsock2.h *and* sys/types.h have to be #included
while it is already in effect (they both contain #ifdefs that test it).  And
in fact, stdio.h also indirectly include sys/types.h, so the simple answer is
just to define __USE_W32_SOCKETS right at the top alongside the other defines
before you even include the first file.

cheers,
  DaveK


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



Re: Cannot implement -x switch for diff

2012-01-12 Thread Dave Korn
On 12/01/2012 09:17, Fergus wrote:
 Hello,
 I want to compare the contents of two large directories whilst omitting
 two subdirectories console5/ and console7/ common to both. But using any
 combination of
 diff -rq /d1 /d2 -x console
 diff -rq /d1 /d2 -x console.
 diff -rq /d1 /d2 -x console./

  That's regex notation.  Have you tried a glob pattern instead?

cheers,
  DaveK

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



Re: same old problem, C compiler cannot create executables

2012-01-02 Thread Dave Korn
On 31/12/2011 23:51, Douglas Pardoe Wilson wrote:
 Searching, I have found many people on many forums complaining that Cygwin
 produces a C compiler cannot create executables messaage. As so many people
 have reported, the config.log file contains nothing useful. Surely after all
 these years people should have a real solution to this problem.

  You haven't quite understood what you've been looking at.  Your searches
will have shown you that error message cropping up many times (on every
platform that uses configure scripts, not just Cygwin), because this is the
way configure reports /any/ problem that prevents it working out how to drive
the compiler.  However it's not one single problem at all: it's one symptom
that can be caused by many different underlying problems, and almost every
time the config.log file does contain enough information to diagnose the
problem, or failing that to reproduce it at the command-line for further
investigation.

  Among the many underlying problems that can cause this message to be
reported are environment and configuration problems, such as having the PATH
wrong or not having GCC installed, disk full errors, incorrect permissions,
missing libraries or dependencies, and bugs or non-portable assumptions in the
configure script templates for individual projects.

  It would probably be possible to improve autoconf so that it could generate
configure scripts that try and diagnose some of the more common sources of
problems running the C compiler, and perhaps be able to emit more helpful
error messages in some cases, but in the majority of cases it's going to
require manual intervention to diagnose and solve anyway, and as things stand
configure just throws up its hands and says I give up.  You figure it out.

  Are you experiencing an occurrence of this problem yourself right now in the
course of building something, or was this just a general observation?  It is
unfortunate that, because this one error message is generated for so many
different reasons, it's not easy to know when googling a solution whether the
one you've found is related to what's gone wrong in your particular
circumstances or not.

cheers,
  DaveK


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



Re: SHELLOPTS=igncr and bash --posix

2011-12-30 Thread Dave Korn
On 30/12/2011 12:41, Rafael Kitover wrote:
 On 12/30/2011 1:06 AM, Dave Korn wrote:
 On 29/12/2011 21:40, Rafael Kitover wrote:
 Some of my bash scripts, particularly ones that are #!/bin/bash --posix
 trigger a nasty warning when I have SHELLOPTS=igncr set in my ~/.zshrc:

 rkitover@eeebox ~/src/scala % echo $SHELLOPTS
 igncr
 rkitover@eeebox ~/src/scala % bash --posix
 bash: SHELLOPTS: readonly variable

 this is rather unsightly so I have turned off SHELLOPTS for now.

 Is this a bug? 
   Bug in your script I'm afraid.  SHELLOPTS is indeed a readonly variable, it
 can only be set outside bash before starting it, definitely not from within a
 startup script.  (Perhaps the reason it seems associated with --posix is
 because that selects different startup files?  I'm guessing that you may have
 ENV=~/.zshrc because it's not normal behaviour for bash to read zsh's startup
 file!)
 
 I don't have ENV set.
 
 If I comment out the SHELLOPTS setting in ~/.zshrc then do this the
 problem still appears:
 
 rkitover@eeebox ~ % export SHELLOPTS=igncr
 rkitover@eeebox ~ % bash --posix
 bash: SHELLOPTS: readonly variable
 %{
 %}(%n@%m)[%h] %{%}%~%{%}
 $
 
 I do not have a ~/.profile, and ~/.bash_profile just reads ~/.bashrc. I
 do not set SHELLOPTS in ~/.bashrc, it only has set -o igncr.

  Ah, I'm guilty of trusting the documentation too much.  Turns out the
problem is easy to reproduce without zsh being anything to do with it: even if
you have SHELLOPTS set in the Windows environment and launch bash directly
from cmd.exe, it still fails -

 Microsoft Windows 2000 [Version 5.00.2195]
 (C) Copyright 1985-2000 Microsoft Corp.
 
 C:\Documents and Settings\Administratorset | grep SHELLOPT
 SHELLOPTS=igncr
 
 C:\Documents and Settings\Administratorbash --posix
 bash: SHELLOPTS: readonly variable
 bash-4.1$

  A bit of googling and I discovered this is apparently a known bug in
upstream bash, reported on the GNU bug-bash list back in October at
http://lists.gnu.org/archive/html/bug-bash/2011-10/msg00039.html.  A fix is
promised for the next release but until then I'm afraid you're stuck with only
being able to use one of SHELLOPTS and --posix at a time.

 If so, is a fix possible?

 Use set -o igncr instead.

 But if I want to use CRLF #/bin/sh scripts from zsh, then I have to set
 SHELLOPTS.

  You might be able to make it work by setting ENV (would be BASH_ENV, but
you're using --posix) to point to a (LF-endings-only) script that contains
set -o igncr.  Hopefully that will take effect before the newly-launched
bash has a chance to get upset by any CRs in the script file it's been invoked
on.  (I can't guarantee that nothing will go wrong while parsing the shebang
line if that ends with a CRLF, but you may as well give it a try.)

cheers,
  DaveK


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



Re: SHELLOPTS=igncr and bash --posix

2011-12-29 Thread Dave Korn
On 29/12/2011 21:40, Rafael Kitover wrote:
 Some of my bash scripts, particularly ones that are #!/bin/bash --posix
 trigger a nasty warning when I have SHELLOPTS=igncr set in my ~/.zshrc:
 
 rkitover@eeebox ~/src/scala % echo $SHELLOPTS
 igncr
 rkitover@eeebox ~/src/scala % bash --posix
 bash: SHELLOPTS: readonly variable
 
 this is rather unsightly so I have turned off SHELLOPTS for now.
 
 Is this a bug? 

  Bug in your script I'm afraid.  SHELLOPTS is indeed a readonly variable, it
can only be set outside bash before starting it, definitely not from within a
startup script.  (Perhaps the reason it seems associated with --posix is
because that selects different startup files?  I'm guessing that you may have
ENV=~/.zshrc because it's not normal behaviour for bash to read zsh's startup
file!)

 If so, is a fix possible?

  Use set -o igncr instead.

cheers,
  DaveK



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



Re: Sorry people (NOT MY taxonomy!!), but igncr IS flawed

2011-12-21 Thread Dave Korn
On 19/12/2011 17:35, Andrey Repin wrote:
 Greetings, Dave Korn!
 
 Windows GUI-based archivers are well known for causing this problem.
 
 To be fair, you should reduce your reference to WinZIP is known for.
 At the very least, WinRAR and 7-Zip, both won't try to hold your hand in this 
 case.
 I don't know about WinACE, though, and I'm not going to check it myself.

  I haven't checked, but would bet WinRAR and 7-Zip don't accurately recreate
the posix permissions when they unpack a *nix tarball.  They probably don't
unpack device nodes right either.  They can probably get softlinks right but I
haven't tested that either.

  Rather than play guessing games about which gui-based unpackers will do a
good job of unpacking something into a Cygwin environment and have to
repeatedly re-solve the problems they may cause every time someone says Oh,
well you said not to use WinZip, so I used WinRAR (or whatever) instead, I
just err on the side of caution and simply advise: for unpacking stuff into a
Cygwin environment, always use a Cygwin-aware tool.

cheers,
  DaveK


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



Re: 16 byte pthread stack alignments

2011-12-21 Thread Dave Korn
On 21/12/2011 09:42, Corinna Vinschen wrote:

 But OTOH I have to admit that I don't see how this alignment business
 worked at all.  Aligning the stack to 16 byte in mainCRTStartup doesn't
 guarantee that the stack is still 16 byte aligned in main().  If that
 worked so far, it seems like a miracle.  The call stack looks like this:
 
   mainCRTStartup
   - cygwin_crt0
  - _dll_crt0
 - _main_tls-call
  - _main_tls-call2
 - dll_crt0_1
- main
 
 Every function on the stack changes the stack pointer.  How did that
 work?  Coincidence?
 
 And then again, isn't it gcc's job to make sure that the generated code
 makes sure the stack is correctly aligned for certain opcodes?
 
 What am I missing?

  GCC assumes that the stack starts off 16-aligned when the OS hands over to
the exe's entrypoint, and then makes sure it stays that way by always rounding
stack frame sizes up to the nearest multiple of 16.  Or at any rate that's how
it's supposed to work.

cheers,
  DaveK


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



Re: Sorry people (NOT MY taxonomy!!), but igncr IS flawed

2011-12-17 Thread Dave Korn
On 17/12/2011 15:50, manu0507 wrote:

 - the script causing trouble comes in the GNU gdb distribution
 gdb-7.3.1.tar.gz

  Hah!  I know what's happened: you used a windows program such as winzip or
similar to unpack the archive, and it's gone and helpfully munged all the
line endings for you.  Use 'tar xvfz gdb-7.3.1.tar.gz' at the Cygwin shell
command-line and you'll get a correctly unpacked version.  (There definitely
aren't CRLFs in the upstream release of the configure scripts.)  Windows
GUI-based archivers are well known for causing this problem.

  (Also, if you think that Eric's reply was acrimonious, you're just having
some sort of using-language-in-different-ways communication problem.  I saw it
earlier and it seemed perfectly polite and proper to me, I honestly can't see
what about it would offend you.)

cheers,
  DaveK

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



Re: rcs 5.8-1 corrupt files?

2011-12-14 Thread Dave Korn
On 11/12/2011 08:24, Jay E. wrote:

 Suspected line-ender problem.
 Started over and used 'flip' to go with unix line-ender.
 Same problems.
 BUT it looks like the DOS lime ender was added after the flip by ci, or co.

  It looks like the line-ends are getting flipped in the actual RCS/*,v file,
and that's probably because of your current directory:

 Cygwin installations found in the registry:
   System: Key: c5e39b7a9d22bafb Path: C:\cygwin
 
 c:  hd  NTFS 64999Mb  44% CP CS UN PA FC Preload
 d:  cd N/AN/A
 
 C:\cygwin/  system  binary,auto
 C:\cygwin\bin/usr/bin   system  binary,auto
 C:\cygwin\lib/usr/lib   system  binary,auto
 cygdrive prefix  /cygdrive  usertext,posix=

  Your /cygdrive is set to text mode, so when RCS tries to create files under
that part of the tree, they'll get DOS CR-LF line endings.  (This presumably
reflects an underlying portability bug in RCS itself: it must not be using the
b file mode in open calls.  On Linux and Unix systems, binary mode is the
same as text mode, but that isn't true everywhere, and even though it doesn't
make a difference on those systems, the code should still correctly use binary
or text mode when it opens a file according to the semantics of what it's
going to write there.)

  You should be alright if you only use RCS inside other cygwin paths except
for those under /cygdrive, or if you remove the text mode setting from your
cygdrive prefix.

cheers,
  DaveK



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



Re: cyg*.dll, linking

2011-12-14 Thread Dave Korn
On 13/12/2011 20:32, Warren Young wrote:
 On 12/13/2011 12:18 PM, Brian Craft wrote:
 On Tue, Dec 13, 2011 at 11:16 AM, Csaba Raduly  wrote:
 On Tue, Dec 13, 2011 at 7:45 PM, Brian Craft  wrote:

 And why don't I see cyg*.dll files, for example, in /usr/lib?

 They are all hiding under /usr/bin :)

 Ah! I see. So the install is working fine, I was just adding the wrong
 directory to PATH, having no idea that libraries would be installed
 under ${prefix}/bin. :)

  Well, /usr/bin should be on your PATH at all times anyway...

 ...and that is on purpose, because of Windows' DLL search path rules:
 
 http://msdn.microsoft.com/en-us/library/7d83bc18.aspx
 
 If autotools generated Makefiles that installed DLLs in /usr/lib, you'd
 have to add c:\cygwin\lib (or whatever) to the PATH, and then risk being
 sent to DLL Hell by having another DLLs with the same name elsewhere in
 the PATH.

  What he said.  It's a difference between Linux and Windows that we don't try
to hide: on Windows, executables don't contain an rpath (a path pointing to
where the needed shared libraries can be found at runtime) and there is no
equivalent of LD_LIBRARY_PATH for the Windows kernel file loader, so since
DLLs have to go on the PATH we install them to /usr/bin alongside the
executables that need them.  /usr/lib still contains all the static libraries,
import libraries and associated libtool control files as normal though.

  Also, from your original post:

 building. Most of them build via autotools. Doing make install
 installs files *.a, *.la, *.dll.a. Linking the executable succeeds
 without error, however when running it, the loader complains that it
 can't find cyg*.dll files. E.g. if it was libfoo.a that was installed,
 the executable wants cygfoo-6.dll to run.
 
 These cyg-*.dll files exist in the build directories, generally in
 src/.libs . The program will run if I add all of these to the PATH.

  Windows can only find DLLs if they are on the PATH (or in the same directory
as the executable being launched).  Libtool is aware of this: if you look in
your build directory, in the src/ dir just above src/.libs, you'll find
something that looks like your executable but in fact isn't.  The real
executable lives in the .libs subdir too, and the one by the same name in the
main build dir is a wrapper that sets the PATH to include any required .libs
directories and then invokes the real executable in the .libs subdir.

  When you run make install, libtool copies the real executable into your
/usr/bin dir, the wrapper is no longer required at that point.  (You can
control where the DLLs get installed by passing libtool the -bindir option,
should the default not suit you for any reason; the default is that DLLs go
into ../bin/ relative to the lib/ subdir where the .a and .la files go.)

cheers,
  DaveK


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



Re: fortran open mpi - getting mpif77 and mpif90 to work

2011-12-14 Thread Dave Korn
On 14/12/2011 13:20, Jon Clugston wrote:
 On Tue, Dec 13, 2011 at 5:16 PM, Stitchz jsama...@gmail.com wrote:
 This is what I get on a fresh, default install of cygwin:

 $ mpif77

 ---
 The Open MPI wrapper compiler was unable to find the specific compiler
 ifort.exe in your PATH.

 Note that this compiler was either specified at configure time or in
 one of several possible environment variables.
 ---

 So for some reason writing mpif77 on the command line does not result on
 a bash: command not found error. For some reason the command is
 referenced,
 even though it doesn't work out of the box.

 
 Maybe, you have an executable called mpif77 installed on your
 system, in your PATH, that isn't from Cygwin.

  The fact that the official Cygwin package list (http://cygwin.com/packages/)
doesn't include anything containing even the substring 'mpif77' suggests
that's pretty likely.

cheers,
  DaveK

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



Re: Issues with TCP Window Scaling Factor and Cygwin Daemons

2011-12-14 Thread Dave Korn
On 15/12/2011 05:23, Lee wrote:
 On 12/14/11, David Groves wrote:
 I am having some issues with cygwin applications (specifically sshd)
 and TCP Window Scaling Factors. I am using OpenSSH client on either a
 Debian Linux or FreeBSD machine to connect to sshd on a Windows 2k8 R2
   ^^
 server.

 No pointers, but it does look like a Cygwin problem.
 
 Start up wireshark on a Windows XP machine and ssh (from a cygwin
  ^^
 window) to another machine - tcp syn packet has a window size of 65535
 and a widow scale of zero.  Use putty from the dos prompt to ssh to
 the same machine and that has a window size of 65535 and a window
 scale of 2

  1.  MS completely replaced the networking stack in Vista/2k8 with their
so-called Next Generation TCP/IP stack, so you can't extrapolate from XP to 
2k8.

  2.  On XP, window scaling is enabled by a registry setting, and when it is
in effect, Windows decides what scale setting to use by considering the
SO_RCVBUF size used when the connection is initiated.  In that light, the fact
that Cygwin applications show a scale of zero is probably not unrelated to
this snippet of code from net.cc#fdsock():

   /* Raise default buffer sizes (instead of WinSock default 8K).
 
  64K appear to have the best size/performance ratio for a default
  value.  Tested with ssh/scp on Vista over Gigabit LAN.
 
  NOTE.  If the SO_RCVBUF size exceeds 65535(*), and if the socket is
  connected to a remote machine, then calling WSADuplicateSocket on
  fork/exec fails with WinSock error 10022, WSAEINVAL.  Fortunately
  we don't use WSADuplicateSocket anymore, rather we just utilize
  handle inheritance.  An explanation for this weird behaviour would
  be nice, though.
 
  (*) Maximum normal TCP window size.  Coincidence?  */
   ((fhandler_socket *) fd)-rmem () = 65535;
   ((fhandler_socket *) fd)-wmem () = 65535;
   if (::setsockopt (soc, SOL_SOCKET, SO_RCVBUF,
   (char *) ((fhandler_socket *) fd)-rmem (), sizeof (int)))
 {
[ ... snip error handling ... ]
 }

  I would guess that a 65536 default would cause Windows to send a non-zero
scale in the SYN packet, but as the comment says, that created some other sort
of problem somehow.

  3.  On 2k8 (also Vista and 7), window scaling is no longer controlled by the
registry but enabled automatically, as part of a new feature called Receive
Window Auto-Tuning.  I could not infer from any documentation that I could
find in ten minutes googling whether or not it still pays attention to the
initial SO_RCVBUF setting.  It might be worth trying a custom build of the
Cygwin DLL with a 64k or 128k setting in place of 65535.  Then again, it seems
there may yet be problems in this functionality, e.g. the known bug described
at http://support.microsoft.com/kb/983528; perhaps if the custom Cygwin DLL
doesn't help, that hot-fix might.

cheers,
  DaveK


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



[patch,1.7.10] clock_setres returns zero

2011-12-12 Thread Dave Korn

Hi folks,

  I actually noticed this in 1.7.9, but looking at the source in CVS I can see
it's still present in 1.7.10.  Here's the STC:

 $ cat clockres.c

#include stdio.h
#include time.h
#include errno.h

int main (int argc, const char **argv)
{
  struct timespec ts;
  if (clock_getres (CLOCK_MONOTONIC, ts)  0)
  {
fprintf (stderr, Bad: %d\n, errno);
return -1;
  }
  printf (%ld sec, %ld nanos\n, ts.tv_sec, ts.tv_nsec);
  return 0;
}

 $ gcc-4 clockres.c -o clockres -W -Wall -Wextra
 clockres.c: In function 'main':
 clockres.c:6:15: warning: unused parameter 'argc'
 clockres.c:6:34: warning: unused parameter 'argv'
 
 $ ./clockres.exe
 0 sec, 0 nanos
 
 $

  This happens because on my PC, QueryPerformanceFrequency returns 251160,
so the following code in times.cc#hires_ns::prime()

   freq = (double) ((double) 10. / (double) ifreq.QuadPart);

calculates freq correctly(*) as 0.39815257206561555.  This means that the
resolution is less than a nanosecond, so hires_ns::resolution(), which is
where clock_getres gets the result from, ...

 LONGLONG
 hires_ns::resolution ()
 {
   if (!inited)
 prime ();
   if (inited  0)
 {
   set_errno (ENOSYS);
   return (long long) -1;
 }
 
   return (LONGLONG) freq;
 }

... truncates it to zero.  (The libgfortran testsuite barfs on this.)

  Although the resolution is too small to express in integer nanoseconds,
that's ok when it's used to calculate the actual time, because that is all
done in double precision before being truncated to integer, in
hires_ns::nsecs() here:

   // FIXME: Use round() here?
   now.QuadPart = (LONGLONG) (freq * (double) (now.QuadPart - 
 primed_pc.QuadPart));
   return now.QuadPart;

  So we'll calculate the correct time to the nearest nanosecond anyway.  Since
that's the maximum resolution that we can return in a timespec from
clock_gettime anyway, I think we should just round up resolutions less than
1ns to pretend they're exactly 1ns.

winsup/cygwin/ChangeLog:

* times.cc (hires_ns::resolution): Don't return less than 1.

  Tested by building the clean sources, copying the DLL and test executable
into a temp dir on their own and invoking it from cmd.exe, patching the source
and rebuilding the DLL, copying the new DLL into the temp dir and rerunning
the testcase to see 0 sec, 1 nanos.  Didn't do a full install though.  OK?

cheers,
  DaveK
-- 
(*) - Apart from the fact that it's a period, not a frequency!

Index: winsup/cygwin/times.cc
===
RCS file: /cvs/src/src/winsup/cygwin/times.cc,v
retrieving revision 1.112
diff -p -u -r1.112 times.cc
--- winsup/cygwin/times.cc	3 Dec 2011 21:43:27 -	1.112
+++ winsup/cygwin/times.cc	12 Dec 2011 08:23:20 -
@@ -718,7 +718,7 @@ hires_ns::resolution ()
   return (long long) -1;
 }
 
-  return (LONGLONG) freq;
+  return (freq = 1.0) ? 1ll : (LONGLONG) freq;
 }
 
 UINT


Re: gcc-4.5.3 segfaults wrt alloca

2011-12-10 Thread Dave Korn
On 09/12/2011 20:36, Corinna Vinschen wrote:
 On Dec  9 12:41, Ryan Johnson wrote:
 On 09/12/2011 12:07 PM, Eric Blake wrote:
 On 12/09/2011 07:55 AM, Ryan Johnson wrote:
 On 09/12/2011 5:58 AM, Denis Excoffier wrote:
 I use the latest packages and cygwin snapshots. The problem described
 below began several snapshots in the past, around beginning of December.

 The following program, with static allocation of a reasonable amount
 of data, segfaults, maybe in alloca(). With a smaller size
 (eg 1) it's ok. With new/malloc (even with 100 times more) it's
 ok. With C or C++. 100% reproducible.
unsigned int const SIZE = 689471;
int foo[SIZE];
 Reasonable? You're trying to stack-allocate 2.5MB of data. Don't do that
 -- stack sizes are 2MB or less in most operating systems. Besides, doing
 anything useful with a buffer that size would completely drown out the
 overhead of calling malloc.
 Not only that, but stack allocating more than 64k in a single function
 is a recipe for bypassing the guard page and causing windows to silently
 quit your program, rather than letting cygwin catch the guard page
 access and convert it to normal SIGSEGV handling.  To be portable to all
 OS, you should never stack allocate more than 4k in a single function.
 It's kind of interesting: when I ran that test case with my
 home-brew gcc-4.6, its alloca() explicitly walks through the
 proposed allocation in 4kB increments to ensure that a stack
 overflow triggers SIGSEGV right away, rather than allow silent data
 corruption later. I don't know if older versions also do this, but
 maybe that's why it used to work and now doesn't work.
 
 alloca works this way for ages, as far as I know.

  1. Yes, alloca stack probes.
  2. GCC uses alloca in the prologue of functions that need big stack frames
allocated, in order to gain just that functionality.
  3. Windows will grow the stack for you automatically if you hit a guard page.
  4. A lot depends on the luck of how your process initial space is laid out.
 When I run the testcase and breakpoint at main, $esp = 0x22cd2c; that's only
just over 2 meg anyway, so there's no address space to expand the stack down
into and the seg fault happens when alloca tries to probe reserved low memory
addresses.  If however (cgf's case?) the initial stack is higher up in the
address space, windows will grow it automatically for you as your probes hit
guard pages until you reach the final required size.
  5. Setting the program's initial stack size larger by adding e.g.
-Wl,-stack,400 to the compiler commandline ensures that the initial
stack pointer is located somewhere that at least that much memory is
available, and makes the testcase run OK for me where previously it was 
faulting.

cheers,
  DaveK


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



Re: Clean removal of cygwin from Win 2008

2011-12-05 Thread Dave Korn
On 05/12/2011 11:45, Andrew Erskine wrote:
 Hi,
 
 I've been trying to configure cygwin sftp for the firstime on win 2008 now
 after several installations and botched attempts I'd like to remove the
 product and start again.
 
 Could some one please provide steps to remove from registry etc

  Full uninstall is covered in the FAQ at:

  http://cygwin.com/faq/faq-nochunks.html#faq.setup.uninstall-all

cheers,
  DaveK


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



Re: injob version 1.3

2011-12-05 Thread Dave Korn

 Windows 7.  Everything up to date.
 
 /arc/2build gcc -o injob injob.c
 /tmp/ccOdzsVZ.o:injob.c:(.text+0x87b): undefined reference to 
 `__imp__NtQueryInformationProcess@20'
 collect2: ld returned 1 exit status
 
 What am I doing wrong?

  Needs -lntdll.  Also, if obcaseinsensitive=0, the #include Tlhelp32.h
should be all lower-case.

cheers,
  DaveK


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



Out-of-office messages spamming list posters

2011-12-05 Thread Dave Korn

  Could a mod please unsubscribe acn1 AT cam DOT ac DOT uk?  His
mis-configured vacation reply is sending a duplicate in response to every
single list posting, and this is apparently going to continue until further
notice.

cheers,
  DaveK


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



Re: best way to prevent a cygwin build?

2011-12-02 Thread Dave Korn
On 02/12/2011 09:47, Csaba Raduly wrote:
 On Fri, Dec 2, 2011 at 8:46 AM, Paul Allen Newell  wrote:

 I am not happy with having to run two separate source trees and would like a
 way (as in best standard) to add something to any Maya makefile which will
 prevent execution if it is being compiled on Cygwin. The best I have been
 able to come up with is a check under each make directive, but that's alot
 of exceptions where I would think only one would be necessary.

 I searched the GNU make docs and googled for such, but the best I could see
 were bailout rules under a given make rule directive. I can find out whether
 I need to bail by the test ifeq (Cygwin, $(shell uname -o)) but can't
 figure out a way to have the makefile ask this question once for the entire
 set of make directives in it.
 
 ifeq (Cygwin, $(shell uname -o))
 PLATFORM := CYGWIN
 endif

  Well, in this particular case:

ifeq (Cygwin, $(shell uname -o))
$(error This project does not build in Cygwin)
endif

  Can be placed anywhere in the makefile, no need to modify the build rules.

cheers,
  DaveK

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



Re: cygwin dlls needed to run binutils

2011-11-24 Thread Dave Korn
On 23/11/2011 16:59, Ryan Johnson wrote:
 On 23/11/2011 11:47 AM, Surrounder wrote:
 Larry Hall (Cygwin) wrote:
 A cygcheck on 'ld' shows cyggcc_s-1.dll is pulled in as a result of a
 dependency on cygintl-8.dll.  I don't see a dependency on cygz.dll but
 perhaps another tool from the package pulls that one in.
 I found out that the needed dll´s depend on the .\configure I do, is
 there a
 way to find out what options were used makeing binutils last time out
 of the
 binaries?
 I tried searching a list where I can maybe find info about what cygwin
 dll
 is used for what function in binutils.
 I suspect that --disable-nls would remove the dependency on libintl, but
 I don't know what would pull in libz.

  That'll probably be the support for zip-compressed debug info sections that
was added to the mainline sources around this time last year.  It can be
disabled by passing --with-zlib=no to configure, or apparently also as a
side-effect of --disable-nls (according to a quick reading of the configure
scripts, I haven't tested.)

cheers,
  DaveK

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



Re: Rolling back to 1.6.x Subversion

2011-11-18 Thread Dave Korn
On 18/11/2011 14:24, Csaba Raduly wrote:
 On 11/18/11, Warren Young  wrote:
 On 11/17/2011 3:42 PM, Andrey Repin wrote:
   [ one level of attribution lost here ]
 $ ls -d .svn
 1.7 working copy do not have .svn dirs in nested directories.
 http://subversion.apache.org/docs/release-notes/1.7.html#wc-ng
 Sorry, I remembered that too late.

 How about svn st -q .?
 
 That prints nothing if the folder is up to date.
 Did you meansvn st -u .   ?

  How about the quicker (because non-recursively-scanning-the-whole-tree) svn
info .?

cheers,
  DaveK



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



Re: filename with HASH

2011-11-17 Thread Dave Korn
On 17/11/2011 00:29, pen wrote:
 Few more tests: seems lynx dont like #
 
 $ mv test bay#, wwid test # abc
 $ lynx -dump test # abc
 
 Can't Access `file://localhost/cygdrive/e/test%20#%20abc'
 Alert!: Unable to access document.
 
 lynx: Can't access startfile
 
 $ mv  test # abc test# a
 $ lynx -dump test# a
 
 Looking up test
 Making HTTP connection to test
 Alert!: Unable to connect to remote host.  
 
 lynx: Can't access startfile http://test/#%20a

  A # marks a separator in a URL between the URI part and the anchor within
the page to load up the display at.  I think lynx is applying the same syntax
to local file URLs; for example, if you have a local file index.html, you
can append any arbitrary # anchor to it:

 $ wget 'http://www.bbc.co.uk/'
 --2011-11-17 09:47:02--  http://www.bbc.co.uk/
 Resolving www.bbc.co.uk (www.bbc.co.uk)... 212.58.246.94
 Connecting to www.bbc.co.uk (www.bbc.co.uk)|212.58.246.94|:80... connected.
 HTTP request sent, awaiting response... 200 OK
 Length: 135886 (133K) [text/html]
 Saving to: `index.html'
 
 100%[==] 135,886  446K/s   in 0.3s
 
 2011-11-17 09:47:03 (446 KB/s) - `index.html' saved [135886/135886]
 
 
 $ ls index*
 index.html
 
 $ lynx -dump index.html#foobar
 
#[1]A to Z [2]BBC Help [3]Terms of Use
 
[4]British Broadcasting Corporation BBC Home
   [ ... snip ... ]

  So I think it's a limitation of the URL format that it's ambiguous between a
filename with an actual # in it and a filename followed by # and an anchor,
and there's probably not much lynx can do about it.  Your best bet, if you
absolutely have to use lynx on files with hash signs in their names, would be
to use lynx's -stdin option and redirect the input from the file, so that lynx
doesn't ever see the filename at all:

 $ lynx -dump index.html # abc
 
 Can't Access `file://localhost/tmp/lynx/index.html%20#%20abc'
 Alert!: Unable to access document.
 
 lynx: Can't access startfile
 
 $ lynx -stdin -dump  index.html # abc
 
#[1]A to Z [2]BBC Help [3]Terms of Use
 
[4]British Broadcasting Corporation BBC Home
   [ ... snip ... ]


cheers,
  DaveK


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



Re: Problems with updating nearly any package meant for Cygwin or using packages such as libtool

2011-11-17 Thread Dave Korn
On 17/11/2011 13:00, marco atzeri wrote:

 the problem is that the configure scripts incorrectly looks for
 libpcre.so that on cygwin is called differently:
 
 /usr/bin/cygpcre-0.dll
 
 so you need to modify the configure accordingly or
 remove the test and leave only the check for pcre.h
 
 same for libidn /usr/bin/cygidn-11.dll
 
 libpq /usr/bin/cygpq.dll
 
 and so on.
 These are upstream bugs in configure, looking for the lib
 is wrong as different platforms have different conventions.
 They should only look for the header.

  Well, they could look for the lib too, as long as they used the correct
autoconf macro (AC_CHECK_LIB or AC_SEARCH_LIB) to do so.  Rather than try
searching in arbitrary and unknown places for unknown file names, that just
tries running a compile with the relevant -l flag and seeing if it succeeds -
which for the purposes of the build is more definitively accurate anyway.


cheers,
  DaveK


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



Re: Problems with updating nearly any package meant for Cygwin or using packages such as libtool

2011-11-17 Thread Dave Korn
On 17/11/2011 20:33, Dave Korn wrote:
 On 17/11/2011 13:00, marco atzeri wrote:
 
 the problem is that the configure scripts incorrectly looks for
 libpcre.so that on cygwin is called differently:

 /usr/bin/cygpcre-0.dll

 so you need to modify the configure accordingly or
 remove the test and leave only the check for pcre.h

 same for libidn /usr/bin/cygidn-11.dll

 libpq /usr/bin/cygpq.dll

 and so on.
 These are upstream bugs in configure, looking for the lib
 is wrong as different platforms have different conventions.
 They should only look for the header.
 
   Well, they could look for the lib too, as long as they used the correct
 autoconf macro (AC_CHECK_LIB or AC_SEARCH_LIB) to do so.  


  Whoops, no they can't.  The hydra configure script isn't from autconf at
all; it's just hand-written.

  Well, at least it serves as an object lesson in why you shouldn't do that
(see also: reinventing the wheel, NIH syndrome).

cheers,
  DaveK

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



[SOLVED] Re: What updates done after October 3 may affect gfortran built binaries?

2011-11-15 Thread Dave Korn
On 09/11/2011 12:15, Edvardsen Kåre wrote:
 This is again related to the failure of execution of a gfortran built
 binary (cannot execute binary, see thread
 http://cygwin.com/ml/cygwin/2011-11/msg00034.html )
 
 In short, the main problem is that I can't build a successful binary
 from the FLEXPART fortran code 


  I helped Edvardsen to track this down off-list.  It turns out that FLEXPART
is one of those huge number-crunching Fortran programs that's just jam-packed
with ginormous multi-dimensional arrays.  The final linked executable had 3.38
GB of .bss space!  So, it's not too surprising that it didn't load on 32-bit
Windows; and it's not, as I was worrying, any explicit bug in the compiler or
binutils (although it may be arguable that ld could be helpful if it issued
some kind of warning in these circumstances).

cheers,
  DaveK

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



Re: [SOLVED] Re: What updates done after October 3 may affect gfortran built binaries?

2011-11-15 Thread Dave Korn
On 15/11/2011 16:20, Ryan Johnson wrote:
 On 15/11/2011 10:53 AM, Dave Korn wrote:
 On 09/11/2011 12:15, Edvardsen Kåre wrote:
 In short, the main problem is that I can't build a successful binary
 from the FLEXPART fortran code

 FLEXPART is one of those huge number-crunching Fortran programs that's
 just jam-packed with ginormous multi-dimensional arrays. The final linked
 executable had 3.38 GB of .bss space!

 Out of curiosity, how then was the OP ever able to make *any* version run?

  Not clear yet but probably owing to changes in one or more of the array
dimensions in the upstream source that he didn't notice taking place.

cheers,
  DaveK


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



Re: errors in setup --help

2011-11-10 Thread Dave Korn
On 10/11/2011 16:14, Nellis, Kenneth wrote:
 Thought it may be worthwhile to point out the following setup.exe 
 errors in case they indicate a problem that wants to be addressed.
 --Ken Nellis

  Thanks for mentioning it.  They aren't significant, and it's only an
inadvertent side-effect of the way that help output is routed to the console
that they appear; they're not being printed out because they're relevant or
important.

  The mentioned files are all optional files that are only created if you use
the proxy or extra signing key features in setup.exe, so it's not a problem
that they aren't found.

cheers,
  DaveK

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



  1   2   3   4   5   6   7   8   9   10   >