[openib-general] [Bug 146] OFED-1.0 DAPL fails to build on SLES10 on IA64 with IA64_FETCHADD error

James Lentini jlentini at netapp.com
Fri Jul 7 14:45:55 PDT 2006


On Thu, 6 Jul 2006, John Partridge wrote:

> James,
> 
> I have had the opportunity to look into the CONFIG_NR_CPUS compile error
> and I think the issue is that in dapl_osd.h (line 83) asm/system.h has
> been included (I can't see a reason why) this in turn includes
> asm/percpu.h which in turn includes linux/threads.h which does :-
> 
> #ifdef CONFIG_SMP
> #define NR_CPUS         CONFIG_NR_CPUS
> #else
> 
> and of course CONFIG_NR_CPUS is defined in the kernel include file
> include/linux/autoconf.h
> 
> I have tried compiling without asm/system.h included in dapl_osd.h
> but I com up against the IA64_FETCHADD’ undeclared error.
> 
> Do you know why asm/system.h is included in dapl_osd.h ?

This is included on IA64 and PPC systems. Since we have not done 
testing on IA64 or PPC, I'm certain that this was a contribution for a 
IA64 or PPC DAPL user. For that reason, I'm not certain why the 
asm/system.h was included. It is certainly possible that it is 
necessary on PPC but not IA64.

As for the IA64_FETCHADD error, I had a typo in the patch I sent you. 
Could you please re-test with this:

Index: dapl/udapl/linux/dapl_osd.h
===================================================================
--- dapl/udapl/linux/dapl_osd.h	(revision 8253)
+++ dapl/udapl/linux/dapl_osd.h	(working copy)
@@ -80,7 +80,6 @@
 
 #if defined(__ia64__) || defined(__PPC64__)
 #include <asm/atomic.h>
-#include <asm/system.h>
 #endif
 
 /* Useful debug definitions */
Index: Makefile.am
===================================================================
--- Makefile.am	(revision 8253)
+++ Makefile.am	(working copy)
@@ -1,10 +1,11 @@
 # $Id: $
 
+OSFLAGS = -DOS_RELEASE=$(shell expr `uname -r | cut -f1 -d.` \* 65536 + `uname -r | cut -f2 -d.`)
 # Check for RedHat, needed for ia64 udapl atomic operations (IA64_FETCHADD syntax)
 if OS_RHEL
-OSFLAGS=-DREDHAT_EL4
+OSFLAGS += -DREDHAT_EL4
 else
-OSFLAGS=
+OSFLAGS +=
 endif
 
 if DEBUG


More information about the general mailing list