cygwin bughunt (FAQ alert?)

Joshua Daniel Franklin joshuadfranklin@gmail.com
Sat Jan 22 21:00:00 GMT 2005


OK the three FAQs beginning at http://cygwin.com/faq/faq0.html#SEC102
now read:

How do I build Cygwin on my own?

First, you need to get the Cygwin source. Ideally, you should check
out what you need from CVS (http://cygwin.com/cvs.html). This is the
preferred method for acquiring the sources. Otherwise, you can install
the cygwin source package from the distribution.

If you are trying to duplicate a cygwin release then you should just
download the corresponding source package and use "tar xjf" to unpack
it. This will unpack the sources into a directory named cygwin-x.y.z-n,
where x.y.z-n correspond to the version numbering of the tar.bz2 package.

tar xjf cygwin-1.5.12-1-src.tar.bz2 
cd cygwin-1.5.12-1

You must build cygwin in a separate directory from the source, so create
something like a `build/' directory. You will also want to install to
a temporary location:

mkdir build 
mkdir /install 
cd build (../configure --prefix=/install -v; make) >& make.out 
make install > install.log 2>&1

Normally, this procedure ignore errors in building the
documentation. which requires the `docbook-xml', `docbook-xsl', and
`xmlto' packages. For more information on building the documentation,
see the README included in the cygwin-doc package.

To check a cygwin1.dll, run "make check" in the winsup/testsuite
directory. If that works, install everything except the dll (if you
can). Then, close down all cygwin programs (including bash windows,
inetd, etc.), save your old dll, and copy the new dll to the correct
place. Then start up a bash window, or run a cygwin program from the
Windows command prompt, and see what happens.

If you get the error "shared region is corrupted" it means that two
different versions of cygwin1.dll are running on your machine at the
same time. Remove all but one.  

I may have found a bug in Cygwin, how
can I debug it (the symbols in gdb look funny)?

Debugging symbols are stripped from distibuted Cygwin binaries, so any
symbols that you see in gdb are basically meaningless. It is also a
good idea to use the latest code in case the bug has been fixed, so we
recommend trying the latest snapshot from http://cygwin.com/snapshots/
or build the DLL from CVS.

To build a debugging version of the Cygwin DLL, you will need to follow
the instructions at http://cygwin.com/faq/faq_3.html#SEC102, adding the
`--enable-debugging' option to `../configure'. You can also contact the
mailing list for pointers (a simple test case that demonstrates the bug
is always welcome).  

How can I compile Cygwin for an unsupported platform
(PowerPC, Alpha, ARM, Itanium)?

Unfortunately, this will be difficult. Exception handling and signals
support semantics and args have been designed for x86 so you would need
to write specific support for your platform. We don't know of any other
incompatibilities. Please send us patches if you do this work!

--
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/



More information about the Cygwin mailing list