cygheap version mismatch ?

2005-02-12 Thread CV

It looks like I have managed to screw up my cygwin installation
more or less completely :o(

What I did: I was trying out some of the latest snapshots, and
noticed that KDE would not start with them. So I kept trying,
changing back and forth between the different cygwin1.dll files,
rebooting and running rebaseall -v between tries.

Result: Now, whenever I try starting XWin (whether with KDE or
without) it will fail with the message such as the following:

C:\cygwin\usr\X11R6\bin\XWin.exe (4056): *** cygheap version
   mismatch detected - 0x6179/0x101.
You have multiple copies of cygwin1.dll on your system.
Search for cygwin1.dll using the Windows Start-Find/Search facility
and delete all but the most recent version.  The most recent version *should*
reside in x:\cygwin\bin, where 'x' is the drive on which you have
installed the cygwin distribution.

I have tried putting the original cygwin1.dll back, including
reboot and rebaseall -v, but still the same results.

As it is, the only thing I can do is run bash in a dos window.

There are definitely no multiple copies of that file. I renamed
all the other snapshopts to something_else._dll and searched all
disks.

Any pointers or advice would be greatly appreciated.

Cheers CV



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



Re: cygheap version mismatch ?

2005-02-12 Thread CV
Larry Hall lh-no-personal-replies-please at cygwin.com writes:

 Start here:
 Problem reports:   http://cygwin.com/problems.html

Yes thank you, I looked through the FAQ and instructions, and also 
googled around but didn't find anything specific on this.

 Also, did you start any Cygwin services? 
No. No services.

But I got it working again now by running setup and reinstalling
everything related to X11.

Still, there is the nagging doubt about whether I didn't miss
a package or two in the reinstall and perhaps have a time-bomb
lurking in the depths of the system that may blow up in my
face somewhere a little further down the road.

I would have preferred to actually understand what was 
happening - were the files corrupt ? How did it happen ?
If they weren't, how would reinstalling the same files fix
the problem ? 

Cheers CV



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



cygheap version mismatch detected

2005-02-11 Thread CV

I seem to have managed to completely crash my cygwin installation :o(

After trying some of the recent snapshots I noticed KDE would not start.

So I tried with different snapshots (including the original cygwin1.dll)
a few times, rebooting and running rebaseall -v between tries.

Now neither KDE nor XWin will start at all, instead I get the following
message:

C:\cygwin\usr\X11R6\bin\XWin.exe (2400): *** cygheap version
   mismatch detected - 0x6179/0x101.
You have multiple copies of cygwin1.dll on your system.
Search for cygwin1.dll using the Windows Start-Find/Search facility
and delete all but the most recent version.  The most recent version *should*
reside in x:\cygwin\bin, where 'x' is the drive on which you have
installed the cygwin distribution.

There are definitely no multiple copies of cygwin1.dll files on the
system. I have renamed the other snapshots something_else._dll and
searched through all disks just to make sure.

I have restored the original cygwin1.dll, rebooted and run rebaseall -v
(with no errors) any number of times but the results are still as above.
Running from a dos window still works but that's about it.

Cheers CV



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



20050208 hyperthreading bug is back ?

2005-02-09 Thread CV

Summary:

I reported before that the 20050206 snapshot appeared to fix
the hyperthreading bug for me.

Now it seems that the next snapshot 20050208 broke it again.

Test Case:
--
Command:
  find z | while read f; do chown username $f; done;

and a longer version of the test case command, (same results):
  export i=1; find z | while read f; do printf %8i: %s\n $i $f; \
  chown username $f; ((i++)); done;

Note: z is a directory tree under /cygdrive/c with 4000 odd files in it.

Result:
---
  after 700 to 1000 files bash hangs with the following error message:
  2 [exiting thread] bash 3328 cygthread::stub: erroneous thread
activation, name is NULL

The first number varies (2, 4, 8) as well as the number after bash
which I take it is the pid.

NOTE: The error only occurs when I run this from the command prompt.
I put the same command in a file (preceded by a #!/bin/bash -line)
and called it chownz.bash
./chownz.bash completes as expected
. ./chownz.bash also completes as expected

The same test runs without problems on the 20050206 snapshot.

My system:
--
HP Pavilion, P4HT3.2G, 1G memory, 200G SCSI HD

$ uname -a
CYGWIN_NT-5.1 nodename 1.5.13s(0.118/4/2) 20050208 14:21:58 i686
  unknown unknown Cygwin

I tried to include the output from
  'cygcheck -s -v -r | tee cygcheck.out'
but the interface will not accept lines longer than 80 chars.
I can mail it across, just let me know.

Regards CV




--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



Re: 20050208 hyperthreading bug is back ?

2005-02-09 Thread CV
Rolf Campbell thats.unpossible at gmail.com writes:
 CV wrote:
after 700 to 1000 files bash hangs with the following error message:
2 [exiting thread] bash 3328 cygthread::stub: erroneous thread
  activation, name is NULL
 
 And it appears I spoke too early before.  I too, still see a problem:
 
 1424 [exiting thread] make 2052 cygthread::stub: erroneous thread 
 activation, name is NULL.
 
 None of my simple test cases seems to fail, but in the guts of a 2-hour 
 build, I get that error message and things grind to a halt.

OK, but then it would perhaps be interesting to know if the 20050206
snapshot works for you there - or, in case it fails, whether the error
is the same or different ?

Cheers CV




--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



Re: hyperthreading fix, try #1

2005-02-07 Thread CV
Christopher Faylor cgf-no-personal-reply-please at cygwin.com writes:

 I'm not naive enough to think that I've solved all of the hyperthreading
 problems but I would like people to try today's snapshot (or any
 snapshot newer than today's) and report on whether it solves the problem
 or not.  If it doesn't, please provide as simple a test case as possible
 so that I can duplicate the problem.

Working well here: HP Pavilion with P4HT3.2G.

I only ran into the hyperthreading bug the other day when trying
to chown a large directory tree. It would bomb out after a minute
or two (a few hundred to maybe a thousand files).

With the new build (whether stripped with --strip-debug or unstripped)
the command completes as expected.

Another vote for the silver star !
Cheers CV


--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



Re: hyperthreading fix, try #1

2005-02-07 Thread CV
CV or254498 at hotmail.com writes:
 Another vote for the silver star !

Oops, I meant the gold star of course !

Cheers CV




--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



connection refused to www.cygwin.com

2005-02-06 Thread CV

Apologies if this is slightly off-topic.

I am getting The connection was refused when attempting to
contact www.cygwin.com in the browser.

Is there a problem with the cygwin site ?

(The above message is in Netscape, IE claims it was not found,
 ping works OK)

CV



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



Re: FileRunner under cygwin - simple compilation fails.

2005-01-19 Thread CV
Igor Pechtchanski pechtcha at cs.nyu.edu writes:
 On Wed, 19 Jan 2005, CV wrote:
  After running the command gcc -E ext.c -o ext.pre and then
  comparing ext.pre with tcl.h I think I can identify some of
  the included bits, eg. the following:
 
 You could also just look at the '# line' lines, e.g.,
 '# 159 /usr/include/tcl.h 3 4'

Yep, those lines are in there. Quite a number of them in fact.

 The most interesting thing is whether Tcl_CreateCommand is declared, and
 whether its signature corresponds to its usage in ext.c.

Here are the relevant bits.
I'm afraid I am not conversant enough with pointer and data type
mechanisms in c to make total sense of it. It appears to be fairly
advanced stuff ...

And I am seeing strange behaviour in the program, on one
particular point, though we best not go into details on that
yet as I am not sure it is anything to do with cygwin.

But it would be useful to eliminate the doubt about
these warnings first. If you can see any obvious mistake
below I'd appreciate it.

-- from tclDecls.h, included at pre-compile time 
/* 91 */
EXTERN Tcl_Command  Tcl_CreateCommand _ANSI_ARGS_((Tcl_Interp * interp, 
CONST char * cmdName, Tcl_CmdProc * proc, 
ClientData clientData, 
Tcl_CmdDeleteProc * deleteProc));
...
Tcl_Command (*tcl_CreateCommand) _ANSI_ARGS_((Tcl_Interp * interp,
   CONST char * cmdName, Tcl_CmdProc * proc, ClientData clientData,
   Tcl_CmdDeleteProc * deleteProc)); /* 91 */
-
-- usage in ext.c ---
... (declarations at the top of the file)
static int GetTimeFromSecs(ClientData clientData, Tcl_Interp* interp, 
   int argc, char* argv[]);
static int GetTimeFromSecsSetFormat(ClientData clientData, Tcl_Interp* interp, 
   int argc, char* argv[]);
static int GetStringFromMode(ClientData clientData, Tcl_Interp* interp, 
   int argc, char* argv[]);
static int GetUidGidString(ClientData clientData, Tcl_Interp* interp, 
   int argc, char* argv[]);

... (a little further down)
int
Ext_Init(interp)
Tcl_Interp *interp; /* Interpreter for application. */
{
Tcl_CreateCommand(interp, GetTimeFromSecs, GetTimeFromSecs, NULL, NULL);
Tcl_CreateCommand(interp, GetTimeFromSecsSetFormat,
  GetTimeFromSecsSetFormat, NULL, NULL);
Tcl_CreateCommand(interp, GetStringFromMode, GetStringFromMode,
   NULL, NULL);
Tcl_CreateCommand(interp, GetUidGidString, GetUidGidString, NULL, NULL);
...
--
 and, again, the warnings from the compilation ---

gcc -Wall -fPIC -O3 -I/usr/include -I/usr/include -I/usr/include/X11
   -c -o ext.o ext.c
cc1: warning: -fPIC ignored for target (all code is position independent)
ext.c: In function `Ext_Init':
ext.c:95: warning: passing arg 3 of `Tcl_CreateCommand' from
  incompatible pointer type
ext.c:96: warning: passing arg 3 of `Tcl_CreateCommand' from
  incompatible pointer type
ext.c:97: warning: passing arg 3 of `Tcl_CreateCommand' from
  incompatible pointer type
ext.c:98: warning: passing arg 3 of `Tcl_CreateCommand' from
  incompatible pointer type
...
--

  Don't know, but actually it only refuses to enter the
  C:/cygwin/cygdrive directory, where the windows disks
  are mounted. It is ok everywhere else.
 
 Ha.  /cygdrive is a virtual directory, intended to access Windows disks
 from inside Cygwin, not vice versa.  Why go to C:/cygwin/cygdrive/c/, when
 you can simply go to C:/?

I would have preferred to have a consistent view of the
directory tree from within cygwin, starting from / as
the root, but as I say it's a minor point.

Cheers CV



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



Re: FileRunner under cygwin - simple compilation - Success.

2005-01-19 Thread CV
Igor Pechtchanski pechtcha at cs.nyu.edu writes:
 
 Arg #3 is a pointer to a function (Tcl_CmdProc).  See where that's
 declared *in the preprocessed file* (so that all macros are expanded) and
 see if your declarations of GetTimeFromSecs, etc, correspond to it.  The
 most obvious mismatch is probably the const char* argv[] vs. your char*
 argv[].

OK, this is the definition of Tcl_CmdProc in the preprocessed file:
---
typedef int (Tcl_CmdProc) (ClientData clientData, Tcl_Interp *interp,
  int argc, const char *argv[]);

And here is GetTimeFromSecs also from the preprocessed file:
---
static int GetTimeFromSecs(ClientData clientData, Tcl_Interp* interp,
   int argc, char* argv[]);

... so I changed char* argv[] to to const char *argv[] at
the affected spots in the source code in ext.c.

It now compiles and links without warnings and the application
(FileRunner) works with the resulting .dll. I can't be certain
yet if it also fixed the problem I was having, since it was
intermittent.

I can see how this change makes the data types agree and gets
rid of the warnings.

But I am quite baffled as to why this should be declared as a
constant !? That argument  seems to be a pointer to an array
of input arguments to a function. Surely such a pointer would
have to change dynamically during execution and no way could
it be constant !?

Oh well. These comments sort of give away my level of
(in)experience I suppose... :o)

Another thing is that, seeing what it was all about, I can't
imagine that the warnings actually mattered, or made the
resulting .dll work differently in any way (?)

Can't be sure if I'm through with this yet but your advice saw
me through a couple of initial hurdles in style here.

Big THANKS, again, for your excellent help !

Cheers CV



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



FileRunner under cygwin - simple compilation fails.

2005-01-18 Thread CV
Hello,
FileRunner is a nifty little file manager that I have been
using for years under Linux and I would like to have it under
cygwin as well.

But I am stuck with installation on cygwin because I can't
get the included, very simple c-program to compile, probably
due to my own cluelessness about where the various libraries
live etc. (haven't really compiled anything under cygwin yet)

The c-program basically defines a few entry points into TclTk.
The rest of FileRunner is written in TclTk.

Below is detailed info, including the very simple makefile,
what changes I made to it and the output from the compilation
attempt.

My own ideas about what might be wrong:
1. TclTk libraries not found (?)
   I would have expected to find them at /usr/lib/Tcl8.4 and
   .../Tk8.4, but only the Tk one is there and it appears to
   be almost empty. It only has one file: pkgIndex.tcl
   I tried pointing the makefile at that directory, and also
   at /usr/lib directly but the results were the same.
   Couldn't find these libs anywhere else either.

2. I am not sure if it is enough to just change ext.so to
   ext.dll in the makefile, as I did, or if any other switches
   or libraries possibly come into play for compiling dll's.
   
3. Possibly TclTk8.4 is too new (?) The current version of
   FileRunner was designed for 8.0. (?)
   
I am probably missing something obvious.
Any pointers would be appreciated.

And also nice to hear if anyone has got FileRunner working
under cygwin. (I tried googling around for any experiences
with this but turned up nothing.)

My cygwin installation is up to date (done recently) and
fairly complete, certainly including everyting to do with
TclTk and its associated libraries.

TIA CV

Here is the detailed info:
---
The makefile, based on the one provided for Linux and modified as follows:
- Changed the include directories, see below
- Also tried with plain /usr/lib as inc-directories, with similar results
- Changed ext.so to ext.dll
and also symlinked X11 to X11R6 under /usr
---
# Change this if you have this stuff somewhere else.
# TCLINC = /usr/lib/tcl8.0
# TKINC  = /usr/lib/tk8.0
TCLINC = /usr/lib/tk8.4
TKINC  = /usr/lib/tk8.4
X11INC = /usr/X11/include

CFLAGS = -Wall -fPIC -O3 -I$(TCLINC) -I$(TKINC) -I$(X11INC)

CC = gcc

all: ext.dll

ext.dll: ext.o
gcc -shared -Wl,-soname,ext.dll -o ext.dll ext.o
---
The output from compilation/linking:
---
gcc -Wall -fPIC -O3 -I/usr/lib/tk8.4 -I/usr/lib/tk8.4 -I/usr/X11/include
   -c -o ext.o ext.c
cc1: warning: -fPIC ignored for target (all code is position independent)
ext.c: In function `Ext_Init':
ext.c:95: warning: passing arg 3 of `Tcl_CreateCommand' from incompatible
 pointer type
ext.c:96: warning: passing arg 3 of `Tcl_CreateCommand' from incompatible
 pointer type
ext.c:97: warning: passing arg 3 of `Tcl_CreateCommand' from incompatible
 pointer type
ext.c:98: warning: passing arg 3 of `Tcl_CreateCommand' from incompatible
 pointer type
ext.c:99: warning: passing arg 3 of `Tcl_CreateCommand' from incompatible
 pointer type
ext.c:100: warning: passing arg 3 of `Tcl_CreateCommand' from incompatible
 pointer type
ext.c:101: warning: passing arg 3 of `Tcl_CreateCommand' from incompatible
 pointer type
ext.c:102: warning: passing arg 3 of `Tcl_CreateCommand' from incompatible
 pointer type
ext.c:103: warning: passing arg 3 of `Tcl_CreateCommand' from incompatible
 pointer type
ext.c:104: warning: passing arg 3 of `Tcl_CreateCommand' from incompatible
 pointer type
ext.c:105: warning: passing arg 3 of `Tcl_CreateCommand' from incompatible
 pointer type
ext.c:106: warning: passing arg 3 of `Tcl_CreateCommand' from incompatible
 pointer type
ext.c:107: warning: passing arg 3 of `Tcl_CreateCommand' from incompatible
 pointer type
ext.c:108: warning: passing arg 3 of `Tcl_CreateCommand' from incompatible
 pointer type
ext.c:109: warning: passing arg 3 of `Tcl_CreateCommand' from incompatible
 pointer type
ext.c: In function `GetEuid':
ext.c:567: warning: int format, uid_t arg (arg 3)
gcc -shared -Wl,-soname,ext.so -o ext.so ext.o
ext.o(.text+0xcac):ext.c: undefined reference to `_Tcl_CreateCommand'
ext.o(.text+0xcd2):ext.c: undefined reference to `_Tcl_CreateCommand'
ext.o(.text+0xcf8):ext.c: undefined reference to `_Tcl_CreateCommand'
ext.o(.text+0xd1e):ext.c: undefined reference to `_Tcl_CreateCommand'
ext.o(.text+0xd44):ext.c: undefined reference to `_Tcl_CreateCommand'
ext.o(.text+0xd6a):ext.c: more undefined references
 to `_Tcl_CreateCommand' follow
/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/../../../libcygwin.a(pseudo-reloc.o)
 (.text+0x52): undefined reference to `___RUNTIME_PSEUDO_RELOC_LIST_END__'
/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3

Re: FileRunner under cygwin - simple compilation fails.

2005-01-18 Thread CV

Thanks for your help Igor.

Actually I found the answer by googling for 
___RUNTIME_PSEUDO_RELOC_LIST__. Someone had that problem
fixed by upgrading to the latest binutils.

I checked and my binutils was a 2002something version
while there is a 2004... one available.

What I can't understand is how an old 2002 version of
binutils ended up on my system. I installed from scratch
over the internet just before christmas umm.. maybe six
weeks ago or so and I assumed I got the latest version
of everything. I must have assumed wrong !?.
(unless the subsequent kde installation set it back ??)

I upgraded binutils to the 2004 version with setup and
ext.c now compiles. I still get the incompatible pointer
type warnings at the compilation stage but it links and
creates the .dll with no complaints and the application
starts up.

It does seem to behave funny, refusing to enter certain
directories, but that I'll have to investigate separately.

Thanks again. CV






--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



Re: FileRunner under cygwin - simple compilation fails.

2005-01-18 Thread CV
Igor Pechtchanski pechtcha at cs.nyu.edu writes:

 Did you check whether tcl.h gets included?  If it is, it could be a bug in
 ext.c.

I ran gcc -E as you suggested but was not sure how to interpret
the results. Looking at it a bit more closely I think it is clear
that tcl.h _does_ get included:

After running the command gcc -E ext.c -o ext.pre and then
comparing ext.pre with tcl.h I think I can identify some of
the included bits, eg. the following:

 tcl.h ---
/*
 * Procedure types defined by Tcl:
 */

typedef int (Tcl_AppInitProc) _ANSI_ARGS_((Tcl_Interp *interp));
typedef int (Tcl_AsyncProc) _ANSI_ARGS_((ClientData clientData,
Tcl_Interp *interp, int code));
typedef void (Tcl_ChannelProc) _ANSI_ARGS_((ClientData clientData, int mask));
typedef void (Tcl_CloseProc) _ANSI_ARGS_((ClientData data));
typedef void (Tcl_CmdDeleteProc) _ANSI_ARGS_((ClientData clientData));
typedef int (Tcl_CmdProc) _ANSI_ARGS_((ClientData clientData,
Tcl_Interp *interp, int argc, CONST84 char *argv[]));


 ext.pre ---

typedef int (Tcl_AppInitProc) (Tcl_Interp *interp);
typedef int (Tcl_AsyncProc) (ClientData clientData, Tcl_Interp *interp,
   int code);

typedef void (Tcl_ChannelProc) (ClientData clientData, int mask);
typedef void (Tcl_CloseProc) (ClientData data);
typedef void (Tcl_CmdDeleteProc) (ClientData clientData);
typedef int (Tcl_CmdProc) (ClientData clientData, Tcl_Interp *interp,
   int argc, const char *argv[]);


  It does seem to behave funny, refusing to enter certain directories, but
  that I'll have to investigate separately.
 
 Perhaps related to the above warnings?

Don't know, but actually it only refuses to enter the
C:/cygwin/cygdrive directory, where the windows disks
are mounted. It is ok everywhere else.

mount
C:\cygwin\bin on /usr/bin type system (binmode)
C:\cygwin\lib on /usr/lib type system (binmode)
C:\cygwin on / type system (binmode)
c: on /cygdrive/c type user (binmode,noumount)
d: on /cygdrive/d type user (binmode,noumount)
g: on /cygdrive/g type user (binmode,noumount)
h: on /cygdrive/h type user (binmode,noumount)

I am a little surprised that FileRunner is working with
C:/ as its root directory. I would have preferred to have
it use the cygwin / root, and then access windows disks
over /cygdrive/c etc. but that's a minor point and it
still sort of works: cd / takes you to C:/cygwin.

Another funny thing is that cygwin symlinks come up
as filename.lnk, but they still seem to work as
expected when you click on them.

Cheers CV



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/