IOAPI 3.2 Installation Error message permission denied when trying to run the command Make

Hello ,
Am trying to install IOAPI 3.2

The error message is
creator@creator-VirtualBox:~/ioapi-3.2$ make install
Makefile:299: warning: overriding recipe for target ‘/home/creator/Linux2_x86_64gfort’
Makefile:296: warning: ignoring old recipe for target ‘/home/creator/Linux2_x86_64gfort’
echo “Installing I/O API and M3TOOLS in /home/creator/Linux2_x86_64gfort and /home/creator/Linux2_x86_64gfort”
Installing I/O API and M3TOOLS in /home/creator/Linux2_x86_64gfort and /home/creator/Linux2_x86_64gfort
(cd /home/creator/ioapi-3.2/ioapi ; make BIN=Linux2_x86_64gfort INSTDIR=/home/creator/Linux2_x86_64gfort install)
make[1]: Entering directory ‘/home/creator/ioapi-3.2/ioapi’
echo “Installing in /home/creator/Linux2_x86_64gfort” ; cd /home/creator/ioapi-3.2/Linux2_x86_64gfort; cp libioapi.a m3utilio.mod modgctp.mod modwrfio.mod modmpasfio.mod modatts3.mod modncfio.mod modpdata.mod /home/creator/Linux2_x86_64gfort
Installing in /home/creator/Linux2_x86_64gfort
cp: cannot create regular file ‘/home/creator/Linux2_x86_64gfort/libioapi.a’: Permission denied
cp: cannot create regular file ‘/home/creator/Linux2_x86_64gfort/m3utilio.mod’: Permission denied
cp: cannot create regular file ‘/home/creator/Linux2_x86_64gfort/modgctp.mod’: Permission denied
cp: cannot create regular file ‘/home/creator/Linux2_x86_64gfort/modwrfio.mod’: Permission denied
cp: cannot create regular file ‘/home/creator/Linux2_x86_64gfort/modmpasfio.mod’: Permission denied
cp: cannot create regular file ‘/home/creator/Linux2_x86_64gfort/modatts3.mod’: Permission denied
cp: cannot create regular file ‘/home/creator/Linux2_x86_64gfort/modncfio.mod’: Permission denied
cp: cannot create regular file ‘/home/creator/Linux2_x86_64gfort/modpdata.mod’: Permission denied
make[1]: *** [Makefile:216: install] Error 1
make[1]: Leaving directory ‘/home/creator/ioapi-3.2/ioapi’
make: *** [Makefile:267: install] Error 2

THere is no changes made to make file other than
BIN has been changed in make file ioapi-3.2 to
Linux2_x86_64gfort from Linux2_x86_64

Could you kindly help ?

Hi Akhila,

Please create the install directory using the command


mkdir /home/creator/Linux2_x86_64gfort

prior to running make install.

Thank you very much.

I have one important question.

We have netcdf -c and netcdf-f libraries available as packages for installation.

Is it ok to use it for CMAQ 5.2.1 or manual installation is needed?

Thanks in advance,

akhila Thomas

Hi Akhila,

As long as you use the same compiler flags that were used to build netcdf c and fortran libraries to build IOAPI, then you should be ok. IOAPI uses the BIN environment variable. You need to edit the ioapi-3.2/ioapi/Makeinclude.$BIN to use the same compiler and flags as was used to build netcdf c and netcdf fortran.
See the ioapi-3.2/README.txt file for more instructions. If you are running CMAQ with mpi, you will also need to install pnetcdf.

Liz

Thank you very much,

Am trying to install CMAQV5.2.1. complier is gcc

installed the below using package manager.
netcdf and openmpi
installed ioapi 3.2

At the moment trying to set the flags in config_cmaq.csh.
i have attached the screenshot of the same.
Could kindly update where and what changes has to be made so that the the file would work properly.

See my reply to your (duplicate-of-this) CMAQ configuration question.

Hi, I ran into an issue while trying to compile I/O APIv3.2. The issue is in the screenshot below and happens at the last ‘make’ command:

Basically, it cannot find -lhdf5_hl, -lhdf5 and -lz which look like the hdf5 and zlib libraries entered in the LIBS variable of the Makefile:

LIBS = -L${OBJDIR} -lioapi -lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -lz (OMPLIBS) (ARCHLIB) $(ARCHLIBS)

What could be causing the error?

See Availability/Download of the BAMS/Models-3 I/O API

Basically, since you have chosen not to build the recommended netCDF configuration, you need to go to the netCDF installation and run the netCDF commands

nc-config --libs
nf-config --libs 

to find what out what extra (e.g., -L) compile directives you need. Your compile-line basically does not know how to find the extra libraries you’ve brought in.

Or else you are perhaps trying to use a vendor supplied netCDF? The I/O API installation instruction says,

Strong Recommendation 2
You are best off if you can build the whole modeling system (libnetcdf.a, libpvm3.a, libioapi.a, etc., and your model(s) CMAQ, SMOKE, etc. with a common compiler set and common set of compile-flags. In particular, Linux-distribution-vendor supplied libnetcdf.a rarely works with CMAS-supported compiler sets.

Hi

I want to install IOAPI-3.1. I don’t have any errors in make configure and make, but in make install it gives an error.

Makefile:194: warning: overriding recipe for target ‘/home/ensiyeh/LIBRARIES/ioapi/ioapi-3.1/Linux2_x86_64ifort’
Makefile:191: warning: ignoring old recipe for target ‘/home/ensiyeh/LIBRARIES/ioapi/ioapi-3.1/Linux2_x86_64ifort’
Makefile:197: warning: overriding recipe for target ‘/home/ensiyeh/LIBRARIES/ioapi/ioapi-3.1/Linux2_x86_64ifort’
Makefile:194: warning: ignoring old recipe for target ‘/home/ensiyeh/LIBRARIES/ioapi/ioapi-3.1/Linux2_x86_64ifort’
echo “Installing I/O API and M3TOOLS in /home/ensiyeh/LIBRARIES/ioapi/ioapi-3.1/Linux2_x86_64ifort and /home/ensiyeh/LIBRARIES/ioapi/ioapi-3.1/Linux2_x86_64ifort”
Installing I/O API and M3TOOLS in /home/ensiyeh/LIBRARIES/ioapi/ioapi-3.1/Linux2_x86_64ifort and /home/ensiyeh/LIBRARIES/ioapi/ioapi-3.1/Linux2_x86_64ifort
(cd /home/ensiyeh/LIBRARIES/ioapi/ioapi-3.1/ioapi ; make install)
make[1]: Entering directory ‘/home/ensiyeh/LIBRARIES/ioapi/ioapi-3.1/ioapi’
echo “Installing in /home/ensiyeh/LIBRARIES/ioapi/ioapi-3.1/Linux2_x86_64ifort” ; cd /home/ensiyeh/LIBRARIES/ioapi/ioapi-3.1/Linux2_x86_64ifort; cp libioapi.a /home/ensiyeh/LIBRARIES/ioapi/ioapi-3.1/Linux2_x86_64ifort
Installing in /home/ensiyeh/LIBRARIES/ioapi/ioapi-3.1/Linux2_x86_64ifort
cp: ‘libioapi.a’ and ‘/home/ensiyeh/LIBRARIES/ioapi/ioapi-3.1/Linux2_x86_64ifort/libioapi.a’ are the same file
Makefile:183: recipe for target ‘install’ failed
make[1]: *** [install] Error 1
make[1]: Leaving directory ‘/home/ensiyeh/LIBRARIES/ioapi/ioapi-3.1/ioapi’
Makefile:164: recipe for target ‘install’ failed
make: *** [install] Error 2
Could you guide me,please?

Hi
Could we use make install in installing ioapi-3.1?