Smoke compiling symbolic link

I am trying to compile smoke. I already installed IOAPI library with gfortran compiler. I linked my ioapi directory and my BIN directory to subsys/ioapi library and I changed my Assigns file BIN directory to Linux2_x86_64gfortran. when I try to make src directory I received following error.
gfortran: error: 132: No such file or directory

How should I correct it ?

It would be very helpful if we had more context: please give the entire text of both the command that generated the problem as well as the text of the error message.

sure, thank you.
After I install IOALP3.2 I created symbolic link as:

ln -s ${HOME}/ioapi-3.2/ioapi  $SMK_HOME/subsys/ioapi/ioapi
ln -s ${HOME}/ioapi-3.2/${BIN} $SMK_HOME/subsys/ioapi/${BIN}

and my BIN in IOAPI is Linux5_x86_64gfort
and then I fallowed the structure as:
% source ASSIGNS.nctox.cmaq.cb05_soa.us12-nc
NOTE: AUTO_DELETE script setting is not set.
      Default is N to not delete I/O API intermediate and output files
% cd $SMKROOT/src/
% make
cd /home/nadia/smoke/subsys/smoke/src/../Linux5_x86_64gfort;  gfortran -I/home/nadia/smoke/subsys/ioapi/ioapi/fixed_src -I/home/nadia/smoke/subsys/smoke/src/inc -I/home/nadia/smoke/subsys/ioapi/Linux5_x86_64gfort                 -extend-source 132 -zero                          -O3 -ffast-math -funroll-loops -m64   -DIOAPI_NCF4=1 -DAUTO_ARRAYS=1 -DF90=1 -DFLDMN=1 -DFSTR_L=int -DIOAPI_NO_STDOUT=1 -DNEED_ARGS=1 -c /home/nadia/smoke/subsys/smoke/src/emmod/modar2pt.f
gfortran: error: 132: No such file or directory
make: *** [Makefile:349: modar2pt.o] Error 1

First, check that your ASSIGNS is not messing up your environment-variable BIN –
maybe do an “echo $BIN” after the “source ASSIGNS.nctox.cmaq.cb05_soa.us12-nc” – the compile-flags you’re showing look much more like flags for ifort than they do for gfortran.

In this case, the compiler is seeing that -extend-source 132 as a combination of an gfortran-unknown flag -extend-source followed by a file named 132 to be compiled. And of course you don't have any file named 132` …

gfortran uses -ffixed-line-length-132 to specify SMOKE’s non-Standard source format, as you’ll see from ioapi-3.2/ioapi/Makeinclude.Linux2_ia64gfort .

I checked BIN after sourcing the assign file and it is correct.
the only change I have made in my assign file is BIN definition. should I change anything else?
My system compiler is gfortran and I compiled IOAPI library with this compiler.So if gfortran specify my smoke as a non standard source format, how can I make him to consider it standard?
should I change my compiler and Install IOAPI again? seems difficult…

As a diagnostic, save a copy of the SMOKE Makefile, and then edit the original by changing the line

	cd ${OBJDIR};  ${FC} ${FFLAGS} -c $<

to the following (making sure that the indented line still begins with a TAB character):

	echo ${BIN}; \
ls -l ${IODIR}/Makeinclude.${BIN}; \
cd ${OBJDIR};  ${FC} ${FFLAGS} -c $<

and see whether the BIN and Makeinclude.${BIN} are what you expect.

I change Make file as you mentioned and the following is the error I received:
% make
echo Linux5_x86_64gfort;
ls -l /home/nadia/smoke/subsys/ioapi/ioapi/Makeinclude.Linux5_x86_64gfort;
cd /home/nadia/smoke/subsys/smoke/src/…/Linux5_x86_64gfort; gfortran -I/home/nadia/smoke/subsys/ioapi/ioapi/fixed_src -I/home/nadia/smoke/subsys/smoke/src/inc -I/home/nadia/smoke/subsys/ioapi/Linux5_x86_64gfort -extend-source 132 -zero -O3 -ffast-math -funroll-loops -m64 -DIOAPI_NCF4=1 -DAUTO_ARRAYS=1 -DF90=1 -DFLDMN=1 -DFSTR_L=int -DIOAPI_NO_STDOUT=1 -DNEED_ARGS=1 -c /home/nadia/smoke/subsys/smoke/src/emmod/modar2pt.f
-rw-rw-r-- 1 nadia nadia 1542 May 16 14:43 /home/nadia/smoke/subsys/ioapi/ioapi/Makeinclude.Linux5_x86_64gfort
gfortran: error: 132: No such file or directory
make: *** [Makefile:349: modar2pt.o] Error 1

a quick reminder: my BIN is Linux5_x86_64gfort…
so I think it should be ok

OK, that then says that your /home/nadia/smoke/subsys/ioapi/ioapi/Makeinclude.Linux5_x86_64gfort
is corrupt. You should re-pull it from, GitHub and then build everything again.

this " /home/nadia/smoke/subsys/ioapi/ioapi/Makeinclude.Linux5_x86_64gfort"file is linked to my IOAPI library. so if it is corrupt then my IOAPI library has problem. so I should re-install it . yes?
technically I have not change this file in the process of ioapi installation so I am not sure how is it corrupted.

I install IOAPI library again and try to compile smoke. I received the same error. Is there something else that can help me?
should I try other version of the Smoke? maybe the one that is for gfortran?

Hi Nadia,

I ran into the same issue. Can you please let me know how you fixed this?
Thanks alot.


I encountered the same question as Nadia and found the solution as follow:
go into the directory: **/SMOKE/subsys/smoke/src/
open the file Makeinclude, comment out the line 48 and 53, and uncomment line 49 and 54