While Configured Any Application if we are facing any issue to resolve that problem.
1)We have to try different configured option and parameter.
2)Check the latest version of the source code & Compile it.
3)Try Different MPI (gcc mpi, Intel Mpi, openmpi,mvapich,) while configure
4)We have to export with appropriate compiler and then when we are going to run.
For Example : Intel Compiler
CC=icc CXX=icpc F77=ifort F90=ifort FC=ifort
For Example : MPI Compiler
CC=mpicc,C++=mpiCC,F77=mpif77,FC=mpifort.
CFLAGS= (icc)arguments to pass to the C compiler
CXXFLAGS=(icpc) arguments to pass to the C++ compiler
<!-- adsense -->
FFLAGS= (ifort) arguments to pass to the F77 compiler )
FCFLAGS= (ifort) arguments to pass to the Fortran 90 compiler.
NOTE: Every time while compilation we should know the which compiler it is using.it will help us for better troubleshooting.
5)These configure tarball commonly written in C Code. So if we have knowledge in C.
We can solve the problem easily.
Application users can beneļ¬ts by choosing the optimal platform for their application.
Link 1: http://idolinux.blogspot.in/2011/02/nco-netcdf-operators-build-log.html
Link 2: http://idolinux.blogspot.in/2012/03/building-scalapack-with-lapack-blas-and.html
Link 3:http://bickson.blogspot.in/2011/02/installing-blaslapackitpp-on-amaon-ec2.html
Link 4: http://www.hpc.cam.ac.uk/user/compiling.html
NOTE 1: Compile The File With Specified Library.
#gcc -o conftest -L/app/intel/tbb/lib/intel64/ -ltbbmalloc conftest.c
1)We have to try different configured option and parameter.
2)Check the latest version of the source code & Compile it.
3)Try Different MPI (gcc mpi, Intel Mpi, openmpi,mvapich,) while configure
4)We have to export with appropriate compiler and then when we are going to run.
For Example : Intel Compiler
CC=icc CXX=icpc F77=ifort F90=ifort FC=ifort
For Example : MPI Compiler
CC=mpicc,C++=mpiCC,F77=mpif77,FC=mpifort.
CFLAGS= (icc)arguments to pass to the C compiler
CXXFLAGS=(icpc) arguments to pass to the C++ compiler
<!-- adsense -->
FFLAGS= (ifort) arguments to pass to the F77 compiler )
FCFLAGS= (ifort) arguments to pass to the Fortran 90 compiler.
NOTE: Every time while compilation we should know the which compiler it is using.it will help us for better troubleshooting.
5)These configure tarball commonly written in C Code. So if we have knowledge in C.
We can solve the problem easily.
Application users can beneļ¬ts by choosing the optimal platform for their application.
Link 1: http://idolinux.blogspot.in/2011/02/nco-netcdf-operators-build-log.html
Link 2: http://idolinux.blogspot.in/2012/03/building-scalapack-with-lapack-blas-and.html
Link 3:http://bickson.blogspot.in/2011/02/installing-blaslapackitpp-on-amaon-ec2.html
Link 4: http://www.hpc.cam.ac.uk/user/compiling.html
Library
Dependency Problem
1)GCC
To
check whether Gcc is able to detect the library default.
#gcc
-l<library-name>
gcc
-lfftw3f
#
gcc -print-search-dirs
To
Set the New Library PATH in GCC set the environment variable in
#export
LIBRARY_PATH=$LIBRARY_PATH:/LIBBRAR/PATH/LOCATION.
2)LIBRARY Dependency Problem even if we feed the INPUT.
If
we compile anything with GCC compiler -> Then we should feed
GNU-BLAS and GNU-LAPACK library rather than Intel-BLAS and
Intel-LAPACK
library.
If
we give -> INTEL-BLAS (or) INTEL-LAPACK then it won't accept.
we
will get message like (You are required to have BLAS and LAPACK
libraries).
NOTE:If we give the proper compiler and COMPATIBLE dependency library then the problem will be resolved.
Netcdf4 Installation & Error Message
#./configure --prefix=/app/netcdf-4.3.0/
Error Message:
configure: error: Can't find or link to the hdf5 library. Use --disable-netcdf-4, or see config.log for errors.
After giving hdf5 Library Path that problem is resolved.
./configure LDFLAGS="-L/app/hdf5-1.8.1/lib"
#./configure --prefix=/app/netcdf-4.3.0 LDFLAGS="-L/app/hdf5-1.8.1/lib
While I was trying to install netcdf with hdf5 I am getting the following error message.
Stage 1 Error: c4var.c: In function 'nc_set_var_chunk_cache_ints':
nc4var.c:127: error: 'H5D_CHUNK_CACHE_NBYTES_DEFAULT' undeclared (first use inthis function)
nc4var.c:127: error: (Each undeclared identifier is reported only once
nc4var.c:127: error: for each function it appears in.)
nc4var.c:128: error: 'H5D_CHUNK_CACHE_NSLOTS_DEFAULT' undeclared (first use in this function)
nc4var.c:129: error: '' undeclared (first use in this function)
make[2]: *** [libnetcdf4_la-nc4var.lo] Error 1
make[2]: Leaving directory `/app/setups/netcdf-4.3.0/libsrc4'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/app/setups/netcdf-4.3.0'
make: *** [all] Error 2
Add the following line in c file(/app/setups/netcdf-4.3.0/libsrc4/nc4var.c). then the undeclared problem is resolved .
#define H5D_CHUNK_CACHE_NSLOTS_DEFAULT
#define H5D_CHUNK_CACHE_W0_DEFAULT
#define H5D_CHUNK_CACHE_W0_DEFAULT
Stage 2 Error : then, I am getting the following error message.
nc4var.c: In function 'nc_set_var_chunk_cache_ints':
nc4var.c:130: error: expected expression before ';' token
nc4var.c:131: error: expected expression before ';' token
nc4var.c:132: error: expected expression before ';' token
make[2]: *** [libnetcdf4_la-nc4var.lo] Error 1
make[2]: Leaving directory `/app/setups/netcdf-4.3.0/libsrc4'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/app/setups/netcdf-4.3.0'
make: *** [all] Error 2
After reading forum they suggest to remove we have to remove equal"=" from the define variable.
size_t real_size = H5D_CHUNK_CACHE_NBYTES_DEFAULT;
size_t real_nelems = H5D_CHUNK_CACHE_NSLOTS_DEFAULT;
float real_preemption = H5D_CHUNK_CACHE_W0_DEFAULT;
it should be.
size_t real_size H5D_CHUNK_CACHE_NBYTES_DEFAULT;
size_t real_nelems H5D_CHUNK_CACHE_NSLOTS_DEFAULT;
float real_preemption H5D_CHUNK_CACHE_W0_DEFAULT
#grep -r H5D_CHUNK_CACHE_NBYTES_DEFAULT /app/setups/netcdf-4.3.0/libsrc4/nc4var.c
LDFLAGS = -L/app/hdf5-1.8.1/lib -L/app/hdf5-1.8.5-patch1/lib/
Intel MPI Benchmark - Compilation Error
While Compilation I got the below Error Message.
/usr/include/libio.h(365): error: identifier "__nbytes" is undefined
typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes);
Error Message 1: /usr/include/libio.h(365): error: identifier "__nbytes" is undefined
DID: In the header file after adding the variable.
#define __nbytes
We were getting below error message.
CONSEQUENCE 1:
/usr/include/libio.h(365): error: expected a type specifier
CONSEQUNENCE 2:
Also while edit the libio.h header file it is affecting other program while making example.
# make ex4
/app/intel/impi/4.1.0.024/intel64/bin/mpicc -g -Wall -I/app/hypre-2.9.0b/include -DHAVE_CONFIG_H -DHYPRE_TIMING -c ex4.c
In file included from /usr/include/stdio.h:75,
from /app/hypre-2.9.0b/include/_hypre_utilities.h:386,
from ex4.c:11:
/usr/include/libio.h:333: error: expected specifier-qualifier-list before ‘__pad5’
/usr/include/libio.h:365: error: expected declaration specifiers or ‘...’ before ‘)’ token
REASON : If we edit any file under /usr/include/headerfile.h(This is GLOBAL) header file.It will affect other program.
SOLUTION : Try to recompile with proper intel compiler then the problem has been resolved.
Error Message 2 :
configure: error: Compiling a test with HDF5 failed. Either hdf5.h cannot be found, or config.log should be checked for other reason.
SOLUTION : These above problem will be solved by adding CFLAGS not LDFLAGS.
CFLAGS="-I/app/hdf5-1.8.1/include/"
Netcdf4 Installation & Error Message
#./configure --prefix=/app/netcdf-4.3.0/
Error Message:
configure: error: Can't find or link to the hdf5 library. Use --disable-netcdf-4, or see config.log for errors.
After giving hdf5 Library Path that problem is resolved.
./configure LDFLAGS="-L/app/hdf5-1.8.1/lib"
#./configure --prefix=/app/netcdf-4.3.0 LDFLAGS="-L/app/hdf5-1.8.1/lib
While I was trying to install netcdf with hdf5 I am getting the following error message.
Stage 1 Error: c4var.c: In function 'nc_set_var_chunk_cache_ints':
nc4var.c:127: error: 'H5D_CHUNK_CACHE_NBYTES_DEFAULT' undeclared (first use inthis function)
nc4var.c:127: error: (Each undeclared identifier is reported only once
nc4var.c:127: error: for each function it appears in.)
nc4var.c:128: error: 'H5D_CHUNK_CACHE_NSLOTS_DEFAULT' undeclared (first use in this function)
nc4var.c:129: error: '' undeclared (first use in this function)
make[2]: *** [libnetcdf4_la-nc4var.lo] Error 1
make[2]: Leaving directory `/app/setups/netcdf-4.3.0/libsrc4'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/app/setups/netcdf-4.3.0'
make: *** [all] Error 2
Add the following line in c file(/app/setups/netcdf-4.3.0/libsrc4/nc4var.c). then the undeclared problem is resolved .
#define H5D_CHUNK_CACHE_NSLOTS_DEFAULT
#define H5D_CHUNK_CACHE_W0_DEFAULT
#define H5D_CHUNK_CACHE_W0_DEFAULT
Stage 2 Error : then, I am getting the following error message.
nc4var.c: In function 'nc_set_var_chunk_cache_ints':
nc4var.c:130: error: expected expression before ';' token
nc4var.c:131: error: expected expression before ';' token
nc4var.c:132: error: expected expression before ';' token
make[2]: *** [libnetcdf4_la-nc4var.lo] Error 1
make[2]: Leaving directory `/app/setups/netcdf-4.3.0/libsrc4'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/app/setups/netcdf-4.3.0'
make: *** [all] Error 2
After reading forum they suggest to remove we have to remove equal"=" from the define variable.
size_t real_size = H5D_CHUNK_CACHE_NBYTES_DEFAULT;
size_t real_nelems = H5D_CHUNK_CACHE_NSLOTS_DEFAULT;
float real_preemption = H5D_CHUNK_CACHE_W0_DEFAULT;
it should be.
size_t real_size H5D_CHUNK_CACHE_NBYTES_DEFAULT;
size_t real_nelems H5D_CHUNK_CACHE_NSLOTS_DEFAULT;
float real_preemption H5D_CHUNK_CACHE_W0_DEFAULT
#grep -r H5D_CHUNK_CACHE_NBYTES_DEFAULT /app/setups/netcdf-4.3.0/libsrc4/nc4var.c
LDFLAGS = -L/app/hdf5-1.8.1/lib -L/app/hdf5-1.8.5-patch1/lib/
Intel MPI Benchmark - Compilation Error
While Compilation I got the below Error Message.
/usr/include/libio.h(365): error: identifier "__nbytes" is undefined
typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes);
Error Message 1: /usr/include/libio.h(365): error: identifier "__nbytes" is undefined
DID: In the header file after adding the variable.
#define __nbytes
We were getting below error message.
CONSEQUENCE 1:
/usr/include/libio.h(365): error: expected a type specifier
CONSEQUNENCE 2:
Also while edit the libio.h header file it is affecting other program while making example.
# make ex4
/app/intel/impi/4.1.0.024/intel64/bin/mpicc -g -Wall -I/app/hypre-2.9.0b/include -DHAVE_CONFIG_H -DHYPRE_TIMING -c ex4.c
In file included from /usr/include/stdio.h:75,
from /app/hypre-2.9.0b/include/_hypre_utilities.h:386,
from ex4.c:11:
/usr/include/libio.h:333: error: expected specifier-qualifier-list before ‘__pad5’
/usr/include/libio.h:365: error: expected declaration specifiers or ‘...’ before ‘)’ token
REASON : If we edit any file under /usr/include/headerfile.h(This is GLOBAL) header file.It will affect other program.
SOLUTION : Try to recompile with proper intel compiler then the problem has been resolved.
Error Message 2 :
configure: error: Compiling a test with HDF5 failed. Either hdf5.h cannot be found, or config.log should be checked for other reason.
SOLUTION : These above problem will be solved by adding CFLAGS not LDFLAGS.
CFLAGS="-I/app/hdf5-1.8.1/include/"
NOTE 1: Compile The File With Specified Library.
#gcc -o conftest -L/app/intel/tbb/lib/intel64/ -ltbbmalloc conftest.c
0 comments:
Post a Comment