| 1 | Current problem:
|
|---|
| 2 | 1. A abc bug illustrated by abcBug.c, abcBugHead1.h and abcBugHead2.h
|
|---|
| 3 |
|
|---|
| 4 | 2. Error: Undeclared identifier sysconf
|
|---|
| 5 | at timer.c:45.41-47 "sysconf"
|
|---|
| 6 |
|
|---|
| 7 | sysconf looks like a constant defined in standard library.
|
|---|
| 8 |
|
|---|
| 9 |
|
|---|
| 10 |
|
|---|
| 11 | [unused file]
|
|---|
| 12 | ABC v0.2 of 31-mar-2014 -- http://vsl.cis.udel.edu/abc
|
|---|
| 13 |
|
|---|
| 14 | Error: Expected 14 arguments but saw 13
|
|---|
| 15 | at par_difconv.c:224.34-225.73 "hypre_map(ix,iy,iz-1 ... )"
|
|---|
| 16 |
|
|---|
| 17 |
|
|---|
| 18 | [solved]
|
|---|
| 19 | ABC v0.2 of 31-mar-2014 -- http://vsl.cis.udel.edu/abc
|
|---|
| 20 |
|
|---|
| 21 | Error: No conversion from type of right hand side to that of left:
|
|---|
| 22 | (void) *
|
|---|
| 23 | struct MPI_Comm
|
|---|
| 24 | at gen_redcs_mat.c:449.6-mpi.h:5.22 "new_comm = ((void*) ... )"
|
|---|
| 25 | make: *** [abc_amg2013] Error 6
|
|---|
| 26 |
|
|---|
| 27 |
|
|---|
| 28 |
|
|---|
| 29 |
|
|---|
| 30 | AMG2013/parcsr_ls/
|
|---|
| 31 |
|
|---|
| 32 | Probably what happened is: this file was read in after mpi.h was read.
|
|---|
| 33 | However in reality, this file will be preprocessed and compiled with other headers
|
|---|
| 34 | insteaed of mpi.h. In those headers, MPI_Comm is defined to be int, and
|
|---|
| 35 | MPI_COMM_NULL is (-1).
|
|---|
| 36 |
|
|---|
| 37 | Here are the includes:
|
|---|
| 38 |
|
|---|
| 39 | #include "parcsr_ls.h"
|
|---|
| 40 | #include "parcsr_mv.h"
|
|---|
| 41 | #include "seq_mv.h"
|
|---|
| 42 | #include "par_amg.h"
|
|---|
| 43 |
|
|---|
| 44 | In parcsr_ls.h:
|
|---|
| 45 | #include "HYPRE_parcsr_ls.h"
|
|---|
| 46 | ...
|
|---|
| 47 | #include "utilities.h"
|
|---|
| 48 |
|
|---|
| 49 | utilities.h includes HYPRE_utilities.h.
|
|---|
| 50 |
|
|---|
| 51 | In HYPRE_utilities.h, mpi.h is included first.
|
|---|
| 52 |
|
|---|
| 53 | In utilities.h there is then a bunch of #defines which redefine MPI_Comm, etc.
|
|---|
| 54 |
|
|---|
| 55 | In mpi.h: typedef struct MPI_Comm MPI_Comm;
|
|---|
| 56 |
|
|---|
| 57 | In utilities.h:
|
|---|
| 58 | #define MPI_Comm hypre_MPI_Comm
|
|---|
| 59 | ...
|
|---|
| 60 | typedef int hypre_MPI_Comm;
|
|---|
| 61 |
|
|---|
| 62 |
|
|---|