Re: execvp error:cygwin+make+busybox

2005-05-03 Thread John Williams
Christopher Faylor wrote:
On Tue, May 03, 2005 at 10:39:13AM +1000, John Williams wrote:
Attempting to cross-compile Busybox 1.00 under Cygwin (1.5.16-1) I am 
hitting an error similar to one previously reported on the Cygwin list 
(Jan 05):

http://www.cygwin.com/ml/cygwin/2005-01/msg00657.html

IIRC, I also had this problem on Cygwin until I deleted the
.EXPORT_ALL_VARIABLES from Rules.mak.  I have a specialized build
environment so it is possible that there are other things required to
get things working after that, but this was the culprit which caused
these problems.
That's done the trick - thanks for the quick response.  Am still 
checking to see if that has any follow-on effects (perhaps I should now 
explicitly export the important variables from Rules.mak?).

Cheers,
John
--
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/


pwd vs $PWD, bash, cygwin vs Linux

2005-05-03 Thread John Williams
Hello,
I am resurrecting a topic that has been discussed before, but there 
doesn't seem to be a clear resolution (at least not clear to me!).  It 
relates to the behaviour of the PWD variable in the case of multiply 
nested Makefiles.  it was touched upon e.g. here:

http://www.mail-archive.com/cygwin@sources.redhat.com/msg16375.html
I'm doing a side by side comparison between Cygwin 1.5.16-1 and Linux 
RedHat 8.0, both using bash shell 2.05b.0(1)-release, and make version 
3.79.1

Here's my test setup (sorry for dodgy ASCII art)
Maketest
 |
 + topdir
 |
 + Makefile
 |
 + subdir
  |
  + Makefile
topdir/Makefile looks like this:
#
#topdir/Makefile
TOPDIR := $(shell echo $$PWD)
all:
@echo In topdir, TOPDIR=$(TOPDIR)
@echo In topdir, PWD=$$PWD
make -C subdir all
.EXPORT_ALL_VARIABLES:
##
and topdir/subdir/Makefile looks like this:
#
#topdir/subdir/Makefile
all:
@echo in subdir, TOPDIR=$(TOPDIR)
@echo in subdir, PWD=$$PWD
#
Now, from the top-top level (Maketest), I run 'make -C topdir'.  Under 
my Cygwin setup, I get this:

[EMAIL PROTECTED] Maketest]$ make -C topdir
make: Entering directory `/cygdrive/z/Maketest/topdir'
In topdir, TOPDIR=/cygdrive/z/Maketest
In topdir, PWD=/cygdrive/z/Maketest
make -C subdir all
make[1]: Entering directory `/cygdrive/z/Maketest/topdir/subdir'
in subdir, TOPDIR=/cygdrive/z/Maketest
in subdir, PWD=/cygdrive/z/Maketest
make[1]: Leaving directory `/cygdrive/z/Maketest/topdir/subdir'
make: Leaving directory `/cygdrive/z/Maketest/topdir'
[EMAIL PROTECTED] Maketest]$
while under the identical setup on Linux, I get this:
[EMAIL PROTECTED] Maketest]$ make -C topdir
make: Entering directory `/mnt/home2/jwilliam/Maketest/topdir'
In topdir, TOPDIR=/mnt/home2/jwilliam/Maketest/topdir
In topdir, PWD=/mnt/home2/jwilliam/Maketest/topdir
make -C subdir all
make[1]: Entering directory `/mnt/home2/jwilliam/Maketest/topdir/subdir'
in subdir, TOPDIR=/mnt/home2/jwilliam/Maketest/topdir
in subdir, PWD=/mnt/home2/jwilliam/Maketest/topdir/subdir
make[1]: Leaving directory `/mnt/home2/jwilliam/Maketest/topdir/subdir'
make: Leaving directory `/mnt/home2/jwilliam/Maketest/topdir'
[EMAIL PROTECTED] Maketest]$
Essentially under Cygwin the PWD variable seems to be frozen at its 
value upon first launching Make from the commandline, while under Linux 
it is being updated for each child process spawned by `make -C XXX`

I know that Cygwin != Linux, however is it a reasonable expectation that 
under the same shells, the same behaviour should apply?

The real context for all of this is building the net-tools package, 
which uses these sort of constructs to manage its recursive Makefile 
structure.  I'm sure there are plenty of other GNU-esque packages out 
there doing similarly.

Any insights or workarounds would be greatly appreciated.
Thanks,
John
--
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: pwd vs $PWD, bash, cygwin vs Linux

2005-05-03 Thread John Williams
Christopher Faylor wrote:
On Wed, May 04, 2005 at 11:08:43AM +1000, John Williams wrote:
Essentially under Cygwin the PWD variable seems to be frozen at its
value upon first launching Make from the commandline, while under Linux
it is being updated for each child process spawned by `make -C XXX`
I know that Cygwin != Linux, however is it a reasonable expectation
that under the same shells, the same behaviour should apply?

In this case, the operative observation is bash != ash.  PWD is a bash
construct.  You would be much better off just using the gnu make
CURDIR variable.  Changing PWD to CURDIR in your examples makes things
work as you'd expect.
Thanks for the quick response and workaround.
While what you say might be a true statement, better off means 
different things to different people!

It's easy for me to say, but it seems cleaner for the compatability 
layer (e.g. Cygwin) to model the expected behaviour (even behaviour 
which might be considered buggy), than to push changes on fairly 
standard and widely distributed source/build packages.

What surprised me was that the same shell, and same make, resulted in 
different behaviour.  I guess this is just reflecting differences in the 
underlying process architectures of Linux vs Windows.

Cheers,
John
--
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: pwd vs $PWD, bash, cygwin vs Linux

2005-05-03 Thread John Williams
Christopher Faylor wrote:
In this case, the operative observation is bash != ash.  PWD is a bash
construct.  You would be much better off just using the gnu make
CURDIR variable.  Changing PWD to CURDIR in your examples makes things
work as you'd expect.
Thanks for the quick response and workaround.
While what you say might be a true statement, better off means 
different things to different people!

What surprised me was that the same shell, and same make, resulted in 
different behaviour.  I guess this is just reflecting differences in the 
underlying process architectures of Linux vs Windows.
Again, it *isn't* the same shell.  You have now learned that it isn't
the same shell and you now know that this is the reason for the
inconsistency.  ash isn't normally used as /bin/sh on linux.  A stripped
down version of ash is used as /bin/sh for performance purposes on
cygwin.  ash does not set PWD.
OK - I see the confusion.  Make is spawning ash as the subshell, not 
bash.  Now everything you said makes sense.  Out of interest, can that 
behaviour be modified at the runtime/user/Makefile level?

Cheers,
John
--
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/


execvp error:cygwin+make+busybox

2005-05-02 Thread John Williams
Hello,
Attempting to cross-compile Busybox 1.00 under Cygwin (1.5.16-1) I am 
hitting an error similar to one previously reported on the Cygwin list 
(Jan 05):

http://www.cygwin.com/ml/cygwin/2005-01/msg00657.html
No resolution was posted to the list at that time.
The busybox Makefile attempts to run the host CC (gcc in this case) to 
build some setup/config tools, as well as spawning a shell script to do 
a bit of preparatory work.  This is before any cross-compiling begins.

Make reports the following error:
gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -o scripts/mkdep 
/cygdrive/e/cygwin-uclinux/uClinux-dist/user/busybox/scripts/mkdep.c
make[3]: execvp: gcc: Invalid argument
make[3]: *** [scripts/mkdep] Error 127

The problem occurs with Make versions 3.79.1 and 3.80 (haven't tested 
any earlier versions)

The Makefile fragment which fails looks like this:
scripts/mkdep: $(top_srcdir)/scripts/mkdep.c
$(HOSTCC) $(HOSTCFLAGS) -o $@ $
HOSTCC and HOSTCFLAGS can be deduced from above output, but there's 
nothing exotic in there.

Another fragment which fails is this:
.config.mkconfig: $(ROOTDIR)/config/.config
sh ./mkconfig  .config.tmp
This fragment fails with:
make[3]: execvp: sh: Invalid argument
If executed directly from the commandline, these commands complete fine 
- it's only when spawning from within the Makefile.

cygcheck output is attached.
Any insights into the nature and possible solution of this problem would 
be greatly appreciated.

Thanks,
John

Cygwin Configuration Diagnostics
Current System Time: Tue May 03 10:26:33 2005

Windows XP Professional Ver 5.1 Build 2600 Service Pack 2

Path:   c:\xilinx\edk7.1\cygwin\usr\local\bin
c:\xilinx\edk7.1\cygwin\bin
c:\xilinx\edk7.1\cygwin\bin
c:\xilinx\edk7.1\cygwin\bin
c:\xilinx\edk7.1\bin\nt
c:\xilinx\edk7.1\gnu\powerpc-eabi\nt\bin
c:\xilinx\edk7.1\gnu\microblaze\nt\bin
c:\xilinx\edk7.1\bin\nt
e:\Nutc\bin
e:\Nutc\bin\X11
e:\Nutc\mksnt
c:\EDK\bin\nt
c:\EDK\gnu\microblaze\nt\bin
c:\EDK\gnu\powerpc-eabi\nt\bin
c:\WINDOWS\SYSTEM32
c:\WINDOWS
c:\WINDOWS\SYSTEM32\WBEM
c:\PROGRAM FILES\SUPPORT TOOLS\
c:\PROGRAM FILES\J2SDK1.4.0\BIN
c:\PROGRAM FILES\J2SDK1.4.0\JRE\BIN
e:\Mentor\WG2002\LICENS~1
c:\matlab6p5p1\bin\win32
c:\Xilinx\ise7.1\bin\nt
c:\program files\winrsync\support
e:\Mentor\WG2002\vbsa\BIN
c:\Program Files\SSH Communications Security\SSH Secure Shell
h:\usr\bin

Output from c:\xilinx\edk7.1\cygwin\bin\id.exe (nontsec)
UID: 400(jwilliams) GID: 401(mkpasswd)
0(root) 544(Administrators) 545(Users)  401(mkpasswd)

Output from c:\xilinx\edk7.1\cygwin\bin\id.exe (ntsec)
UID: 400(jwilliams) GID: 401(mkpasswd)
0(root) 544(Administrators) 545(Users)  401(mkpasswd)

SysDir: C:\WINDOWS\system32
WinDir: C:\WINDOWS

HOME = `H:\'
MAKE_MODE = `unix'
PWD = `/cygdrive/e/cygwin-uclinux'
USER = `jwilliams'

Use `-r' to scan registry

c:  hd  NTFS 20481Mb  91% CP CS UN PA FC 
e:  hd  FAT32 8110Mb  80% CPUN   NEW VOLUME
g:  net NTFS 16553Mb  13% CP CS  groups
h:  net NTFS   1048432Mb  84% CP CS  jwilliams
s:  net NTFS 74433Mb  99% CP CS UN PA FC software
z:  net NTFS 29533Mb  97% CP CSPAjwilliam

c:\xilinx\edk7.1\cygwin  /  userbinmode
c:\xilinx\edk7.1\cygwin/bin  /usr/bin   userbinmode
c:\xilinx\edk7.1\cygwin/lib  /usr/lib   userbinmode
./cygdrive  userbinmode,cygdrive

Found: c:\xilinx\edk7.1\cygwin\bin\awk.exe
Found: c:\xilinx\edk7.1\cygwin\bin\bash.exe
Found: c:\xilinx\edk7.1\cygwin\bin\cat.exe
Found: c:\xilinx\edk7.1\cygwin\bin\cp.exe
Found: c:\xilinx\edk7.1\cygwin\bin\cpp.exe
Found: c:\xilinx\edk7.1\cygwin\bin\find.exe
Found: c:\xilinx\edk7.1\cygwin\bin\gcc.exe
Not Found: gdb
Found: c:\xilinx\edk7.1\cygwin\bin\grep.exe
Found: c:\xilinx\edk7.1\cygwin\bin\ld.exe
Found: c:\xilinx\edk7.1\cygwin\bin\ls.exe
Found: c:\xilinx\edk7.1\cygwin\bin\make.exe
Found: c:\xilinx\edk7.1\cygwin\bin\mv.exe
Found: c:\xilinx\edk7.1\cygwin\bin\rm.exe
Found: c:\xilinx\edk7.1\cygwin\bin\sed.exe
Found: c:\xilinx\edk7.1\cygwin\bin\sh.exe
Found: c:\xilinx\edk7.1\cygwin\bin\tar.exe

   55k 2004/09/14 c:\xilinx\edk7.1\cygwin\bin\cygbz2-1.dll
   18k 2004/07/06 c:\xilinx\edk7.1\cygwin\bin\cygcharset-1.dll
7k 2003/10/19 c:\xilinx\edk7.1\cygwin\bin\cygcrypt-0.dll
  895k 2004/04/28 c:\xilinx\edk7.1\cygwin\bin\cygdb-4.2.dll
 1156k 2004/04/28 c:\xilinx\edk7.1\cygwin\bin\cygdb_cxx-4.2.dll
  174k 2004/10/14 c:\xilinx\edk7.1\cygwin\bin\cygexpat-0.dll
   40k 2004/10/10 c:\xilinx\edk7.1\cygwin\bin\cygform-8.dll
   45k 2001/04/25 c:\xilinx\edk7.1\cygwin\bin\cygform5.dll
   35k 2002/01/09 c:\xilinx\edk7.1\cygwin\bin\cygform6.dll
   48k 2003/08/09 c:\xilinx\edk7.1\cygwin\bin\cygform7.dll
   28k 

Problem with home installation

2004-05-22 Thread John Williams

I have been using cygwin at work for almost
a year now and haven't had a single problem
with it.  Now, I want to work from home on
occasion, so I am trying to duplicate my work
environment at home.  Both machines have
Win XP.

The installation at home seemed to go just
fine, but when I open a cygwin shell, I get
a bash-2.05b$ prompt and the only commands
that work are cd and pwd.  ls doesn't
even work.

Has anyone seen something crazy like this?
Any thoughts on what I could try to debug
this problem?

Thanx-John


--
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: Bug in Cygwin bash?

2003-04-03 Thread John Williams
friedman_hill ernest j wrote:
I think John Williams wrote:

It seems not many people build linux kernels under cygwin - I think
if they did, this issue I've found would have been reported earlier,
because it's the first step in the kernel configuration process.


OK, I've gotta ask -- WHY do you want to do this in the first place?
Porting uClinux to an embedded target, the toolchain for which runs 
under Cygwin.  I agree it would be somewhat perverse to build an i386 
linux kernel under Cygwin!

Cheers,

John



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/


Binary patch tool?

2003-04-03 Thread John Williams
Hi folks,

Is there a binary equivalent to the diff/patch combination?  I've 
written a little shell script to run cmp -b over a bunch of files (I'm 
trying to generate binary patches), but now I'm struggling with a way to 
actually apply those changes.

I started writing a little tcl script to do it but think there must be a 
better way?

Thanks,

John



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/


Re: Binary patch tool?

2003-04-03 Thread John Williams
Igor Pechtchanski wrote:
On Fri, 4 Apr 2003, John Williams wrote:


Hi folks,

Is there a binary equivalent to the diff/patch combination?  I've
written a little shell script to run cmp -b over a bunch of files (I'm
trying to generate binary patches), but now I'm struggling with a way to
actually apply those changes.
I started writing a little tcl script to do it but think there must be a
better way?
Thanks,
John


Umm, vim -b?  vim *can* be used as a stream editor...
Igor


Ah yes excellent!  Even better, now I don't need to create a patch file. 
 In a single line I can hack Xilinx's Xygwin tools over to Cygwin.

I'm doing the following

for f in $( find edk -name '*.exe' -o -name '*.dll' ) do
  vim -b -s xyg2cyg.sed $f
done
where xyg2cyg.sed contains
:%s/xygwin1.dll/cygwin1.dll/g
:wq
Is there a way I can pass these on the command line, without needing a 
seperate little script file like this?

Thanks,

John



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/


Re: Binary patch tool?

2003-04-03 Thread John Williams
Igor Pechtchanski wrote:
Is there a way I can pass these on the command line, without needing a
seperate little script file like this?
Sure.  The easiest for you would probably be

vim -b -c :%s/xygwin1.dll/cygwin1.dll/g|:wq $f

Ain't vim grand? ;-)
Indeed.  But not just vim, the whole thing.  I guess the goal of a true 
hacker is to accomplish everything on a single command line.  It begs 
the question, is there anything that *can't* be done in a single Un*x 
command line?! :)

John



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/


Bug in Cygwin bash?

2003-04-02 Thread John Williams
Hi folks,

I've found a bizarro error that may in fact relate to Cygwin/bash.  I'm 
using the latest version (ran setup and refreshed just yesterday).

In the linux kernel configuration process, there is a rule in 
/linux-2.4.x/makefile that looks like this:

dep-files:
scripts/mkdep -- `find .`  .hdepend
The find command returns a huge list of header files, from which 
dependencies are derived.

After some digging I've found that it fails when the length of the 
string returned by `find...` exceeds about 32K characters.  It doesn't 
seem to matter how many file names are returned, just the total length 
of the string that contains them all.

This may be a bug in the mkdep utility, but I suspect more that it might 
be a limitation in Cygwin or bash.  Is there some fundamental limitation 
to the length of the argv[] array when launching programs under Cygwin/bash?

I created a workaround by doing

dep-files:
rm -f .hdepend
find  | xargs scripts/mkdep --  .hdepend
But this means I need to patch over the standard linux build 
distribution before doing anything under Cygwin.

Can anyone confirm or deny?! :)

Cheers,

John



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/


Re: Bug in Cygwin bash?

2003-04-02 Thread John Williams
Randall R Schulz wrote:
John,

Yes, there's a limitation on the total volume of argument strings. All 
Unix systems have such a limit and so does Cygwin. The limits vary from 
system to system, though POSIX dictates a minimum value for this limit.
Anybody know the standard Cygwin limit off the top of their head?  I'm 
guessing 32K, given what I saw with mkdep

For cases where the total list of files can be processed in pieces, the 
xargs command will do the divvying up for you, invoking the command as 
many times as needed to process all the arguments it reads from standard 
input. Check it out--it should be in your script-writing repertoire.
Yup - I used xargs in my solution to this problem.  It seems not many 
people build linux kernels under cygwin - I think if they did, this 
issue I've found would have been reported earlier, because it's the 
first step in the kernel configuration process.

Thanks for your reply,

John



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/


Re: Bug in Cygwin bash?

2003-04-02 Thread John Williams
Randall R Schulz wrote:
John,

Are you a famous composer? If so, are you _the_ famous composer?
No, and nor am I the famous and very talented classical guitarist.

I have two guitars, but I can't play either of them :O



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/


Re: Bug in Cygwin bash?

2003-04-02 Thread John Williams
Hi Sam,

I've ported uClinux to a new reconfigurable softcore microprocessor. 
The gcc toolchain for this little beastie runs under Cygwin (well, 
actually something called Xygwin, but that's another story entirely)..

  For the record, I've built a couple of bootable kernels
under Cygwin.  Yes, I ran into the bash command line problem/
xargs solution, but never got around to submitting a patch -
my apologies, John, for not saving you some small amount of
pain by doing so :-/
Ah that's ok, it's all good practice.



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/


Re: gcc/Cygwin awareness

2003-03-31 Thread John Williams
Hi Max,

Max Bowsher wrote:
John Williams wrote:

Elfyn McBratney wrote:

You could use this

#if defined(__GNUC__)  defined(__CYGWIN__)
So __CYGWIN__ is defined in the preprocessor environment when compiling
under Cygwin?  That's precisely what I'm after, thanks.


General answer to this kind of question:

$ gcc -E -dM -xc /dev/null
Excellent.  Thanks for that, a useful bit of syntax to remember.

John



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/


gcc/Cygwin awareness

2003-03-30 Thread John Williams
Hi folks,

Is there a macro defined in gcc when running under Cygwin as opposed to, 
say, linux?

I'd like to code something like

#ifdef _GCC_UNDER_CYGWIN
blah blah
#else
blah blah
#endif
This is to get around the fact that Cygwin doesn't provide the libgen.h 
header file, which I need to build uClibc for this cross-platform 
project I'm doing.

Thanks,

John



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/


Re: gcc/Cygwin awareness

2003-03-30 Thread John Williams
Elfyn McBratney wrote:
You could use this

#if defined(__GNUC__)  defined(__CYGWIN__)
So __CYGWIN__ is defined in the preprocessor environment when compiling 
under Cygwin?  That's precisely what I'm after, thanks.

John



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/


Re: file name case sensitivity

2003-02-27 Thread John Williams
Gerald S. Williams wrote:
[snip]
But as I said, this is OT for Cygwin. Even if it is added to
Cygwin, it will almost certainly not be the default behavior.
But for people like me trying to maintain Cygwin versions of
Unix projects, it could be a real boon.
Indeed.  In my case, it would require modifications to cygwin's CVS 
tools, to use these special case sensitive semantics.  CVS puking on a 
sync operation was the first sign that anything was amiss for me.

Regards,

John



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/


Re: file name case sensitivity

2003-02-25 Thread John Williams
Shankar Unni wrote:
Thorsten Kampe wrote:

Yes, but in my opinion it could be of use to John Williams because he 
wanted to case sensitivity in filenames under Cygwin.


No, it won't work, because if you remember, he said that he had files 
with the same name but different case *in the same directory*.  
That's correct.  I tried the check_case hack and it only goes halfway to 
what I need.

uClinux will have to be patched for cygwin support. John: time to start 
your first set of unofficial cygwin patches for uClinux.
I suppose you are right.  I haven't even got the port up and running 
yet, so the last thing I feel like doing right now is creating another 
parallel branch in the source tree.  I'm basically going to ignore this 
problem for as long as I can, I've got much bigger fish to fry right now.

Thanks,

John



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/


file name case sensitivity

2003-02-24 Thread John Williams
Hi folks,

I see the thread earlier today about this re: gcc - I have a similar 
question, but not strictly within the context of gcc.

I'm building a version of uClinux under Cygwin, and for some reason 
there are a few places where files exist _in the same directory_ having 
identical names but differences in capitalisation.

For example, /include/linux/netfilter/ipv4/ contains files called 
ipt_dscp.h and ipt_DSCP.h .  There are about 10 examples of this within 
the uClinux source distribution.

The file system in question is a Samba mount from a Solaris machine, and 
I'm running Cygwin 1.3.20 under WinXP.

Is there a way to enable case sensitivity in filenames under Cygwin?  At 
the moment things are not looking too good because Cygwin views these 
names as equivalent, meaning that which ever one is copied in last 
overwrites the one before.

Cheers,

John



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/


Re: file name case sensitivity

2003-02-24 Thread John Williams
Hi Elfyn,

No. You can use the check_case option in the CYGWIN environment variable,
but that'll only get you half way to what you want. Take a look at
(http://cygwin.com/cygwin-ug-net/using-cygwinenv.html) to see how it works
and how to use it.
Thanks for that.  As you predict, check_case can't undo the evil that is 
causing my problem in the first place.

My loathing goes in equal measures to Microsoft for failing after 20 
years to support case-sensitive file names, and whomever it was in the 
linux dev group who decided it would be a good idea to duplicate some 
files but only change the filename capitalisation...  bleughhh... the 
conspiracy theorist in me wonders if it was deliberate to kybosh those 
working under Windows... :O

Cheers,

John





--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/


Re: Obtaining a pervious version

2003-02-18 Thread John Williams
Hi again,

Well a postscript to yesterday's discussion - today I went through all 
of the Xygwin binary utilities with a hex editor, changed all references 
of xygwin1.dll - cygwin1.dll, and blow me down if it didn't fix the 
problems!

I don't remember who here suggested it, but anyway, it works.  So it's 
bye-bye Xygwin, and now I can get on with what I really want to be doing!

Not clean, not elegant, but it works.

Thanks again,

John



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



Re: Obtaining a pervious version

2003-02-18 Thread John Williams
Christopher Faylor wrote:

On Wed, Feb 19, 2003 at 11:46:24AM +1000, John Williams wrote:


Well a postscript to yesterday's discussion - today I went through all 
of the Xygwin binary utilities with a hex editor, changed all references 
of xygwin1.dll - cygwin1.dll, and blow me down if it didn't fix the 
problems!


Glad to hear this.  I was wondering if there was going to be some
niggling detail which would make this infeasible.


There may be, but it's obscure enough that I haven't found it yet.  It 
may bite me later, but for now my linux port is back on track.

I don't remember who here suggested it,



*ahem*  :-)


Credit where credit's due!  Thanks Chris!

John



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/




Obtaining a pervious version

2003-02-17 Thread John Williams
Hey folks,

Two things - first of all, as of 00:00 GMT Cygwin.com appears to be 
down.  Hope it's nothing too serious.

Secondly, can you please tell me how to obtain, via the setup installer, 
a prior version of the Cygwin base installation?  I'm using some 3rd 
party software tools that were built upon Cygwin 1.3.13, and am having 
versioning issues when trying to run them under 1.3.20.  Setup.exe 
defaults to downloading and installing the most recent distro, but I 
need to wind back the clock a couple of versions.

Is there a simple way to do this?

Thanks,

John
--
Dr John Williams, Research Fellow,
Reconfigurable Computing, School of ITEE
University of Queensland, Brisbane, Australia
Ph : (07) 3365 8305


--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



Re: Obtaining a pervious version

2003-02-17 Thread John Williams
Christopher Faylor wrote:

On Mon, Feb 17, 2003 at 09:55:26AM +1000, John Williams wrote:


Hey folks,

Two things - first of all, as of 00:00 GMT Cygwin.com appears to be 
down.  Hope it's nothing too serious.

Secondly, can you please tell me how to obtain, via the setup installer, 
a prior version of the Cygwin base installation?  I'm using some 3rd 
party software tools that were built upon Cygwin 1.3.13, and am having 
versioning issues when trying to run them under 1.3.20.


Um.  3rd party software tools?  If you are using software distributed
by someone else then *they* should be providing you with both the binary
and sources that the software needs.


They have a cross compiler that uses the cygwin compatability layer. 
They have modified and distribute a version of this layer, which is 
built upon cygwin1.dll version 1.3.13.  However, they distribute with 
their tools only a minimal subset of cygwin necessary for their tools to 
run.  However, in the project I am doing I need not only the 3rd party 
cross compiler, but also native gcc and binutils etc.

However, simply running the 3rd party tools under the current cygwin 
release does not work (versioning errors), and similarly trying to run 
cygwin binutils under this 3rd party cut down cygwin doesn't work 
either (same problem).


In any event, 1.3.20 is compatible with 1.3.13 so, you should be all
set.  

Yeah that's what I would have thought, but it doesn't work.  I've tried 
just about every combination I can think of, and it all falls in a heap.

 We don't have older versions of the DLL available, otherwise.
Sorry.


Bummer.



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/




Re: Obtaining a pervious version

2003-02-17 Thread John Williams
Max Bowsher wrote:

John Williams wrote:


They have a cross compiler that uses the cygwin compatability layer.
They have modified and distribute a version of this layer, which is
built upon cygwin1.dll version 1.3.13.  However, they distribute with
their tools only a minimal subset of cygwin necessary for their tools
to run.  However, in the project I am doing I need not only the 3rd
party cross compiler, but also native gcc and binutils etc.

However, simply running the 3rd party tools under the current cygwin
release does not work (versioning errors),



Details?


OK, here it goes.  EDK is the 3rd part tool set.  They distribute 
(binary and source) a modified version of cygwin they call Xygwin (with 
xygwin1.dll and so on).  I suspect this is part of the problem.

Starting point
? 
Fresh install of Cygwin 1.3.20 into c:/cygwin
? 
Fresh install of EDK SP3 into c:/EDK

At this stage, the EDK toolchain is in the path for both Xygwin and 
Cygwin (i.e. c:/EDK/gnu/powerpc/bin/nt and c:/EDK/gnu/microblaze/bin/nt).

Initial testing
? 
EDK/Xygwin works fine
o 
Binaries executing from /usr/bin, which maps to c:/EDK/xygwin/bin

? 
Cygwin works fine
o 
make, gcc, etc
o 
Executing from /usr/bin, which is mapped to c:/cygwin/ bin

Running Cygwin binaries from within Xygwin:
? 
gcc ? not found
? 
Add cygwin bin to the path
o 
export PATH=${PATH}:/xygdrive/c/cygwin/bin
? 
running gcc results in
o 
c:\cygwin\bin\gcc.exe: *** proc version mismatch detected - 
xB3836013/0x8E0899FA.
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.

Running EDK binaries from within Cygwin:
? 
Running mb-gcc results in a Windows dialog box stating
o 
This application has failed to start because xygwin1.dll was not found. 
 Re-installing the application may fix this problem.
? 
Adding xygwin/bin to the path, and re-running gives
o 
c:\EDK\gnu\microblaze\nt\bin\mb-gcc.exe: *** proc version mismatch 
detected - 0x8E0899FA/0xB3836013.
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.

Clearly, there is a version mismatch between Xygwin and Cygwin 1.3.20. 
Checking version info on Xygwin1.dll reveals that Xygwin is built upon 
Cygwin v1.3.13.  This is the source of the versioning error.

New strategy ? accept the versioning differences, and try to fool 
Cygwin/Xygwin into finding the right DLLs.  Approach:
? 
Copy c:/cywgin/bin/cygwin1.dll ? c:/cygwin/bin/xygwin1.dll, and
? 
c:/EDK/xywgin/bin/xygwin1.dll ? c:/EDK/xygwin/bin/cygwin1.dll

(Note that ?cross-copying? cygwin1.dll from cygwin to Xygwin, and 
xygwin1.dll to Cygwin, won?t work because of the versioning differences 
described above)

After duplicating the DLLs, running mb-gcc inside Cygwin no longer gives 
an error message, but instead it fails silently.  For example, ?mb-gcc 
?c system.c? runs without error, but does not produce system.o.

You asked for details!!  If anyone read this far they are a champion.

Thanks,

John



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



Re: Obtaining a pervious version

2003-02-17 Thread John Williams
Christopher Faylor wrote:

On Mon, Feb 17, 2003 at 10:45:20PM -, Max Bowsher wrote:


Compile your own EDK toolchain against Cygwin itself, not Xygwin.



Correct.

I don't suppose you'd be willing to make the modified sources available,
would you?  I'm interested in what these people have done to cygwin.


Christopher,

Can I please discuss this with you privately?  Email to [EMAIL PROTECTED] 
bounced.

Regards,

John





--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



Re: Obtaining a pervious version

2003-02-17 Thread John Williams
Max Bowsher wrote:


OK, *now* its pretty obvious what the problem is. Cygwin 1.3.20 is backward
compatible with Cygwin 1.3.13, but Cygwin is not and never will be sideways
compatible with other slightly modified versions of Cygwin.

Compile your own EDK toolchain against Cygwin itself, not Xygwin.


So it seems.  I've got to exhaust all other options before I commit to 
that effort.

Thanks for your help and patience.

John



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



Re: Obtaining a pervious version

2003-02-17 Thread John Williams
Christopher Faylor wrote:

On Mon, Feb 17, 2003 at 10:45:20PM -, Max Bowsher wrote:


Compile your own EDK toolchain against Cygwin itself, not Xygwin.



Correct.

I don't suppose you'd be willing to make the modified sources available,
would you?  I'm interested in what these people have done to cygwin.


Christopher,

Can I please discuss this with you privately?

Thanks,

John


--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/




Re: Obtaining a pervious version

2003-02-17 Thread John Williams
Max Bowsher wrote:

John Williams wrote:


Max Bowsher wrote:


OK, *now* its pretty obvious what the problem is. Cygwin 1.3.20 is
backward compatible with Cygwin 1.3.13, but Cygwin is not and never
will be sideways compatible with other slightly modified versions of
Cygwin.

Compile your own EDK toolchain against Cygwin itself, not Xygwin.


So it seems.  I've got to exhaust all other options before I commit to
that effort.



OK, so it's not going to be really easy, but it probably isn't going to be
nightmarishly hard either.


Somewhere between heaven and hell!   I gather actually that this Xygwin 
environment doesn't do much more than fiddle with some of the path 
mapping stuff.  Certainly no rocket science going on in there - I think 
the tool providor's desire was to spare their customers from a full 
cygwin install, and to lock in a stable distro to minimise support 
calls arising from factors outside their control.  This is all just my 
conjecture.

Regards,

John



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



Re: Obtaining a pervious version

2003-02-17 Thread John Williams
Christopher Faylor wrote:


Ok.  This version just changes the name of the DLL from cygwin1.dll
to xygwin1.dll. 

What surprises me though is that if I duplicate xygwin1.dll to 
cygwin1.dll, it doesn't work???

Am I missing something here?

Cheers,

John



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



Re: Obtaining a pervious version

2003-02-17 Thread John Williams
Larry Hall (RFK Partners, Inc.) wrote:


What doesn't work?  The Cygwin provided utilities or the Xygwin1 versions?


Neither.  I can't run either Cygwin utilities under Xygwin, nor the 
Xygwin utilities under Cygwin.  Full error messages were posted earlier 
in the thread.

I wouldn't necessarily expect the Cygwin utilities to work in this
situation, since they may be using something in the newer cygwin1.dll.


Hence my original question about winding back the clock.


I suppose you could always use  strace if this doesn't answer the
it doesn't work question.


Good tip. Thanks, I'll give it a try.

Cheers,

John



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/




Re: Obtaining a pervious version

2003-02-17 Thread John Williams
Hey everyone,

Thanks all for your input and comments on this thread.  If nothing else 
I've learned a little more about the mechanics of Cygwin, which can't be 
a bad thing.

I have re-assessed my needs and decided I am, in fact, better off 
running with Cygwin and Xygwin side-by-side, completely independent of 
each other.  Where I need cygwin utils, I'll run them under Cygwin, and 
likewise for Xygwin.  It shouldn't matter for my end product.  In case 
anybody's interested, I'm porting linux to Xilinx's soft-core embedded 
processor.  I'll run the kernel configuration and dependency generation 
tools under Cygwin using native x86 gcc and bin-utils, then switch to 
Xygwin to do the cross compilation.

I realise this is not ideal, nor is it a particularly clean or elegant 
solution.  I will pass on some of the comments made here to the Xygwin 
developer, and see if they are interested in beefing up their version 
to make it more compliant. However, since they are just doing it to 
provide a basic support layer to their gcc cross-compiler, it is 
unlikely to be a priority for them.  I can understand that, and 
certainly won't be badgering them about it.  One point I have raised is 
if they really need Xygwin at all, or if they could just build their 
tools under standard cygwin.  We'll see what comes of it.

Thanks again,

John



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/



Re: Obtaining a pervious version

2003-02-17 Thread John Williams
Christopher Faylor wrote:

The sources available for download are for 1.3.2.  The differences are
below.  Basically, it seems like they made a few changes without really
thinking too hard about what they did.  So, the cygwin mount table will
be found in another registry entry but it will end up in the same shared
memory region.

Reading further in the thread, I see that there was an accommodation of
sorts.  I want to point out that it should be possible to build any
of the tools that you're using under cygwin.  IMO, that's the best
solution to this.

In fact, it should be possible to just binary edit the tools and change
the 'xygwin1.dll' to 'cygwin1.dll'.  Then you can just get rid of the
xygwin1.dll crap entirely.


Thanks for that - I'll pass it on to the developers.  I expect they'd 
probably rather focus on supporting their tools anyway, instead of a 
non-standard compatibility layer.

Cheers,

John



--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/