Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm Sender: cygwin-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com Sender: cwilson AT ee DOT gatech DOT edu Message-ID: <36DF6E92.89C23F5B@ece.gatech.edu> Date: Fri, 05 Mar 1999 00:41:38 -0500 From: Charles Wilson X-Mailer: Mozilla 4.5 [en] (X11; U; HP-UX B.10.20 9000/777) X-Accept-Language: en MIME-Version: 1.0 To: Wolfgang Grieskamp CC: xemacs-nt AT xemacs DOT org, cygwin AT sourceware DOT cygnus DOT com Subject: Re: NT/X-Xemacs binary (long) References: <1o678geo4u DOT fsf AT zeta DOT cs DOT tu-berlin DOT de> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Wolfgang Grieskamp wrote: > Hello, > > can someone out there perhaps share a runnable 21.0 binary which runs > under NT with X, and a compiled X11R6 lib? I just ask as a last resort ;) > > We have to make a notebook-demo of an integrated software system next > week, including XEmacs, which by sideconditions of other software can > either run under Solaris or under NT. But the notebook only operates > NT or Linux. > The answer to your problems is probably the cygwin port of XEmacs. Cygwin is a unix "thunking" layer so that Unix apps compile & work properly on WinNT and Win95 platforms. First, you should download and install cygwin (version 20.1 - get the full distribution with developer tools since you'll want to compile XEmacs) from ftp://go.cygnus.com/pub/sourceware.cygnus.com/cygwin/cygwin-b20/full.exe (14Meg) The cygwin homepage has lots of useful information and is found at http://sourceware.cygnus.com/cygwin/. When installing the packages listed below, never use a windows-based unpacking program. Always use the gunzip, tar, and bunzip2 commandline "unix-y" programs that are included with the cygwin distribution. There's a few setup notes at the bottom of this message. Go read that, then come back here. I'll wait. Actually, the cygwin install program does a pretty good job of setting things up; at this point you should be able to double-click the Cygnus icon it put in your Start Menu and get a bash shell. However, as with everything, fine-tuning things will make it work better. Hopefully this message and the various websites will help you to do that. Next, you'll probably want to install Andy Piper's /usr/local tardist, which includes less, man, autoconf, ncurses, gdbm, groff, termcap, makeinfo, cvs, libxpm, libtiff & libpng, among other stuff. These will be necessary to build XEmacs with tiff, png, xpm support, etc. Unpack into /usr/local. There is one thing to watch out for: Andy includes two libxpm's: one that's the real thing (/usr/local/lib/libXpm-X.a) and one that doesn't access the X11 libs (/usr/local/lib/libXpm-noX.a) if you want to use the native windowing system (ie. doesn't require an Xserver). By default, he has a link from /usr/local/lib/libXpm.a to libXpm-noX.a. You'll need to change that before you build XEmacs, since you want an X version. ftp://ftp.xemacs.org/pub/xemacs/aux/cygwin-b20-local.tar.bz2 Then, download and install the X11R6.4 libraries from the links below (take your pick) All the basic libs/dlls are the same, and are based on Sergey Okhapkin's patches. The different distros of X11R6.4 just contain different sets of "optional" stuff. (1) http://dao.gsfc.nasa.gov/software/grads/win32/X11R6.4/ from Arlindo da Silva includes basic X11R6.4 libs/dlls, various extra libraries (libXaw3d, etc)basic Xclients like xterm and rxvt, big xclients like fvwm2, lesstiff, and lots of html-formatted man pages. (2) ftp://ftp.xemacs.org/pub/xemacs/aux/cygwin-b20-x11.tar.bz2 from Andy Piper includes basic X11R6.4 libs/dlls and various extra libraries. (3) http://miracle.geol.msu.ru/sos/ (can't find exact URL right now) from Sergey Okhapkin includes only the basic X11R6.4 libs/dlls. Since cygwin (full) comes with egcs 1.0, the next step is not strictly necessary, but the most up-to-date egcs available for cygwin is egcs-1.1.1 from Mumit Khan's site. Download and install at your option. http://www.xraylith.wisc.edu/~khan/software/gnu-win32/ If you have any trouble getting this stuff downloaded, installed, and working check the cygwin user's guide and the cygwin FAQ at the cygwin homepage, the setup instructions available from http://www.skydancer.demon.co.uk/gnu-win32/ (and from http://dao.gsfc.nasa.gov/software/grads/X11R6.4/#install for X). Also, you can search the mailing list archives at http://www.egroups.com/list/gnu-win32/info.html or http://www.delorie.com/archives/. If you're still having trouble getting your basic cygwin installation working after consulting these sources, you can ask the list (cygwin AT sourceware DOT cygnus DOT com) but be sure that you've searched the list archives thoroughly before doing so. Many of the list-denizens are...tired...of answering questions over and over whose answers are in the archives. Other than that, however, they are friendly and helpful, and don't even bite. Much. Then, download the sources for XEmacs from ftp://ftp.xemacs.org/pub/xemacs/beta/xemacs-21.0/xemacs-21.0.64.tar.gz. You'll also want: xemacs-21.0.64-info.tar.gz and xemacs-21.0.64-elc.tar.gz, and whatever packages you need (ftp://ftp.xemacs.org/pub/xemacs/packages/. If you've got bandwidth to burn, you can download *all* the packages from ftp://ftp.xemacs/pub/xemacs/packages/xemacs-sumo-1999-03-01.tar.gz. PLEASE use a mirror. http://www.xemacs.org/ftp-sites.html. You'll notice from my directory structure below, that I built xemacs-21.2.11, but I like living on the edge. The 21.0.64 version is, barring unforeseen bugs, very close to the final version for 21.0. Unpack, and then do the typical ./configure, make from a bash shell. Here's my cygwin environment settings (once you read the docs & go through the installation, this will help). Set these in your autoexec.bat (Win95) or in My Computer->Properties->Environment (WinNT) CYGWIN=tty binmode ntea mixed DISPLAY=127.0.0.1:0.0 MAKE_MODE=UNIX TERM=LINUX Cygwin=mixed is a special setting allowing case sensitivity under cygwin. It's only available if you replace the /usr/bin/cygwin1.dll from the cygwin installation with the "coolview" version at Sergey Okhapkin's website http://miracle.geol.msu.ru/sos/. If you do replace your cygwin1.dll, you need to reboot before trying to use it; rebooting clears the resident (old) version from memory. Cygwin=ntea means "use NT extended attributes". If your drive is formatted NTFS, use it. If your drive is formatted FAT, don't use it - it'll cause cygwin to put extended attribute data files on your FAT drives, and they tend to grow without bound. See the cygwin FAQ for info on the others flags. I hope this helps; I'd be glad to give you a binary XEmacs that is compiled with X, and cygwin. But it wouldn't work until you followed most of the steps I described above, anyway. And once you've done that, you might as well build the XEmacs yourself. --Chuck Wilson ************************************************* P.S. a few last minute setup notes: (1) man pages and .info files are not included in the cygwin distro. You download them separately from ftp://go.cygnus.com/pub/sourceware.cygnus.com/cygwin/cygwin-b20/full-man.tar.bz2 (2) Once you've gotten your directory structure the way you want it (mine is below, slightly trinmed up - check http://www.skydancer.demon.co.uk/gnu-win32/ for info on how to flatten the default directory structure) and you've chosen where / will be, you need to do the following: (a) mkdir /tmp under whatever directory you're going to mount as /. (b) create a link in / to /usr/bin: ln -s /usr/bin /bin (c) mkdir /var, mkdir /var/run, mkdir /var/log (various packages like for these to exist) (d) mkpasswd > /etc/passwd, mkgroup > /etc/group (and then edit them by hand as appropriate. The actual password field is blank, since cygwin uses the NT login authentication under NT, and performs no security under Win95.) (3) be aware of the following NTism: all files created by a user who is a member of the Administrators group, will be owned by the Administrators group, NOT by that user. This is not an issue under Win95. (4) At the risk of starting a flamewar on the cygwin mailing list, I mount everything binary mode. The default (I think) is to mount textmode. The difference has to do with how newlines are handled. For more info, see the "How is the DOS/UnixCR/LF thing handled?" in the FAQ at the cygwin site, and read Earnie Boyd's very thorough explanation at http://www.freeyellow.com/members5/gw32/FileMode.html and at "http://www.delorie.com/archives/browse.cgi?p=cygwin/1998/10/19/23:10:18" Look around Earnie's site some, he's got a lot of good setup info there. (5) Everyone wants the pager "more". It's not installed in the default distribution. Use "less" instead. It's included in Andy Piper's /usr/local tardist. F:. +---cygnus | \---cygwin-b20 (mounted as / ) | +---c (mount point for C:\) | bin (symlink to /usr/bin) | +---e (mount point for E:\) | +---etc | +---f (mount point for F:\) | +---tmp | +---usr | | +---bin | | +---i586-cygwin32 | | | +---bin | | | +---include | | | \---lib | | +---include | | +---info | | +---lib | | | \---gcc-lib | | | \---i586-cygwin32 | | | \---egcs-2.91.60 | | +---libexec | | +---local | | | +---bin | | | +---etc | | | +---include | | | | \---X11 | | | +---info | | | +---lib | | | | +---cvs | | | | +---xemacs | | | | | +---lock | | | | | +---site-lisp | | | | | \---site-modules | | | | \---xemacs-21.2-b11 | | | | +---etc | | | | +---i586-pc-cygwin32 | | | | +---info | | | | \---lisp | | | +---libexec | | | +---man | | | +---sbin | | | +---share | | | | +---autoconf | | | | +---groff | | | | +---locale | | | | +---tabset | | | | +---terminfo | | | | +---vim | | | | | +---doc | | | | | +---macros | | | | | \---syntax | | | | \---xemacs | | | | +---site-packages | | | | | \---lisp | | | | \---xemacs-packages | | | | +---etc | | | | +---info | | | | +---lib-src | | | | +---lisp | | | | +---man | | | | \---pkginfo | | | \---src | | | +---bashprompt-0.4.5b6 | | | +---unzip-5.32 | | | +---xemacs-21.2.11 | | | \---zip-2.2 | | +---man | | +---share | | | +---dejagnu | | | +---itcl1.5 | | | +---locale | | | +---tcl8.0 | | | +---tix4.1 | | | \---tk8.0 | | \---X11R6.4 (Arlindo da Silva's distro) | | +---bin | | +---doc | | | +---Fvwm | | | +---Lesstif | | | +---man1 | | | +---programs | | | +---X | | | +---X11 | | | +---Xau | | | +---Xext | | | +---Xi | | | \---Xt | | +---etc | | +---examples | | | +---bezier | | | +---libsx | | | | +---bezier | | | | +---creq | | | | +---demo1 | | | | +---demo2 | | | | +---demo3 | | | | +---demo4 | | | | +---docs | | | | +---draw_demo | | | | +---frac | | | | +---freq | | | | +---multireq | | | | +---skel | | | | +---src | | | | \---xmore | | | +---tetris | | | | +---BM-3D | | | | \---BM-PLAIN | | | \---xmore | | +---include | | | +---Mrm | | | +---X11 | | | | +---bitmaps | | | | +---extensions | | | | +---fonts | | | | +---ICE | | | | +---PEX5 | | | | +---PM | | | | +---SM | | | | +---Xaw | | | | \---Xmu | | | +---Xlt | | | \---Xm | | +---lib | | | \---X11 | | | +---config | | | | \---lesstif | | | +---fonts <<<< (not part of daSilva's) | | | | +---freefont | | | | \---URW | | | +---locale | | | +---mwm | | | +---rstart | | | +---twm | | | +---x11perfcomp | | | +---xinit | | | +---xkb | | | \---xsm | | \---libexec | | \---fvwm | | \---2.1.10 | \---var | +---log | +---run | \---X11 <<<<< (this part from Okhapkin's distro) | +---app-defaults | +---fs | +---lbxproxy | +---proxymngr | +---xkb | \---xserver +---other stuff +---etc etc -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com