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)
and installed completely without issues.
the next step is ( Download and compile the I/O API library from the I/O API home page. 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.
https://www.cmascenter.org/ioapi/ is a broken link. It should be 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 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])on the CMAS site.
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.
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
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)
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
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}
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 (2.8 KB)
The build-instructions for the I/O API are here: https://cjcoats.github.io/ioapi/AVAIL.html#build, or at the matching CMAS-site page.
In particular:
-
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).
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…
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?
What does
env | grep BIN
say?
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
did you source the ASSIGNS file before you did the link-operation?
I just followed 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)
sorry, because of my bad programming.
So the problem was in the programming? I’ve had similar errors but was never abel to resolve them…
@OneStone. Hi
What problem you have?
@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.
With vi or emacs or gedit or kate or nano or (my favorite) nedit or …
Make a backup first, of course.
@cjcoats. I solved it by changing on ASSIGNS.nctox.cmaq.cb05_soa.us12-nc
in line 25.
Thanks.