# Smoke compiling symbolic link

**URL:** <https://forum.cmascenter.org/t/smoke-compiling-symbolic-link/2344>\
**Category:** SMOKE\
**Created:** [May 17, 2021, 11:05am UTC](https://forum.cmascenter.org/t/smoke-compiling-symbolic-link/2344 "2021-05-17T11:05:45Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![Nadia](https://avatars.discourse-cdn.com/v4/letter/n/f19dbf/32.png) [@Nadia](https://forum.cmascenter.org/u/Nadia)\
**Post date:** [May 17, 2021, 11:05am UTC](https://forum.cmascenter.org/t/smoke-compiling-symbolic-link/2344/1 "2021-05-17T11:05:45Z")

</div>

Hi,  
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 ?

---

<div class="post-metadata">

**Author:** ![cjcoats](https://avatars.discourse-cdn.com/v4/letter/c/ac8455/32.png) [@cjcoats](https://forum.cmascenter.org/u/cjcoats)\
**Post date:** [May 17, 2021, 12:51pm UTC](https://forum.cmascenter.org/t/smoke-compiling-symbolic-link/2344/2 "2021-05-17T12:51:03Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Nadia](https://avatars.discourse-cdn.com/v4/letter/n/f19dbf/32.png) [@Nadia](https://forum.cmascenter.org/u/Nadia)\
**Post date:** [May 18, 2021, 5:52am UTC](https://forum.cmascenter.org/t/smoke-compiling-symbolic-link/2344/3 "2021-05-18T05:52:01Z")

</div>

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

```auto
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
```

---

<div class="post-metadata">

**Author:** ![cjcoats](https://avatars.discourse-cdn.com/v4/letter/c/ac8455/32.png) [@cjcoats](https://forum.cmascenter.org/u/cjcoats)\
**Post date:** [May 18, 2021, 12:04pm UTC](https://forum.cmascenter.org/t/smoke-compiling-symbolic-link/2344/4 "2021-05-18T12:04:03Z")

</div>

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 i_oapi-3.2/ioapi/Makeinclude.Linux2\_ia64gfort_ .

---

<div class="post-metadata">

**Author:** ![Nadia](https://avatars.discourse-cdn.com/v4/letter/n/f19dbf/32.png) [@Nadia](https://forum.cmascenter.org/u/Nadia)\
**Post date:** [May 18, 2021, 12:52pm UTC](https://forum.cmascenter.org/t/smoke-compiling-symbolic-link/2344/5 "2021-05-18T12:52:25Z")

</div>

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…

---

<div class="post-metadata">

**Author:** ![cjcoats](https://avatars.discourse-cdn.com/v4/letter/c/ac8455/32.png) [@cjcoats](https://forum.cmascenter.org/u/cjcoats)\
**Post date:** [May 18, 2021, 1:09pm UTC](https://forum.cmascenter.org/t/smoke-compiling-symbolic-link/2344/6 "2021-05-18T13:09:44Z")

</div>

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

```
.f.o:
	cd ${OBJDIR}; ${FC} ${FFLAGS} -c $<

```

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

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

```

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

---

<div class="post-metadata">

**Author:** ![Nadia](https://avatars.discourse-cdn.com/v4/letter/n/f19dbf/32.png) [@Nadia](https://forum.cmascenter.org/u/Nadia)\
**Post date:** [May 18, 2021, 1:29pm UTC](https://forum.cmascenter.org/t/smoke-compiling-symbolic-link/2344/7 "2021-05-18T13:29:19Z")

</div>

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  
Linux5\_x86\_64gfort  
-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

---

<div class="post-metadata">

**Author:** ![cjcoats](https://avatars.discourse-cdn.com/v4/letter/c/ac8455/32.png) [@cjcoats](https://forum.cmascenter.org/u/cjcoats)\
**Post date:** [May 18, 2021, 1:37pm UTC](https://forum.cmascenter.org/t/smoke-compiling-symbolic-link/2344/8 "2021-05-18T13:37:05Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Nadia](https://avatars.discourse-cdn.com/v4/letter/n/f19dbf/32.png) [@Nadia](https://forum.cmascenter.org/u/Nadia)\
**Post date:** [May 18, 2021, 1:45pm UTC](https://forum.cmascenter.org/t/smoke-compiling-symbolic-link/2344/9 "2021-05-18T13:45:07Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Nadia](https://avatars.discourse-cdn.com/v4/letter/n/f19dbf/32.png) [@Nadia](https://forum.cmascenter.org/u/Nadia)\
**Post date:** [May 19, 2021, 7:54am UTC](https://forum.cmascenter.org/t/smoke-compiling-symbolic-link/2344/10 "2021-05-19T07:54:34Z")

</div>

Hi,  
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?

---

<div class="post-metadata">

**Author:** ![shayamila.gamage](https://avatars.discourse-cdn.com/v4/letter/s/f6c823/32.png) [@shayamila.gamage](https://forum.cmascenter.org/u/shayamila.gamage)\
**Post date:** [July 30, 2021, 7:09pm UTC](https://forum.cmascenter.org/t/smoke-compiling-symbolic-link/2344/11 "2021-07-30T19:09:15Z")

</div>

Hi Nadia,

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

Sham

---

<div class="post-metadata">

**Author:** ![atmos007](https://avatars.discourse-cdn.com/v4/letter/a/ac91a4/32.png) [@atmos007](https://forum.cmascenter.org/u/atmos007)\
**Post date:** [October 18, 2021, 12:48pm UTC](https://forum.cmascenter.org/t/smoke-compiling-symbolic-link/2344/12 "2021-10-18T12:48:46Z")

</div>

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
