Date: Sat, 24 Jul 2004 09:40:28 GMT From: Wille Harald <harald.wille@students.jku.at> To: freebsd-ports-bugs@FreeBSD.org Subject: Re: ports/69195: [PATCH] misc/wmweather+ causes FP exception (divide by zero) on -CURRENT boxes Message-ID: <200407240940.i6O9eSuM057516@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR ports/69195; it has been noted by GNATS. From: Wille Harald <harald.wille@students.jku.at> To: Volker Stolz <vs@freebsd.org> Cc: freebsd-gnats-submit@freebsd.org, mhsin@mhsin.org, harald.wille@students.jku.at Subject: Re: ports/69195: [PATCH] misc/wmweather+ causes FP exception (divide by zero) on -CURRENT boxes Date: Sat, 24 Jul 2004 11:36:35 +0200 --IS0zKkzwUGydFO0o Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hello ! First i apologize for the late review, but i had some ISP problems. NAN is only defined in math.h on -CURRENT, not on the 4.x Releases. So you have to define NAN yourself (or additionally include math.h). NAN 0/0 segfaults, cause of the usage of gcc 3.x (also on STABLE if you use gcc 3.x). NAN (0.0/0.0) works on both gcc versions. (POSIX definition) The math.h version on STABLE does not have the C99 definitions like on CURRENT. I already worked on the newest wmweather+ version (2.9). math.h is already included in the new port version, but nevertheless you have to define NAN cause of the missing C99 definitions on STABLE (and i dont know when it will be MFC). I attached the patch for this problem and sent an upgrade PR for version 2.9 (see http://www.freebsd.org/cgi/query-pr.cgi?pr=69523 for the new 2.9) Delete the file "files/patch-convert.h" (not used any more cause math.h is already defined in convert.c and apply the patch. Greets, Harald --IS0zKkzwUGydFO0o Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="patch-Makefile.diff" --- wmweather+/Makefile.orig Wed Feb 4 06:07:46 2004 +++ wmweather+/Makefile Sat Jul 24 10:49:51 2004 @@ -6,7 +6,7 @@ PORTNAME= wmweather+ PORTVERSION= 2.4 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= misc windowmaker MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} MASTER_SITE_SUBDIR= wmweatherplus --IS0zKkzwUGydFO0o Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="patch_wmp24.diff" --- wmweather+/files/patch-convert.c.orig Fri Apr 11 22:37:09 2003 +++ wmweather+/files/patch-convert.c Fri Jul 23 00:26:46 2004 @@ -1,6 +1,16 @@ --- convert.c.orig Sun Sep 22 22:00:53 2002 -+++ convert.c Fri Apr 11 02:07:44 2003 -@@ -52,7 +52,7 @@ ++++ convert.c Thu Jul 22 23:46:02 2004 +@@ -18,6 +18,9 @@ + */ + + #include <math.h> ++#ifndef NAN ++#define NAN (0.0/0.0) ++#endif + #if TM_IN_SYS_TIME + # if TIME_WITH_SYS_TIME + # include <sys/time.h> +@@ -52,7 +55,7 @@ if(temp_C==999 || dewpt_C==999) return 999; f=1782.75*(dewpt_C-temp_C)/((237.7+dewpt_C)*(237.7+temp_C)); @@ -9,7 +19,7 @@ } int rh_F(int temp_F, int dewpt_F){ -@@ -61,7 +61,7 @@ +@@ -61,7 +64,7 @@ if(temp_F==999 || dewpt_F==999) return 999; f=3208.95*(dewpt_F-temp_F)/((395.86+dewpt_F)*(395.86+temp_F)); @@ -18,7 +28,7 @@ } int heatindex_C(int temp_C, int rh){ -@@ -75,7 +75,7 @@ +@@ -75,7 +78,7 @@ temp2=temp_C*temp_C; rh2=rh*rh; @@ -27,7 +37,7 @@ #endif } -@@ -88,9 +88,9 @@ +@@ -88,9 +91,9 @@ temp3=temp2*temp_F; rh2=rh*rh; rh3=rh2*rh; @@ -39,7 +49,7 @@ #endif } -@@ -106,14 +106,14 @@ +@@ -106,14 +109,14 @@ ret=35.74 + 0.6215*temp_F + (-35.75 + 0.4275*temp_F)*pow(windspeed*50292/57875.0, 0.16); if(ret>temp_F) return temp_F; @@ -56,7 +66,7 @@ } float m2mi(int meters){ -@@ -125,27 +125,27 @@ +@@ -125,27 +128,27 @@ int knots2mph(int knots){ if(knots<0) return knots; @@ -89,7 +99,7 @@ } int knots2beaufort(int knots){ -@@ -170,12 +170,12 @@ +@@ -170,12 +173,12 @@ int temp_C2F(int temp_C){ if(temp_C==999) return 999; --IS0zKkzwUGydFO0o--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200407240940.i6O9eSuM057516>