X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Message-ID: <47FBE2E3.8040001@alice.it> Date: Tue, 08 Apr 2008 23:25:55 +0200 From: Angelo Graziosi User-Agent: Thunderbird 2.0.0.12 (Windows/20080213) MIME-Version: 1.0 To: "Dr. Volker Zell" CC: cygwin AT cygwin DOT com Subject: Re: [ITA] xfig/xfig-lib: An interactive drawing tool (patch) References: <47FA9D04 DOT 5090803 AT alice DOT it> <7z4pacl4fl DOT fsf AT vzell-de DOT de DOT oracle DOT com> <47FBD05F DOT 5060206 AT alice DOT it> In-Reply-To: <47FBD05F.5060206@alice.it> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: 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 Angelo Graziosi ha scritto: > Dr. Volker Zell ha scritto: >>>>>>> Angelo Graziosi writes: >> >>>> But why still 3.2.4 version? A new release 3.2.5 with several bug >>>> fixes has been released [1]. >> >> The problem is it does not compile due to dependency on >> >> #include >> in w_intersect.c (which we don't have) and later on >> >> w_intersect.c:884: error: syntax error before "ix1c" >> w_intersect.c:885: error: syntax error before "iy1c" >> w_intersect.c:886: error: syntax error before "ix2c" >> w_intersect.c:887: error: syntax error before "iy2c" >> w_intersect.c:891: error: `iy1c' undeclared (first use in this function) >> w_intersect.c:891: error: (Each undeclared identifier is reported only >> once >> w_intersect.c:891: error: for each function it appears in.) >> w_intersect.c:891: error: `_Complex_I' undeclared (first use in this >> function) >> w_intersect.c:892: error: `ix1c' undeclared (first use in this function) >> w_intersect.c:894: error: `iy2c' undeclared (first use in this function) >> w_intersect.c:895: error: `ix2c' undeclared (first use in this function) >> >> Ciao >> Volker > > The patch below should solve the thing. > > It avoids the complex computing. If z=(x,y) is a complex number, then > the line 891 of w_intersect.c reads > > iy1c = (-X,sqrt(-rx))/(2.0 * W) > > which with reals reads > > iy1c_x = -X/(2.0 * W) > iy1c_y = sqrt(-rx)/(2.0 * W) > > The line 892 (in complexs) reads > > ix1c = (K * iy1c) + L > > i.e. in real form > > ix1c_x = K*iy1c_x+L > ix1c_y = K*iy1c_y+0 > > and so on. > > > To be noted : > > --- K,X,W,L are all real. > > --- (-rx)>0 in sqrt(-rx) (see line 873 and 880) > > My buildnow fails when installing: > > ------------------------------------------ > [...] > rman -f HTML < xfig._man \ > > xfig.1-html && mv -f xfig.1-html xfig.1.html > >>> Installing xfig-3.2.5-1 > Copying Fig Object Libraries > + mkdirhier /tmp.builds/xfig-3.2.5-1/inst/usr/bin > + mkdirhier /tmp.builds/xfig-3.2.5-1/inst/usr/lib/xfig/Libraries ^^^^^^^^^ Oops... +XCOMM in the Imakefile! Sorry. Now it builds and installs. Angelo. > + set +x > install -c -s xfig.exe /tmp.builds/xfig-3.2.5-1/inst/usr/bin/xfig.exe > install: impossibile creare il file normale > `/tmp.builds/xfig-3.2.5-1/inst/usr/bin/xfig.exe': No such file or directory > /bin/sh: line 0: cd: > /tmp.builds/xfig-3.2.5-1/inst/usr/lib/xfig/Libraries: No such file or > directory > make: *** [install] Error 1 > make: *** Waiting for unfinished jobs.... > make: *** [install.libs] Error 1 > *** ERROR: make install DESTDIR failed > >>> Packaging xfig-3.2.5-1 > >>> Creating binary package(s) > >>> xfig-3.2.5-1.tar.bz2 > tar: etc: impossibile stat: No such file or directory > tar: usr/bin/*.exe: impossibile stat: No such file or directory > tar: usr/share/doc: impossibile stat: No such file or directory > tar: usr/share/man/man1: impossibile stat: No such file or directory > tar: Uscita per errore ritardata dall'errore precedente > *** ERROR: Binary package creation failed > >>> Removing work directory in 5 seconds... > >>> Removing work directory NOW. > >>> Finished. > ------------------------------------------ > > But I am not an expert of cygport... Sorry! > > > Cheers, > Angelo. > > > w_intersect.c.patch > ======================================================== > diff -urN origsrc/xfig.3.2.5/w_intersect.c src/xfig.3.2.5/w_intersect.c > --- origsrc/xfig.3.2.5/w_intersect.c 2004-09-29 23:46:00.000000000 +0200 > +++ src/xfig.3.2.5/w_intersect.c 2008-04-08 21:34:02.484375000 +0200 > @@ -25,7 +25,6 @@ > #include "w_intersect.h" > #include "u_quartic.h" > #include > -#include > #undef I > > #define ISET_P1 (1 << 0) > @@ -881,29 +880,33 @@ > /* due to roundoff errors, the intersection of tangents to > ellipses and > * circles may be slightly complex. this code catches such > near misses. > */ > - double complex ix1c; > - double complex iy1c; > - double complex ix2c; > - double complex iy2c; > + double ix1c_x,ix1c_y; > + double iy1c_x,iy1c_y; > + double ix2c_x,ix2c_y; > + double iy2c_x,iy2c_y; > double x1mag, y1mag; > double x2mag, y2mag; > > - iy1c = ((-X) + (sqrt(-rx) * _Complex_I))/(2.0 * W); > - ix1c = (K * iy1c) + L; > - > - iy2c = ((-X) - (sqrt(-rx) * _Complex_I))/(2.0 * W); > - ix2c = (K * iy2c) + L; > - > - ix1 = creal(ix1c); > - iy1 = creal(iy1c); > - ix2 = creal(ix2c); > - iy2 = creal(iy2c); > + iy1c_x = (-X)/(2.0 * W); > + iy1c_y = sqrt(-rx)/(2.0 * W); > + ix1c_x = (K * iy1c_x) + L; > + ix1c_y = (K * iy1c_y) + 0; > + > + iy2c_x = iy1c_x; > + iy2c_y = -iy1c_y; > + ix2c_x = (K * iy2c_x) + L; > + ix2c_y = (K * iy2c_y) + 0; > + > + ix1 = ix1c_x; > + iy1 = iy1c_x; > + ix2 = ix2c_x; > + iy2 = iy2c_x; > > - x1mag = hypot(ix1, cimag(ix1c)); > - y1mag = hypot(iy1, cimag(iy1c)); > + x1mag = hypot(ix1, ix1c_y); > + y1mag = hypot(iy1, iy1c_y); > > - x2mag = hypot(ix2, cimag(ix2c)); > - y2mag = hypot(iy2, cimag(iy2c)); > + x2mag = hypot(ix2, ix2c_y); > + y2mag = hypot(iy2, iy2c_y); > > if ((1.0 > fabs(ix1) - x1mag) && > (1.0 > fabs(iy1) - y1mag) && > > ======================================================== > > > > -- 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/