Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Does not build with --with-inv-symmetry #17

Closed
probstj opened this issue Jun 1, 2017 · 1 comment
Closed

Does not build with --with-inv-symmetry #17

probstj opened this issue Jun 1, 2017 · 1 comment

Comments

@probstj
Copy link

probstj commented Jun 1, 2017

I'm trying to build latest MPB 1.6-dev (Latest commit 7a96dd0 on Apr 28) with:

  • gcc (SUSE Linux) 4.8.5
  • Open MPI 1.10.3
  • OpenBLAS-0.2.19 (built with GNU Fortran (SUSE Linux) 4.8.5)
  • HDF5 1.10.1 (built with MPI enabled with the above compilers)
  • guile 2.2.2
  • libctl 3.2.2
  • FFTW 3.3.6-pl2 (built with MPI enabled with the above compilers)

The serial build and MPI build without using --with-inv-symmetry build fine and pass the make check tests, but make fails when --with-inv-symmetry is specified with the output shown below (serial version):

make  all-recursive
make[1]: Entering directory '/hmi/hsa/tarballs/mpb'
Making all in src
make[2]: Entering directory '/hmi/hsa/tarballs/mpb/src'
cp -f mpbconf.h mpbi.h
make  all-recursive
make[3]: Entering directory '/hmi/hsa/tarballs/mpb/src'
Making all in util
make[4]: Entering directory '/hmi/hsa/tarballs/mpb/src/util'
make  all-am
make[5]: Entering directory '/hmi/hsa/tarballs/mpb/src/util'
  CC       debug_malloc.lo
  CC       mpi_utils.lo
mpi_utils.c: In function 'mpi_begin_critical_section':
mpi_utils.c:186:15: warning: unused variable 'status' [-Wunused-variable]
    MPI_Status status;
               ^
mpi_utils.c: In function 'mpi_end_critical_section':
mpi_utils.c:194:35: warning: unused parameter 'tag' [-Wunused-parameter]
 void mpi_end_critical_section(int tag)
                                   ^
  CCLD     libutil.la
  CC       sphere-quad.o
  CCLD     sphere_quad
make[5]: Leaving directory '/hmi/hsa/tarballs/mpb/src/util'
make[4]: Leaving directory '/hmi/hsa/tarballs/mpb/src/util'
Making all in matrices
make[4]: Entering directory '/hmi/hsa/tarballs/mpb/src/matrices'
  CC       libmatrices_la-blasglue.lo
In file included from blasglue.c:40:0:
blasglue.c:72:28: error: conflicting types for 'dgeev_'
 #  define FR(x,X) F77_FUNC(d##x, D##X)
                            ^
../../config.h:22:29: note: in definition of macro 'F77_FUNC'
 #define F77_FUNC(name,NAME) name ## _
                             ^
blasglue.c:121:13: note: in expansion of macro 'FR'
 extern void FR(geev,GEEV) (char *jobvl, char *jobvr, int *n,
             ^
blasglue.c:62:29: note: previous declaration of 'dgeev_' was here
 #    define F(x,X) F77_FUNC(d##x, D##X)
                             ^
../../config.h:22:29: note: in definition of macro 'F77_FUNC'
 #define F77_FUNC(name,NAME) name ## _
                             ^
blasglue.c:117:13: note: in expansion of macro 'F'
 extern void F(geev,GEEV) (char *jobvl, char *jobvr, int *n,
             ^
blasglue.c: In function 'lapackglue_geev':
blasglue.c:338:20: warning: passing argument 14 of 'dgeev_' from incompatible pointer type [enabled by default]
                    work, &lwork, rwork, &info);
                    ^
In file included from blasglue.c:40:0:
blasglue.c:72:28: note: expected 'int *' but argument is of type 'real *'
 #  define FR(x,X) F77_FUNC(d##x, D##X)
                            ^
../../config.h:22:29: note: in definition of macro 'F77_FUNC'
 #define F77_FUNC(name,NAME) name ## _
                             ^
blasglue.c:121:13: note: in expansion of macro 'FR'
 extern void FR(geev,GEEV) (char *jobvl, char *jobvr, int *n,
             ^
blasglue.c:338:20: error: too many arguments to function 'dgeev_'
                    work, &lwork, rwork, &info);
                    ^
In file included from blasglue.c:40:0:
blasglue.c:72:28: note: declared here
 #  define FR(x,X) F77_FUNC(d##x, D##X)
                            ^
../../config.h:22:29: note: in definition of macro 'F77_FUNC'
 #define F77_FUNC(name,NAME) name ## _
                             ^
blasglue.c:121:13: note: in expansion of macro 'FR'
 extern void FR(geev,GEEV) (char *jobvl, char *jobvr, int *n,
             ^
Makefile:404: recipe for target 'libmatrices_la-blasglue.lo' failed
make[4]: *** [libmatrices_la-blasglue.lo] Error 1
make[4]: Leaving directory '/hmi/hsa/tarballs/mpb/src/matrices'
Makefile:536: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory '/hmi/hsa/tarballs/mpb/src'
Makefile:392: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/hmi/hsa/tarballs/mpb/src'
Makefile:409: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/hmi/hsa/tarballs/mpb'
Makefile:340: recipe for target 'all' failed
make: *** [all] Error 2

Building http://ab-initio.mit.edu/mpb/mpb-1.5.tar.gz from April 2, 2014 using --with-inv-symmetry works. The changes made to blasglue.c with commit 4041c4a on May 13, 2016 seem to be relevant.

I'm attaching my config.h just in case: config.h.txt

@stevengj
Copy link
Collaborator

stevengj commented Jun 2, 2017

Thanks, should be fixed now on master.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants