# Compiling SMOKE for UNIX

**URL:** <https://forum.cmascenter.org/t/compiling-smoke-for-unix/1854>\
**Category:** SMOKE\
**Created:** [October 21, 2020, 9:50am UTC](https://forum.cmascenter.org/t/compiling-smoke-for-unix/1854 "2020-10-21T09:50:04Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![farzad-faghihi](https://avatars.discourse-cdn.com/v4/letter/f/e0b2c6/32.png) [@farzad-faghihi](https://forum.cmascenter.org/u/farzad-faghihi)\
**Post date:** [October 21, 2020, 9:50am UTC](https://forum.cmascenter.org/t/compiling-smoke-for-unix/1854/1 "2020-10-21T09:50:04Z")

</div>

Hi. I am using ubuntu 20.04 LTS and I followed this chapter to install SMOKE ([https://www.cmascenter.org/smoke/documentation/4.7/html/ch12s03.html](https://www.cmascenter.org/smoke/documentation/4.7/html/ch12s03.html))  
and installed completely without issues.  
the next step is **(** Download and compile the I/O API library from the [I/O API home page](https://www.cmascenter.org/ioapi/). The I/O API can be installed in `$SMK_HOME` /subsys/ioapi\*\*)\*\*  
but I saw ioapi-3.2 on that path and their directories was there.  
My question is do I need to install ioapi-3.2 (like run configure or make or make install)or not and it is installed automatically by following the steps in section 12.3?  
Thanks.

---

<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:** [October 21, 2020, 12:18pm UTC](https://forum.cmascenter.org/t/compiling-smoke-for-unix/1854/2 "2020-10-21T12:18:17Z")

</div>

[https://www.cmascenter.org/ioapi/](https://www.cmascenter.org/ioapi/) is a broken link. It should be [https://www.cmascenter.org/ioapi/documentation/all\_versions/html/AA.html](https://www.cmascenter.org/ioapi/documentation/all_versions/html/AA.html)

The I/O API installation instructions are at [https://cjcoats.github.io/ioapi/AVAIL.html#build](https://cjcoats.github.io/ioapi/AVAIL.html#build) or the matching page [[https://www.cmascenter.org/ioapi/documentation/all\_versions/html/AVAIL.html#build](https://www.cmascenter.org/ioapi/documentation/all_versions/html/AVAIL.html#build)]]([https://www.cmascenter.org/ioapi/documentation/all\_versions/html/AVAIL.html#build](https://www.cmascenter.org/ioapi/documentation/all_versions/html/AVAIL.html#build)])on the CMAS site.

---

<div class="post-metadata">

**Author:** ![farzad-faghihi](https://avatars.discourse-cdn.com/v4/letter/f/e0b2c6/32.png) [@farzad-faghihi](https://forum.cmascenter.org/u/farzad-faghihi)\
**Post date:** [October 21, 2020, 1:54pm UTC](https://forum.cmascenter.org/t/compiling-smoke-for-unix/1854/3 "2020-10-21T13:54:43Z")

</div>

I knew these sites exist, my question is something else.  
in section 12.3 of smoke documentation, the second step is to download and compile the I/O API library on the recommending path (`$SMK_HOME` /subsys/ioapi ).  
but I/O API lib exists in the path.  
what should I do?  
It means ioapi has installed completely and I do not need to install it  
or it is just a package of ioapi that it has just extracted.

---

<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:** [October 21, 2020, 2:01pm UTC](https://forum.cmascenter.org/t/compiling-smoke-for-unix/1854/4 "2020-10-21T14:01:01Z")

</div>

Sorry for misunderstanding your question.

In the SMOKE _src_ directory is a file _Makeinclude_ that sets various options for compiling SMOKE. In it, there is a _make_-variable `IOBASE`. Edit the file to set that variable to the installation directory for the I/O API. In my case, for example, I’ve installed the I/O API under my home directory for use by “evrything”, so that I have

`IOBASE = ${HOME}/ioapi-3.2`

---

<div class="post-metadata">

**Author:** ![farzad-faghihi](https://avatars.discourse-cdn.com/v4/letter/f/e0b2c6/32.png) [@farzad-faghihi](https://forum.cmascenter.org/u/farzad-faghihi)\
**Post date:** [October 23, 2020, 4:37pm UTC](https://forum.cmascenter.org/t/compiling-smoke-for-unix/1854/6 "2020-10-23T16:37:18Z")

</div>

Thanks a lot. 🙃 🙏 🙏  
I have another question about creating the symbolic link that is written on this page ([https://www.cmascenter.org/smoke/documentation/4.7/html/ch12s04.html](https://www.cmascenter.org/smoke/documentation/4.7/html/ch12s04.html))  
after downloading and installing I/O API lib. what symbolic link did you create for yourself with regarding you installed I/O API lib in `${HOME}/ioapi-3.2`

---

<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:** [October 23, 2020, 5:44pm UTC](https://forum.cmascenter.org/t/compiling-smoke-for-unix/1854/7 "2020-10-23T17:44:33Z")

</div>

`BIN` is probably `Linux2_x86_64ifort`. If not, you will need to adjust  
your _ASSIGNS_ file. Assuming your I\*/O API is installed at base  
directory _${HOME}/ioapi-3.2_:

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

---

<div class="post-metadata">

**Author:** ![farzad-faghihi](https://avatars.discourse-cdn.com/v4/letter/f/e0b2c6/32.png) [@farzad-faghihi](https://forum.cmascenter.org/u/farzad-faghihi)\
**Post date:** [November 1, 2020, 11:52am UTC](https://forum.cmascenter.org/t/compiling-smoke-for-unix/1854/8 "2020-11-01T11:52:54Z")

</div>

I installed ioapi-3.2-gompi-nocpl by EasyBuild yesterday and I changed IOBASE from Makeinclude.  
now I run `ln -S /home/farzad/.local/easybuild/software/ioapi/3.2-2020111-gompi-2020a/${BIN} $SMK_HOME/subsys/ioapi/${BIN}`  
but I received this error BIN: Undefined variable.  
[tree-of-ioapi3.2-EasyBuild.txt](https://forum.cmascenter.org/uploads/short-url/vvpritAKyEsXX3XcxpW313kHieE.txt) (2.8 KB)

---

<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:** [November 1, 2020, 12:17pm UTC](https://forum.cmascenter.org/t/compiling-smoke-for-unix/1854/9 "2020-11-01T12:17:19Z")

</div>

The build-instructions for the I/O API are here: [https://cjcoats.github.io/ioapi/AVAIL.html#build](https://cjcoats.github.io/ioapi/AVAIL.html#build), or at the matching CMAS-site page.

In particular:

1. _setenv BIN …_, followed by one of the make commands below, as appropriate for your configuration(s).  
Alternatively, _make BIN=_ (where note that a command-line variable-definition overrides the environment variable definition).

---

<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:** [November 1, 2020, 12:35pm UTC](https://forum.cmascenter.org/t/compiling-smoke-for-unix/1854/10 "2020-11-01T12:35:10Z")

</div>

On second thought, you’re talking about _running_ SMOKE. See the SMOKE instructions, but generally your ASSIGNS file is responsible for setting this environment variable…

---

<div class="post-metadata">

**Author:** ![farzad-faghihi](https://avatars.discourse-cdn.com/v4/letter/f/e0b2c6/32.png) [@farzad-faghihi](https://forum.cmascenter.org/u/farzad-faghihi)\
**Post date:** [November 1, 2020, 12:59pm UTC](https://forum.cmascenter.org/t/compiling-smoke-for-unix/1854/11 "2020-11-01T12:59:46Z")

</div>

I run this source `ASSIGNS.nctox.cmaq.cb05_soa.us12-nc`  
I received this:  
NOTE: AUTO\_DELETE script setting is not set.  
Default is N to not delete I/O API intermediate and output files  
Is there any problem?

---

<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:** [November 1, 2020, 1:07pm UTC](https://forum.cmascenter.org/t/compiling-smoke-for-unix/1854/12 "2020-11-01T13:07:49Z")

</div>

What does

_env | grep BIN_

say?

---

<div class="post-metadata">

**Author:** ![farzad-faghihi](https://avatars.discourse-cdn.com/v4/letter/f/e0b2c6/32.png) [@farzad-faghihi](https://forum.cmascenter.org/u/farzad-faghihi)\
**Post date:** [November 1, 2020, 1:12pm UTC](https://forum.cmascenter.org/t/compiling-smoke-for-unix/1854/13 "2020-11-01T13:12:41Z")

</div>

EBVERSIONBINUTILS=2.34  
EBROOTBINUTILS=/home/farzad/.local/easybuild/software/binutils/2.34-GCCcore-9.3.0  
EBDEVELBINUTILS=/home/farzad/.local/easybuild/software/binutils/2.34-GCCcore-9.3.0/easybuild/tools-binutils-2.34-GCCcore-9.3.0-easybuild-devel  
BIN=Linux2\_x86\_64ifort  
SMK\_BIN=/home/farzad/SMK\_HOME/subsys/smoke/Linux2\_x86\_64ifort

---

<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:** [November 1, 2020, 1:14pm UTC](https://forum.cmascenter.org/t/compiling-smoke-for-unix/1854/14 "2020-11-01T13:14:30Z")

</div>

did you source the ASSIGNS file **before** you did the link-operation?

---

<div class="post-metadata">

**Author:** ![farzad-faghihi](https://avatars.discourse-cdn.com/v4/letter/f/e0b2c6/32.png) [@farzad-faghihi](https://forum.cmascenter.org/u/farzad-faghihi)\
**Post date:** [November 1, 2020, 1:36pm UTC](https://forum.cmascenter.org/t/compiling-smoke-for-unix/1854/15 "2020-11-01T13:36:53Z")

</div>

I just followed [https://www.cmascenter.org/smoke/documentation/4.7/html/ch12s03.html](https://www.cmascenter.org/smoke/documentation/4.7/html/ch12s03.html)  
and installed ioapi3.2, I changed IOBASE, created two symbolic links that the second one had an error and I changed my ASSIGNS file(Linux2\_x86\_64ifort to Linux2\_x86\_64gfort)

---

<div class="post-metadata">

**Author:** ![farzad-faghihi](https://avatars.discourse-cdn.com/v4/letter/f/e0b2c6/32.png) [@farzad-faghihi](https://forum.cmascenter.org/u/farzad-faghihi)\
**Post date:** [November 1, 2020, 1:58pm UTC](https://forum.cmascenter.org/t/compiling-smoke-for-unix/1854/16 "2020-11-01T13:58:03Z")

</div>

sorry, because of my bad programming.

---

<div class="post-metadata">

**Author:** ![OneStone](https://avatars.discourse-cdn.com/v4/letter/o/e19b73/32.png) [@OneStone](https://forum.cmascenter.org/u/OneStone)\
**Post date:** [November 4, 2020, 9:10am UTC](https://forum.cmascenter.org/t/compiling-smoke-for-unix/1854/17 "2020-11-04T09:10:34Z")

</div>

So the problem was in the programming? I’ve had similar errors but was never abel to resolve them…

---

<div class="post-metadata">

**Author:** ![farzad-faghihi](https://avatars.discourse-cdn.com/v4/letter/f/e0b2c6/32.png) [@farzad-faghihi](https://forum.cmascenter.org/u/farzad-faghihi)\
**Post date:** [November 4, 2020, 10:38am UTC](https://forum.cmascenter.org/t/compiling-smoke-for-unix/1854/18 "2020-11-04T10:38:11Z")

</div>

@OneStone. Hi  
What problem you have?

---

<div class="post-metadata">

**Author:** ![farzad-faghihi](https://avatars.discourse-cdn.com/v4/letter/f/e0b2c6/32.png) [@farzad-faghihi](https://forum.cmascenter.org/u/farzad-faghihi)\
**Post date:** [November 4, 2020, 10:42am UTC](https://forum.cmascenter.org/t/compiling-smoke-for-unix/1854/19 "2020-11-04T10:42:35Z")

</div>

@cjcoats. Hi again. 🙂

How can I adjust my ASSIGNS file to change `Linux2_x86_64ifort` to `Linux2_x86_64gfort`?

Because I have a problem to create this symbolic link  
`ln -s ${HOME}/ioapi-3.2/${BIN} $SMK_HOME/subsys/ioapi/${BIN}`

This `env | grep BIN` says `BIN=Linux2_x86_64gfort`

Could you help me?  
Thanks and Best regards.

---

<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:** [November 4, 2020, 11:57am UTC](https://forum.cmascenter.org/t/compiling-smoke-for-unix/1854/20 "2020-11-04T11:57:42Z")

</div>

With _vi_ or _emacs_ or _gedit_ or _kate_ or _nano_ or (my favorite) _nedit_ or …

Make a backup first, of course.

---

<div class="post-metadata">

**Author:** ![farzad-faghihi](https://avatars.discourse-cdn.com/v4/letter/f/e0b2c6/32.png) [@farzad-faghihi](https://forum.cmascenter.org/u/farzad-faghihi)\
**Post date:** [November 4, 2020, 12:28pm UTC](https://forum.cmascenter.org/t/compiling-smoke-for-unix/1854/21 "2020-11-04T12:28:06Z")

</div>

@cjcoats. I solved it by changing on `ASSIGNS.nctox.cmaq.cb05_soa.us12-nc` in line 25.  
Thanks.

[Next page](https://forum.cmascenter.org/t/compiling-smoke-for-unix/1854.md?page=2)
