git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Cygwin playbook?
@ 2006-09-07  4:59 Martin Langhoff
  2006-09-07  6:59 ` Junio C Hamano
  0 siblings, 1 reply; 8+ messages in thread
From: Martin Langhoff @ 2006-09-07  4:59 UTC (permalink / raw)
  To: git

A colleage wants to work with us on a git project but is Trapped In
Windows (TM). He does have a cywgin install, and I was hoping to find
a cygwin install howto. Alas, I couldn't find any (is there one and
Google doesn't know about it?).

Now, I am a bit at a loss, as I don't have access to windows. So for
you cygwin knights in the woods, a few questions...

 - What cygwin packages are needed?
 - Need to fudge makefile?
 - How do I install for personal use?
 - How do I install in /usr/local?
 - Anything else I should know?

I'll be more than happy to shape the replies in a nice wiki page...
(Mercurial has one already
http://www.selenic.com/mercurial/wiki/index.cgi/WindowsInstall )

cheers,


martin

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Cygwin playbook?
  2006-09-07  4:59 Cygwin playbook? Martin Langhoff
@ 2006-09-07  6:59 ` Junio C Hamano
  2006-09-07  7:18   ` Martin Langhoff
  2006-09-07  7:27   ` Shawn Pearce
  0 siblings, 2 replies; 8+ messages in thread
From: Junio C Hamano @ 2006-09-07  6:59 UTC (permalink / raw)
  To: Martin Langhoff; +Cc: git

"Martin Langhoff" <martin.langhoff@gmail.com> writes:

> - What cygwin packages are needed?

I am not in front of Windows machine so I need to check later if
nobody beats me to this, but essentially it is the same as on
sane Unix systems.  Cygwin folks did a good job providing
necessary libraries readily available from their Setup.exe.

> - Need to fudge makefile?

No; not even autoconf was needed and it installed out of the box
for me (w2k).

> - How do I install for personal use?

make install would install under whereever you call ~/bin in
Cygwin environment, and that is how I have mine.

> - How do I install in /usr/local?

I do not think of a reason why "make prefix=/usr/local" would
not work but I haven't tried it myself so don't quote me on
this.

> - Anything else I should know?

You would probably have great pain if on vfat.  It appears to
work Ok on NTFS.  It appears to be quite slow, judging from
the way it runs our standard test suite.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Cygwin playbook?
  2006-09-07  6:59 ` Junio C Hamano
@ 2006-09-07  7:18   ` Martin Langhoff
  2006-09-07  8:07     ` Junio C Hamano
  2006-09-07 14:22     ` Christopher Faylor
  2006-09-07  7:27   ` Shawn Pearce
  1 sibling, 2 replies; 8+ messages in thread
From: Martin Langhoff @ 2006-09-07  7:18 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

On 9/7/06, Junio C Hamano <junkio@cox.net> wrote:
> "Martin Langhoff" <martin.langhoff@gmail.com> writes:
>
> > - What cygwin packages are needed?
>
> I am not in front of Windows machine so I need to check later if
> nobody beats me to this, but essentially it is the same as on
> sane Unix systems.  Cygwin folks did a good job providing
> necessary libraries readily available from their Setup.exe.

Sorry to ask this... Are you sure? Vanilla base setup with no extra
packages getting gcc and various -dev packages? Perhaps there is a
'developer' profile during install that gets you a reasonable kit?

About 5 minutes ago I managed to get limited access (non-root, cannot
install packages) to a cygwin env using rdesktop. It did have gcc and
make, but make bombed out with a missing libcurl and openssl header
files. IIRC, diff3/merge isn't in the base install either.

In debian I can look at apt-cache show git-core to get a quick
overview of dependencies but here I'm lost :(

> > - Need to fudge makefile?
>
> No; not even autoconf was needed and it installed out of the box
> for me (w2k).

That's great to know.

> > - How do I install for personal use?
>
> make install would install under whereever you call ~/bin in
> Cygwin environment, and that is how I have mine.

Kewl.

> > - How do I install in /usr/local?
>
> I do not think of a reason why "make prefix=/usr/local" would
> not work but I haven't tried it myself so don't quote me on
> this.

Is cygwin still installable in 2 modes? (Used to be personal and
system-wide or something like that.)

If that's the case, then in a system-wide install you must be root to
write to /usr/local (I'm guessing here) and there's no sudo or su -c
'make prefix=/usr/local install' so you'd have to open an admin
session. Can cygwin shell be invoked under RunAs?

> > - Anything else I should know?
>
> You would probably have great pain if on vfat.  It appears to
> work Ok on NTFS.  It appears to be quite slow, judging from
> the way it runs our standard test suite.

Thanks! So no vfat. In terms of speed, this should be for a
small/medium project. No linux kernel development on Windows just yet
;-)

Thanks! that's a starting point, though I'm intrigued about the
packages required. Are there ways to query what packages you have
installed (a la dpkg -l) and to install a list of packages from
commandline?

Oh, what an ignorant fop I am.

cheers,



martin

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Cygwin playbook?
  2006-09-07  6:59 ` Junio C Hamano
  2006-09-07  7:18   ` Martin Langhoff
@ 2006-09-07  7:27   ` Shawn Pearce
  2006-09-07 14:23     ` Christopher Faylor
  1 sibling, 1 reply; 8+ messages in thread
From: Shawn Pearce @ 2006-09-07  7:27 UTC (permalink / raw)
  To: Martin Langhoff; +Cc: git

Junio C Hamano <junkio@cox.net> wrote:
> "Martin Langhoff" <martin.langhoff@gmail.com> writes:
> 
> > - What cygwin packages are needed?

I'd have to check tomorrow but I run a pretty reduced set of Cygwin
packages with Git.  I'm using something around:

	rcs (for merge)
	python (for merge-recursive, though merge-recur is a *huge* win)
	wish (for gitk)
	perl
	ssh
	openssl
	curl
	expat
	... maybe i missed something but probably not...
	make
	gcc
	binutils (sorta necessary to compile!)

iirc I build git on Windows with a command as simple as:

	make prefix=/usr/local/git NO_MMAP=1 install

I actually have it in a small shell script as I then turn around
and tar/bz2 that directory and make a Cygwin package out of it for
other folks at my site.

> > - How do I install for personal use?
> 
> make install would install under whereever you call ~/bin in
> Cygwin environment, and that is how I have mine.

I personally don't like the default prefix so I always retarget Git
to another directory.  This works just fine on Cygwin just like on
any UNIX system.
 
> > - Anything else I should know?
> 
> You would probably have great pain if on vfat.  It appears to
> work Ok on NTFS.  It appears to be quite slow, judging from
> the way it runs our standard test suite.

I see odd behavior when its not a locally mounted NTFS filesystem.
For example sometimes our SAMBA server (a Solaris system) doesn't
play nicely with our XP systems and we get bad error codes back
(still haven't figured that one out).  We also have what I believe
is a Windows 2003 server whose drive is mapped onto many 2000/XP
desktops; that drive can't properly rename the index file so we
can't use it for working directory storage.  Works fine though for
bare repositories.  Local NTFS has never been an issue.

I see large slowdowns when the number of loose objects >~100.  So I
repack frequently.  No, defragging hasn't helped.  Only repacking
has.

I just started using merge-recur (export
GIT_USE_RECUR_FOR_RECURSIVE=1 to enable) over git-merge-recursive.
Its a huge performance gain.  I'm glad Alex Riesen and Johannes
Schindelin have put so much effort into it.

gitk has layout issues on Cygwin.  I always whack my ~/.gitk
file and then have to resize the window every time it launches.
People have reported this bug in the past but I don't think anyone
has taken the time to work it out.  It hasn't annoyed me enough
(yet) to justify me spending time on it.

Git pretty much works as you would expect; its just somewhat slower
than on a good UNIX system.  Maybe its Cygwin, maybe its Windows,
maybe its the 4+ year old system its running on.  :-)

-- 
Shawn.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Cygwin playbook?
  2006-09-07  7:18   ` Martin Langhoff
@ 2006-09-07  8:07     ` Junio C Hamano
  2006-09-07 10:37       ` Martin Langhoff
  2006-09-07 14:22     ` Christopher Faylor
  1 sibling, 1 reply; 8+ messages in thread
From: Junio C Hamano @ 2006-09-07  8:07 UTC (permalink / raw)
  To: Martin Langhoff; +Cc: git

"Martin Langhoff" <martin.langhoff@gmail.com> writes:

> Sorry to ask this... Are you sure? Vanilla base setup with no extra
> packages getting gcc and various -dev packages? Perhaps there is a
> 'developer' profile during install that gets you a reasonable kit?

What I meant was "readily available", not "installed by default". 

> About 5 minutes ago I managed to get limited access (non-root, cannot
> install packages) to a cygwin env using rdesktop. It did have gcc and
> make, but make bombed out with a missing libcurl and openssl header
> files. IIRC, diff3/merge isn't in the base install either.

It is in rcs as usual ;-).

> In debian I can look at apt-cache show git-core to get a quick
> overview of dependencies but here I'm lost :(

The packaging was pretty much similar and I could guess from
apt-cache show git-core output indeed ;-).

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Cygwin playbook?
  2006-09-07  8:07     ` Junio C Hamano
@ 2006-09-07 10:37       ` Martin Langhoff
  0 siblings, 0 replies; 8+ messages in thread
From: Martin Langhoff @ 2006-09-07 10:37 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

On 9/7/06, Junio C Hamano <junkio@cox.net> wrote:
> What I meant was "readily available", not "installed by default".

I imagined. Thanks to all though! What do you think of
http://git.or.cz/gitwiki/WindowsInstall as a starting point? I've
tried to summarize this thread a bit, and added some of my own notes.

Will update further with learned lessons from helping Kris out with
his Cygwin environment.

BTW, sorry about the double post -- I initially sent the 'Cygwin
playbook' email, bogofilter bounced it, and I tried again changing the
words I thought would be trigger words. Didnt work -- complained to
postmaster@ and they thawed... both of them...

cheers,


martin

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Cygwin playbook?
  2006-09-07  7:18   ` Martin Langhoff
  2006-09-07  8:07     ` Junio C Hamano
@ 2006-09-07 14:22     ` Christopher Faylor
  1 sibling, 0 replies; 8+ messages in thread
From: Christopher Faylor @ 2006-09-07 14:22 UTC (permalink / raw)
  To: git, Martin Langhoff

On Thu, Sep 07, 2006 at 07:18:10PM +1200, Martin Langhoff wrote:
>Thanks! that's a starting point, though I'm intrigued about the
>packages required.  Are there ways to query what packages you have
>installed (a la dpkg -l) and to install a list of packages from
>commandline?
>
>Oh, what an ignorant fop I am.

The program which shows what packages are installed is "cygcheck" (i.e.,
"man cygcheck").

The mailing list for Cygwin is mentioned at the Cygwin web site.  You
might have more luck with questions like this on the Cygwin mailing
list.

cgf

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Cygwin playbook?
  2006-09-07  7:27   ` Shawn Pearce
@ 2006-09-07 14:23     ` Christopher Faylor
  0 siblings, 0 replies; 8+ messages in thread
From: Christopher Faylor @ 2006-09-07 14:23 UTC (permalink / raw)
  To: Shawn Pearce, git, Martin Langhoff

On Thu, Sep 07, 2006 at 03:27:41AM -0400, Shawn Pearce wrote:
>Git pretty much works as you would expect; its just somewhat slower
>than on a good UNIX system.  Maybe its Cygwin, maybe its Windows,
>maybe its the 4+ year old system its running on.  :-)

It's likely to be the fact that Windows doesn't support fork or exec
so Cygwin has to emulate both - slowly.

cgf

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2006-09-07 14:23 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-09-07  4:59 Cygwin playbook? Martin Langhoff
2006-09-07  6:59 ` Junio C Hamano
2006-09-07  7:18   ` Martin Langhoff
2006-09-07  8:07     ` Junio C Hamano
2006-09-07 10:37       ` Martin Langhoff
2006-09-07 14:22     ` Christopher Faylor
2006-09-07  7:27   ` Shawn Pearce
2006-09-07 14:23     ` Christopher Faylor

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).