Installing ioapi-3.2, unsupported architecture

Dear all,
I was installing ioapi-3.2 following this tutorial (Installing --disable-netcdf-4 --disable-dap NEVER works and instructions in CMAQ documentation regarding this seem misleading - #9 by CMAQ_user).

Then I encountered errors in the following step:


Here is the error after I executed “make” in ioapi, would anyone help me with this?

You might try following the actual I/O API Installation Page: seehttps://www.cmascenter.org/ioapi/documentation/all_versions/html/AVAIL.html#build or https://cjcoats.github.io/ioapi/AVAIL.html#build

Thanks! I installed netcdf-3.6.3 instead.

I followed the guidance, but still failed to install.

if [ ! -d /disk2/public/usr_local/ioapi-3.2/Linux2_x86_64ifort ]; then mkdir -p /disk2/public/usr_local/ioapi-3.2/Linux2_x86_64ifort; fi
cd /disk2/public/usr_local/ioapi-3.2/Linux2_x86_64ifort; icc -c -DIOAPI_NCF4=1  -O3 -traceback -xHost                                    -DVERSION='3.2-nocpl' /disk2/public/usr_local/ioapi-3.2/ioapi/bufint3.c
icc: remark #10441: The Intel(R) C++ Compiler Classic (ICC) is deprecated and will be removed from product release in the second half of 2023. The Intel(R) oneAPI DPC++/C++ Compiler (ICX) is the recommended compiler moving forward. Please transition to use this compiler. Use '-diag-disable=10441' to disable this message.
In file included from /disk2/public/usr_local/ioapi-3.2/ioapi/bufint3.c(87):
/disk2/public/usr_local/ioapi-3.2/ioapi/iodecl3.h(100): error: #error directive: "Error compiling:  unsupported architecture"
  #error   "Error compiling:  unsupported architecture"
   ^

/disk2/public/usr_local/ioapi-3.2/ioapi/bufint3.c(155): error: #error directive: "Error compiling envgets.c:  unsupported architecture"
  #error   "Error compiling envgets.c:  unsupported architecture"
   ^

compilation aborted for /disk2/public/usr_local/ioapi-3.2/ioapi/bufint3.c (code 2)
make[1]: *** [bufint3.o] Error 2
make[1]: Leaving directory `/disk2/public/usr_local/ioapi-3.2/ioapi'
make: *** [all] Error 2

I would appreciate it if you would take the time out of your busy schedule to check out my posts and give suggestions.

Basically, that compile-line was:

icc -c -DIOAPI_NCF4=1 -O3 -traceback -xHost -DVERSION='3.2-nocpl /disk2/public/usr_local/ioapi-3.2/ioapi/bufint3.c

whereas instead it should have been something like:

icc -c -DAUTO_ARRAYS=1 -DF90=1 -DFLDMN=1 -DFSTR_L=int -DIOAPI_NO_STDOUT=1 -DAVOID_FLUSH=1 -DBIT32=1 -O3 -traceback -xHost -DVERSION='3.2-nocpl' /home/coats/ioapi-3.2/ioapi/bufint3.c

which in the Makefile came from

...cd ${OBJDIR}; $(CC) -c $(CFLAGS) ...

where in the Makefile above, we have the definitions

DEFINEFLAGS = $(ARCHFLAGS) $(PARFLAGS)

CFLAGS = $(DEFINEFLAGS) $(COPTFLAGS) $(VFLAG)

which then uses the definitions from the INCLUDEd Makeinclude.$BIN:

MFLAGS = -traceback -xHost

COPTFLAGS = -O3 ${MFLAGS}

ARCHFLAGS = \
-DAUTO_ARRAYS=1 \
-DF90=1 -DFLDMN=1 \
-DFSTR_L=int \
-DIOAPI_NO_STDOUT=1 \
-DAVOID_FLUSH=1 -DBIT32=1

What happened to those ARCHFLAGS ??? That is the problem.