unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
* make check fails on x86_64 - guile-1.8.2
@ 2007-10-09 21:02 Poor Yorick
  2007-10-09 21:26 ` Ludovic Courtès
  0 siblings, 1 reply; 4+ messages in thread
From: Poor Yorick @ 2007-10-09 21:02 UTC (permalink / raw)
  To: guile-user

building guile on the following machine:

Linux *** 2.6.9-42.0.3.ELsmp #1 SMP Mon Sep 25 17:24:31 EDT 2006 x86_64 x86_64 x86_64 GNU/Linux

make check fails.  Apart from the following output, I'm not sure what else to look at to find the problem.  Any hints?

test-conversion.c: In function `test_5':                                        
test-conversion.c:450: warning: long long int format, scm_t_intmax arg (arg 3)  
test-conversion.c: In function `test_6':                                        
test-conversion.c:482: warning: long long unsigned int format, scm_t_uintmax    arg (arg 3)                                                                     
test-conversion.c: In function `test_7s':                                       
test-conversion.c:510: warning: long long int format, scm_t_intmax arg (arg 4)  
test-conversion.c: In function `test_7u':                                       
test-conversion.c:524: warning: long long unsigned int format, scm_t_uintmax    arg (arg 4)                                                                     
test-conversion.c: In function `test_8s':                                       
test-conversion.c:583: warning: long long int format, scm_t_intmax arg (arg 5)  
test-conversion.c: In function `test_8u':                                       
test-conversion.c:641: warning: long long int format, scm_t_uintmax arg (arg 5) 
make[4]: make[4]: Leaving directory `/grid/gro/vol/gbl_statcomp_devel/x86-64-   linux/bootstrap/src/guile-1.8.2_linux/guile-1.8.2/test-suite/standalone'        
*** [test_conversion-test-conversion.o] Error 1                                 
make[3]: *** [check-am] Error 2                                                 
make[3]: Leaving directory `/grid/gro/vol/gbl_statcomp_devel/x86-64-linux/      bootstrap/src/guile-1.8.2_linux/guile-1.8.2/test-suite/standalone'              
make[2]: Leaving directory `/grid/gro/vol/gbl_statcomp_devel/x86-64-linux/      bootstrap/src/guile-1.8.2_linux/guile-1.8.2/test-suite/standalone'              
make[2]: *** [check] Error 2                                                    
make[1]: Leaving directory `/grid/gro/vol/gbl_statcomp_devel/x86-64-linux/      bootstrap/src/guile-1.8.2_linux/guile-1.8.2/test-suite'                         
make[1]: *** [check-recursive] Error 1                                          
make: *** [check-recursive] Error 1                                             

-- 
Poor Yorick


_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: make check fails on x86_64 - guile-1.8.2
  2007-10-09 21:02 make check fails on x86_64 - guile-1.8.2 Poor Yorick
@ 2007-10-09 21:26 ` Ludovic Courtès
  2007-10-10 11:36   ` Greg Troxel
  0 siblings, 1 reply; 4+ messages in thread
From: Ludovic Courtès @ 2007-10-09 21:26 UTC (permalink / raw)
  To: guile-user

Hi,

"Poor Yorick" <org.gnu.lists.guile-user@pooryorick.com> writes:

> building guile on the following machine:
>
> Linux *** 2.6.9-42.0.3.ELsmp #1 SMP Mon Sep 25 17:24:31 EDT 2006 x86_64 x86_64 x86_64 GNU/Linux
>
> make check fails.  Apart from the following output, I'm not sure what else to look at to find the problem.  Any hints?
>
> test-conversion.c: In function `test_5':                                        
> test-conversion.c:450: warning: long long int format, scm_t_intmax arg (arg 3)  

It's just that these compilation warnings are treated as errors, which
halts "make check".

A quick workaround is to configure Guile with `--disable-error-on-warning'.

Thanks,
Ludovic.



_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: make check fails on x86_64 - guile-1.8.2
  2007-10-09 21:26 ` Ludovic Courtès
@ 2007-10-10 11:36   ` Greg Troxel
  2007-10-10 20:16     ` Ludovic Courtès
  0 siblings, 1 reply; 4+ messages in thread
From: Greg Troxel @ 2007-10-10 11:36 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guile-user

ludo@gnu.org (Ludovic Courtès) writes:

> Hi,
>
> "Poor Yorick" <org.gnu.lists.guile-user@pooryorick.com> writes:
>
>> building guile on the following machine:
>>
>> Linux *** 2.6.9-42.0.3.ELsmp #1 SMP Mon Sep 25 17:24:31 EDT 2006 x86_64 x86_64 x86_64 GNU/Linux
>>
>> make check fails.  Apart from the following output, I'm not sure what else to look at to find the problem.  Any hints?
>>
>> test-conversion.c: In function `test_5':                                        
>> test-conversion.c:450: warning: long long int format, scm_t_intmax arg (arg 3)  
>
> It's just that these compilation warnings are treated as errors, which
> halts "make check".
>
> A quick workaround is to configure Guile with `--disable-error-on-warning'.

But it seems the code is still wrong.  It seems like we'd need to go to
things like PRIU64 which are defined to match the type, and #define
PRISCMTINTMAX to the corresponding one along with the typedef.


_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: make check fails on x86_64 - guile-1.8.2
  2007-10-10 11:36   ` Greg Troxel
@ 2007-10-10 20:16     ` Ludovic Courtès
  0 siblings, 0 replies; 4+ messages in thread
From: Ludovic Courtès @ 2007-10-10 20:16 UTC (permalink / raw)
  To: guile-user

[-- Attachment #1: Type: text/plain, Size: 430 bytes --]

Hi,

Greg Troxel <gdt@ir.bbn.com> writes:

> But it seems the code is still wrong.  It seems like we'd need to go to
> things like PRIU64 which are defined to match the type, and #define
> PRISCMTINTMAX to the corresponding one along with the typedef.

I just checked and there's also `PRI{iu}MAX', which do the job.

I committed the attached fix.  I couldn't test it on x86_64, though, so
feedback is welcome.

Thanks,
Ludovic.


[-- Attachment #2: The patch --]
[-- Type: text/x-patch, Size: 6614 bytes --]

--- orig/test-suite/ChangeLog
+++ mod/test-suite/ChangeLog
@@ -1,3 +1,13 @@
+2007-10-10  Ludovic Courtès  <ludo@gnu.org>
+
+	* standalone/test-conversion.c: Include <inttypes.h> where
+	available.  Use `PRIiMAX' and `PRIuMAX' to print
+	`scm_t_u?intmax'.  Fixes warnings on x86_64.  Reported by Poor
+	Yorick <org.gnu.lists.guile-user@pooryorick.com>.
+
+	* standalone/Makefile.am (test_cflags): Removed reference to
+	`libguile-ltdl'.
+
 2007-09-03  Ludovic Courtès  <ludo@gnu.org>
 
 	* tests/reader.test (reading)[block comment finishing sexp]: New
--- orig/test-suite/standalone/Makefile.am
+++ mod/test-suite/standalone/Makefile.am
@@ -1,6 +1,6 @@
 ## Process this file with automake to produce Makefile.in.
 ##
-## Copyright 2003, 2004, 2005, 2006 Software Foundation, Inc.
+## Copyright 2003, 2004, 2005, 2006, 2007 Software Foundation, Inc.
 ##
 ## This file is part of GUILE.
 ##
@@ -32,7 +32,7 @@ TESTS_ENVIRONMENT = "${top_builddir}/pre
 test_cflags = \
   -I$(top_srcdir)/test-suite/standalone \
   -I$(top_srcdir) \
-  -I$(top_srcdir)/libguile-ltdl $(EXTRA_DEFS) $(GUILE_CFLAGS)
+  $(EXTRA_DEFS) $(GUILE_CFLAGS)
 
 AM_LDFLAGS = $(GUILE_CFLAGS)
 
--- orig/test-suite/standalone/test-conversion.c
+++ mod/test-suite/standalone/test-conversion.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999,2000,2001,2003,2004, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1999,2000,2001,2003,2004, 2006, 2007 Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -21,6 +21,21 @@
 #include <assert.h>
 #include <string.h>
 
+#include "config.h"
+
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#elif (!defined PRIiMAX)
+# if (defined SIZEOF_LONG_LONG) && (SIZEOF_LONG_LONG >= 8)
+#  define PRIiMAX "lli"
+#  define PRIuMAX "llu"
+# else
+#  define PRIiMAX "li"
+#  define PRIuMAX "lu"
+# endif
+#endif
+
+
 static void
 test_1 (const char *str, scm_t_intmax min, scm_t_intmax max,
 	int result)
@@ -28,7 +43,8 @@ test_1 (const char *str, scm_t_intmax mi
   int r = scm_is_signed_integer (scm_c_eval_string (str), min, max);
   if (r != result)
     {
-      fprintf (stderr, "fail: scm_is_signed_integer (%s, %Ld, %Ld) == %d\n",
+      fprintf (stderr, "fail: scm_is_signed_integer (%s, "
+	       "%" PRIiMAX ", %" PRIiMAX ") == %d\n",
 	       str, min, max, result);
       exit (1);
     }
@@ -113,7 +129,8 @@ test_2 (const char *str, scm_t_uintmax m
   int r = scm_is_unsigned_integer (scm_c_eval_string (str), min, max);
   if (r != result)
     {
-      fprintf (stderr, "fail: scm_is_unsigned_integer (%s, %Lu, %Lu) == %d\n",
+      fprintf (stderr, "fail: scm_is_unsigned_integer (%s, "
+	       "%" PRIuMAX ", %" PRIuMAX ") == %d\n",
 	       str, min, max, result);
       exit (1);
     }
@@ -233,7 +250,8 @@ test_3 (const char *str, scm_t_intmax mi
 					    out_of_range_handler, NULL)))
 	{
 	  fprintf (stderr,
-		   "fail: scm_to_signed_int (%s, %Ld, %Ld) -> out of range\n",
+		   "fail: scm_to_signed_int (%s, "
+		   "%" PRIiMAX ", %" PRIiMAX ") -> out of range\n",
 		   str, min, max);
 	  exit (1);
 	}
@@ -245,7 +263,8 @@ test_3 (const char *str, scm_t_intmax mi
 					    wrong_type_handler, NULL)))
 	{
 	  fprintf (stderr,
-		   "fail: scm_to_signed_int (%s, %Ld, %Ld) -> wrong type\n",
+		   "fail: scm_to_signed_int (%s, "
+		   "%" PRIiMAX", %" PRIiMAX ") -> wrong type\n",
 		   str, min, max);
 	  exit (1);
 	}
@@ -258,7 +277,8 @@ test_3 (const char *str, scm_t_intmax mi
 	  || data.result != result)
 	{
 	  fprintf (stderr,
-		   "fail: scm_to_signed_int (%s, %Ld, %Ld) = %Ld\n",
+		   "fail: scm_to_signed_int (%s, "
+		   "%" PRIiMAX ", %" PRIiMAX ") = %" PRIiMAX "\n",
 		   str, min, max, result);
 	  exit (1);
 	}
@@ -365,7 +385,8 @@ test_4 (const char *str, scm_t_uintmax m
 					    out_of_range_handler, NULL)))
 	{
 	  fprintf (stderr,
-		   "fail: scm_to_unsigned_int (%s, %Lu, %Lu) -> out of range\n",
+		   "fail: scm_to_unsigned_int (%s, "
+		   "%" PRIuMAX ", %" PRIuMAX ") -> out of range\n",
 		   str, min, max);
 	  exit (1);
 	}
@@ -377,7 +398,8 @@ test_4 (const char *str, scm_t_uintmax m
 					    wrong_type_handler, NULL)))
 	{
 	  fprintf (stderr,
-		   "fail: scm_to_unsigned_int (%s, %Lu, %Lu) -> wrong type\n",
+		   "fail: scm_to_unsigned_int (%s, "
+		   "%" PRIuMAX ", %" PRIuMAX ") -> wrong type\n",
 		   str, min, max);
 	  exit (1);
 	}
@@ -390,7 +412,8 @@ test_4 (const char *str, scm_t_uintmax m
 	  || data.result != result)
 	{
 	  fprintf (stderr,
-		   "fail: scm_to_unsigned_int (%s, %Lu, %Lu) == %Lu\n",
+		   "fail: scm_to_unsigned_int (%s, "
+		   "%" PRIuMAX ", %" PRIuMAX ") == %" PRIuMAX "\n",
 		   str, min, max, result);
 	  exit (1);
 	}
@@ -446,7 +469,7 @@ test_5 (scm_t_intmax val, const char *re
   SCM res = scm_c_eval_string (result);
   if (scm_is_false (scm_equal_p (scm_from_signed_integer (val), res)))
     {
-      fprintf (stderr, "fail: scm_from_signed_integer (%Ld) == %s\n",
+      fprintf (stderr, "fail: scm_from_signed_integer (%" PRIiMAX ") == %s\n",
 	       val, result);
       exit (1);
     }
@@ -478,7 +501,8 @@ test_6 (scm_t_uintmax val, const char *r
   SCM res = scm_c_eval_string (result);
   if (scm_is_false (scm_equal_p (scm_from_unsigned_integer (val), res)))
     {
-      fprintf (stderr, "fail: scm_from_unsigned_integer (%Lu) == %s\n",
+      fprintf (stderr, "fail: scm_from_unsigned_integer (%"
+	       PRIuMAX ") == %s\n",
 	       val, result);
       exit (1);
     }
@@ -507,7 +531,7 @@ test_7s (SCM n, scm_t_intmax c_n, const 
 
   if (scm_is_false (scm_equal_p (n, r)))
     {
-      fprintf (stderr, "fail: %s (%Ld) == %s\n", func, c_n, result);
+      fprintf (stderr, "fail: %s (%" PRIiMAX ") == %s\n", func, c_n, result);
       exit (1);
     }
 }
@@ -521,7 +545,7 @@ test_7u (SCM n, scm_t_uintmax c_n, const
 
   if (scm_is_false (scm_equal_p (n, r)))
     {
-      fprintf (stderr, "fail: %s (%Lu) == %s\n", func, c_n, result);
+      fprintf (stderr, "fail: %s (%" PRIuMAX ") == %s\n", func, c_n, result);
       exit (1);
     }
 }
@@ -580,7 +604,7 @@ test_8s (const char *str, scm_t_intmax (
 	  || data.result != result)
 	{
 	  fprintf (stderr,
-		   "fail: %s (%s) = %Ld\n", func_name, str, result);
+		   "fail: %s (%s) = %" PRIiMAX "\n", func_name, str, result);
 	  exit (1);
 	}
     }
@@ -638,7 +662,7 @@ test_8u (const char *str, scm_t_uintmax 
 	  || data.result != result)
 	{
 	  fprintf (stderr,
-		   "fail: %s (%s) = %Ld\n", func_name, str, result);
+		   "fail: %s (%s) = %" PRIiMAX "\n", func_name, str, result);
 	  exit (1);
 	}
     }


[-- Attachment #3: Type: text/plain, Size: 140 bytes --]

_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-10-10 20:16 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-10-09 21:02 make check fails on x86_64 - guile-1.8.2 Poor Yorick
2007-10-09 21:26 ` Ludovic Courtès
2007-10-10 11:36   ` Greg Troxel
2007-10-10 20:16     ` Ludovic Courtès

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).