Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: Date: Sat, 22 Jan 2005 11:36:00 -0800 From: Joshua Daniel Franklin Reply-To: Joshua Daniel Franklin To: cygwin AT cygwin DOT com Subject: Re: cygwin bughunt (FAQ alert?) In-Reply-To: <20050122035454.GA25952@trixie.casa.cgf.cx> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit References: <20050121121553 DOT GQ3113 AT cygbert DOT vinschen DOT de> <20050121163843 DOT GE20002 AT trixie DOT casa DOT cgf DOT cx> <20050121190233 DOT GD20866 AT trixie DOT casa DOT cgf DOT cx> <20050121194544 DOT GA138715 AT Worldnet> <20050121194720 DOT GF20866 AT trixie DOT casa DOT cgf DOT cx> <20050121222838 DOT GA141219 AT Worldnet> <20050122035454 DOT GA25952 AT trixie DOT casa DOT cgf DOT cx> X-IsSubscribed: yes 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/