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

installation of MPB #57

Open
Saranyanarayanan opened this issue Jun 23, 2018 · 3 comments
Open

installation of MPB #57

Saranyanarayanan opened this issue Jun 23, 2018 · 3 comments

Comments

@Saranyanarayanan
Copy link

Saranyanarayanan commented Jun 23, 2018

Is it necessary to install MPI for HDF5 to work properly? I installed HDF5-1.80.20,
Features:

          Parallel HDF5: no
     High Level library: yes
           Threadsafety: no
    Default API Mapping: v18

With Deprecated Public Symbols: yes
I/O filters (external): deflate(zlib)
MPE: no
Direct VFD: no
dmalloc: no
Clear file buffers before write: yes
Using memory checker: no
Function Stack Tracing: no
Strict File Format Checks: no
Optimization Instrumentation: no
[saranya@localhost hdf5-1.8.20]$

And I reconfigured MPB. But it's still showing that compiled without HDF when I tried to run the program.

matrixio: cannot output "bragg1-h.k01.b01.y.tm" (compiled without HDF)
Outputting fields to bragg1-h.k01.b01.y.tm...
matrixio: cannot output "bragg1-h.k01.b02.y.tm" (compiled without HDF)
Outputting fields to bragg1-h.k01.b02.y.tm...
matrixio: cannot output "bragg1-h.k01.b03.y.tm" (compiled without HDF)
Outputting fields to bragg1-h.k01.b03.y.tm...

@ChristopherHogan
Copy link
Contributor

ChristopherHogan commented Jun 25, 2018

MPI is not required for serial HDF5. On Ubuntu 16.04, the serial hdf5 files are installed into a serial subfolder. Here is the build script I use (I built libctl with --prefix=$HOME/local):

#!/bin/bash

cd mpb
sh autogen.sh                                                              \
    CPPFLAGS="-I${HOME}/local/include -I/usr/include/hdf5/serial"          \
    CFLAGS=${CPPFLAGS}                                                     \
    LDFLAGS="-L${HOME}/local/lib -L/usr/lib/x86_64-linux-gnu/hdf5/serial"  \
    GEN_CTL_IO="${HOME}/local/bin/gen-ctl-io"                              \
    --enable-shared                                                        \
    --prefix=$HOME/local                                                   \
    --with-libctl=$HOME/local/share/libctl                                 \
    --with-hermitian-eps

make -j 2 && make install

If you continue to have issues, please share your build script, configure output, and system info.

@Saranyanarayanan
Copy link
Author

I'm working on Centos 7. I tried the above script , but still it's not working.
bash: /yum: No such file or directory
[saranya@localhost mpb-1.6.1]$ ./autogen.sh
bash: ./autogen.sh: No such file or directory
[saranya@localhost mpb-1.6.1]$ CPPFLAGS="-I${HOME}/local/include -I/usr/include/hdf5/serial" \

CFLAGS=${CPPFLAGS}                                                     \
LDFLAGS="-L${HOME}/local/lib -L/usr/lib/x86_64-linux-gnu/hdf5/serial"  \
GEN_CTL_IO="${HOME}/local/bin/gen-ctl-io"                              \
--enable-shared                                                        \
--prefix=$HOME/local                                                   \
--with-libctl=$HOME/local/share/libctl                                 \
--with-hermitian-eps

bash: --enable-shared: command not found...
[saranya@localhost mpb-1.6.1]$

MPB configure output is:
ash: /yum: No such file or directory
[saranya@localhost mpb-1.6.1]$ ./configure
checking whether to enable maintainer-specific portions of Makefiles... no
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking how to print strings... printf
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @file support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for mt... no
checking if : is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking for g77... no
checking for xlf... no
checking for f77... no
checking for frt... no
checking for pgf77... no
checking for cf77... no
checking for fort77... no
checking for fl32... no
checking for af77... no
checking for xlf90... no
checking for f90... no
checking for pgf90... no
checking for pghpf... no
checking for epcf90... no
checking for gfortran... gfortran
checking whether we are using the GNU Fortran 77 compiler... yes
checking whether gfortran accepts -g... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking for gfortran option to produce PIC... -fPIC
checking if gfortran PIC flag -fPIC works... yes
checking if gfortran static flag -static works... no
checking if gfortran supports -c -o file.o... yes
checking if gfortran supports -c -o file.o... (cached) yes
checking whether the gfortran linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for perl... /usr/bin/perl
checking for vendor cc to be used instead of gcc...
checking for cc... gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking dependency style of gcc... (cached) gcc3
checking for sqrt in -lm... yes
checking how to get verbose linking output from gfortran... -v
checking for Fortran 77 libraries of gfortran... -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../.. -lgfortran -lm -lquadmath
checking for dummy main to link with Fortran 77 libraries... none
checking for Fortran 77 name-mangling scheme... lower case, underscore, no extra underscore
checking for fftw_execute in -lfftw3... yes
checking if sgemm_ is being linked in already... no
checking for sgemm_ in -lopenblas... no
checking for ATL_xerbla in -latlas... no
checking for sgemm_ in -lblas... yes
checking for dgemm_ in -ldgemm... no
checking for sgemm_ in -lmkl... no
checking for sgemm_ in -framework vecLib... no
checking for sgemm_ in -lcxml... no
checking for sgemm_ in -ldxml... no
checking for sgemm_ in -lscs... no
checking for sgemm_ in -lcomplib.sgimath... no
checking for sgemm_ in -lblas... (cached) yes
checking for sgemm_ in -lessl... no
checking for sgemm_ in -lblas... (cached) yes
checking for cheev_... no
checking for cheev_ in -llapack... yes
checking for deflate in -lz... yes
checking for H5Pcreate in -lhdf5... no
configure: WARNING: Couldn't find the HDF5 library!! Switching to --without-hdf5.
checking for guile... yes
checking for guile-config... guile-config
checking if linking to guile works... yes
checking libguile.h usability... yes
checking libguile.h presence... yes
checking for libguile.h... yes
checking guile/gh.h usability... no
checking guile/gh.h presence... no
checking for guile/gh.h... no
checking for scm_make_smob_type... yes
checking for scm_array_get_handle... yes
checking for scm_is_array... yes
checking for SCM_SMOB_PREDICATE... yes
checking for SCM_SMOB_DATA... yes
checking for SCM_NEWSMOB... yes
checking how to activate readline in Guile... ice-9 readline
checking for libctl dir... /usr/local/share/libctl
checking for gen-ctl-io... gen-ctl-io
checking for ctl_get_vector3 in -lctl... yes
checking ctl.h usability... yes
checking ctl.h presence... yes
checking for ctl.h... yes
checking whether libctl version is at least 4.0.0... ok
checking for libctl_quiet feature... yes
checking for vector3_dot in -lctlgeom... yes
checking ctlgeom.h usability... yes
checking ctlgeom.h presence... yes
checking for ctlgeom.h... yes
checking nlopt.h usability... no
checking nlopt.h presence... no
checking for nlopt.h... no
checking for nlopt_minimize in -lnlopt... no
checking for ANSI C header files... (cached) yes
checking for unistd.h... (cached) yes
checking getopt.h usability... yes
checking getopt.h presence... yes
checking for getopt.h... yes
checking for nlopt.h... (cached) no
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for getopt... yes
checking for strncmp... yes
checking whether calling BLAS zdotc works... yes
checking for bash... /usr/bin/bash
checking for feenableexcept... yes
checking whether feenableexcept declaration is usable... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating examples/Makefile
config.status: creating tests/Makefile
config.status: creating src/Makefile
config.status: creating src/util/Makefile
config.status: creating src/matrices/Makefile
config.status: creating src/matrixio/Makefile
config.status: creating src/maxwell/Makefile
config.status: creating mpb/Makefile
config.status: creating mpb/mpb.scm
config.status: creating mpb/mpb-split-preinstall
config.status: creating utils/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: creating src/mpbconf.h
config.status: src/mpbconf.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
[saranya@localhost mpb-1.6.1]$

@ChristopherHogan
Copy link
Contributor

You need to tell configure where to find your hdf5 installation. Please read the Unix installation basics in the manual.

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