Bill Allombert on Tue, 3 Dec 2002 14:14:39 +0100


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: --host in Configure


On Mon, Dec 02, 2002 at 03:28:14PM -0800, Justin C. Walker wrote:
> 
> It's sort of harmless; it clutters output of the build process with 
> warnings, which can sometimes cause the reader to go myopic and miss 
> real problems; and there is a (small but real) possibility that 
> reordering include directories could have an unexpected effect.  I'm 
> still awaiting a clarification on why this is happening.

I believe it is a 'try to be clever' sort of bug. Darwin developers have
configured gcc to search in /usr/local/include, because it is more clever
than having to use -I/usr/local/include but they did not foresee the
side-effects.

> > 2) We have forgotten to use 'extern' in some declarations. In this 
> > case, is
> > the above message the full error message, or there is other problems ?
> 
> I'm including the errors (~100 lines) from the build, just to make sure 
> myopia hasn't set in.  I think it's just this problem (all the .o's were 
> rebuilt).

Thanks! it looks like only overflow and hiremainder causes troubles.

Here a patch (to use with 'patch -p0' in the pari directory).

Index: src/kernel/none/level0.h
===================================================================
RCS file: /home/megrez/cvsroot/pari/src/kernel/none/level0.h,v
retrieving revision 1.4
diff -u -r1.4 level0.h
--- src/kernel/none/level0.h	2002/09/10 23:46:52	1.4
+++ src/kernel/none/level0.h	2002/12/03 12:45:40
@@ -50,8 +50,8 @@
 
 #else
 
-ulong overflow;
-ulong hiremainder;
+extern ulong overflow;
+extern ulong hiremainder;
 
 INLINE long
 addll(ulong x, ulong y)
Index: src/kernel/none/mp.c
===================================================================
RCS file: /home/megrez/cvsroot/pari/src/kernel/none/mp.c,v
retrieving revision 1.91
diff -u -r1.91 mp.c
--- src/kernel/none/mp.c	2002/11/05 15:53:30	1.91
+++ src/kernel/none/mp.c	2002/12/03 12:45:41
@@ -22,6 +22,9 @@
 /* version (#ifdef __M68K__) since they are defined in mp.s   */
 #include "pari.h"
 
+ulong overflow;
+ulong hiremainder;
+
 /* NOTE: arguments of "spec" routines (muliispec, addiispec, etc.) aren't
  * GENs but pairs (long *a, long na) representing a list of digits (in basis
  * BITS_IN_LONG) : a[0], ..., a[na-1]. [ In ordre to facilitate splitting: no