ports/79639: biology/deft: patch for compilation on FreeBSD 5.x

Johan van Selst johans at stack.nl
Thu Apr 7 17:50:09 UTC 2005


>Number:         79639
>Category:       ports
>Synopsis:       biology/deft: patch for compilation on FreeBSD 5.x
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Thu Apr 07 17:50:08 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Johan van Selst
>Release:        FreeBSD 5.3-STABLE i386
>Organization:
>Environment:
System: FreeBSD mud.stack.nl 5.3-STABLE FreeBSD 5.3-STABLE #0: Mon Jan 31 22:31:14 CET 2005 root at mud.stack.nl:/usr/obj/usr/src/sys/mud i386


	
>Description:
	[Cc: maintainer, rmiya at cc.hirosaki-u.ac.jp]

	The used Fortran compiler (ftn77) doesn't seem to default to
	the correct prototypes of functions used before they're defined.
	This breaks the ports build of DeFT on FreeBSD 5.x machines.

	Fix: This only seems to be a problem in one file, so let's
	make sure functions here are defined before they're used.

	btw. With this patch the mpi.f file still shows a warning,
	but I'm not sure where exactly (or how to fix it).
	
>How-To-Repeat:
	
>Fix:

	

	Add an extra patchfile, files/patch-mpi.f:

--- mpi.f.orig	Thu Apr  7 19:25:41 2005
+++ mpi.f	Thu Apr  7 19:25:46 2005
@@ -73,6 +73,13 @@
 
 
 
+      subroutine icopy(ia_sum,ia,n)
+      implicit real*8(a-h,o-z)
+      integer n,ia(*),ia_sum(*)
+      do 1001 i=1,n
+ 1001 ia_sum(i)=ia(i)
+      return
+      end
 
       subroutine mpi_reduce(a,a_sum,n,ntype,mpi_sum,node,mpi_comm_world,
      &                      ierror)
@@ -94,13 +101,6 @@
  1001 a_sum(i)=a(i)
       return
       end
-      subroutine icopy(ia_sum,ia,n)
-      implicit real*8(a-h,o-z)
-      integer n,ia(*),ia_sum(*)
-      do 1001 i=1,n
- 1001 ia_sum(i)=ia(i)
-      return
-      end
 
 
 
@@ -117,20 +117,6 @@
 
 
 
-      subroutine mpi_bsend(a,n,ntype,islave,itag,mpi_comm_world,ierror)
-      implicit real*8(a-h,o-z)
-      include "params.h"
-      integer n,ntype,islave,itag,mpi_comm_world,ierror
-      common/mpii/ibuffer(nibuffer),iis,iir,irs,irr
-      common/mpir/buffer(nrbuffer)
-      if(ntype.eq.1) then
-                           call send_buffer_real(a,n)
-                     else
-                           call send_buffer_integer(a,n)
-                     endif
-      ierror=0
-      return
-      end
       subroutine send_buffer_real(a,n)
       implicit real*8(a-h,o-z)
       include "params.h"
@@ -156,11 +142,40 @@
       if(iis.gt.nibuffer) stop 'out of space in mpi buffer (integers)'
       return
       end
+      subroutine mpi_bsend(a,n,ntype,islave,itag,mpi_comm_world,ierror)
+      implicit real*8(a-h,o-z)
+      include "params.h"
+      integer n,ntype,islave,itag,mpi_comm_world,ierror
+      common/mpii/ibuffer(nibuffer),iis,iir,irs,irr
+      common/mpir/buffer(nrbuffer)
+      if(ntype.eq.1) then
+                           call send_buffer_real(a,n)
+                     else
+                           call send_buffer_integer(a,n)
+                     endif
+      ierror=0
+      return
+      end
 
 
 
 
 
+      subroutine receive_buffer_integer(ia,n)
+      implicit real*8(a-h,o-z)
+      include "params.h"
+      integer n,ia(*)
+      common/mpii/ibuffer(nibuffer),iis,iir,irs,irr
+      common/mpir/buffer(nrbuffer)
+      do 1001 i=1,n
+ 1001 ia(i)=ibuffer(iir+i)
+      iir=iir+n
+      if(iir.eq.iis) then
+                           iis=0
+                           iir=0
+                     endif
+      return
+      end
       subroutine mpi_recv(a,n,ntype,isource,itag,mpi_comm_world,istat,
      &                    ierror)
       implicit real*8(a-h,o-z)
@@ -189,21 +204,6 @@
       if(irr.eq.irs) then
                            irs=0
                            irr=0
-                     endif
-      return
-      end
-      subroutine receive_buffer_integer(ia,n)
-      implicit real*8(a-h,o-z)
-      include "params.h"
-      integer n,ia(*)
-      common/mpii/ibuffer(nibuffer),iis,iir,irs,irr
-      common/mpir/buffer(nrbuffer)
-      do 1001 i=1,n
- 1001 ia(i)=ibuffer(iir+i)
-      iir=iir+n
-      if(iir.eq.iis) then
-                           iis=0
-                           iir=0
                      endif
       return
       end

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list