This is the mail archive of the cygwin@sourceware.cygnus.com mailing list for the Cygwin project. See the Cygwin home page for more information.
[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index] [Subject Index] [Author Index] [Thread Index]

Re: NT/X-Xemacs binary (long)



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@sourceware.cygnus.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. <g>

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@sourceware.cygnus.com