Since using the PGI Fortran compiler, use the PGI C++ compiler as well.#2
Since using the PGI Fortran compiler, use the PGI C++ compiler as well.#2jdew wants to merge 1 commit intocjcoats:masterfrom
Conversation
|
Jim Dew wrote:
I'm using the pgi 1710 community edition compilers from
pgilinux-2017-1710-x86_64.tar.gz
I needed to make these changes to get this to compile with just the pgi
compilers installed.
--------------------------------------------------------------------------
You can view, comment on, or merge this pull request online at:
#2
Commit Summary
* Since using the PGI Fortran compiler, use the PGI C++ compiler as well.
File Changes
* *M* ioapi/Makeinclude.Linux2_x86_64pg
<https://github.com/cjcoats/ioapi-3.2/pull/2/files#diff-0> (4)
Patch Links:
* https://github.com/cjcoats/ioapi-3.2/pull/2.patch
* https://github.com/cjcoats/ioapi-3.2/pull/2.diff
Unfortunately, that doesn't work either. The usual UNIX industry
standard is that the module-search directive should be
-I<directory>
with no space (a space would be a directive "delete all current
module-search directives", which would subsequently be followed
by new module-search directives).
PGI wants
-module <directory>
_with" a space. And I can't make both of these work with
"make"-variables, if the quoting isn't there.
A little further experimentation shows that single quotes (')
are what is needed instead of double quotes ("):
MODI = '-module '
(where note the extra blank before the second quote). The use
of a backslash to escape the trailing blank (MODI = -module\ )
does NOT work ;-(
For the "m3tools" case, the modules are in the current
build-directory already, so the specification of an additional
module search directory is not needed. That, however, is not
the case for various other software...
Thanks for pointing out the issue. I'll correct it soon,
and credit you for pointing it out.
…--
Carlie J. Coats, Jr., Ph.D. cjcoats@email.unc.edu
Senior Software Engineer I/O API Author/Maintainer
Center for Environmental Modeling for Policy Development,
UNC Institute for the Environment www.ie.unc.edu
100 Europa Dr., Suite 490 Rm 4051 / Campus Box 1105 919.843.5951
Chapel Hill, NC 27599-1105 Fax 919.966.9920
|
|
Done, for _all_ of the PGI-compiler "Makeinclude" files,
ioapi/Makeinclude.Linux2_x86_64pg | 2 +-
ioapi/Makeinclude.Linux2_x86_64pg_360 | 2 +-
ioapi/Makeinclude.Linux2_x86_64pg_365 | 2 +-
ioapi/Makeinclude.Linux2_x86_64pg_gcc_nomp | 2 +-
ioapi/Makeinclude.Linux2_x86_64pg_medium | 2 +-
ioapi/Makeinclude.Linux2_x86_64pg_pgcc_nomp | 2 +-
ioapi/Makeinclude.Linux2_x86_64pgmpi | 2 +-
ioapi/Makeinclude.Linux2_x86pg | 2 +-
ioapi/Makeinclude.Linux2_x86pg_gcc_mp | 2 +-
ioapi/Makeinclude.Linux2_x86pg_gcc_nomp | 2 +-
ioapi/Makeinclude.Linux2_x86pg_pgcc_mp | 2 +-
ioapi/Makeinclude.Linux2_x86pg_pgcc_nomp | 2 +-
and pushed both to "master" and to the CMAS tar-ball site.
…--
Carlie J. Coats, Jr., Ph.D. cjcoats@email.unc.edu
Senior Software Engineer I/O API Author/Maintainer
Center for Environmental Modeling for Policy Development,
UNC Institute for the Environment www.ie.unc.edu
100 Europa Dr., Suite 490 Rm 4051 / Campus Box 1105 919.843.5951
Chapel Hill, NC 27599-1105 Fax 919.966.9920
|
|
This doesn't solve the issue though. On a ubuntu xenial lts container I just created, added the git and build-essential packages and the pgi compilers. I get: Removing the quotes let it compile again. White space after the -module on the variable in the makefile is maintained I guess the cpp compiler isn't used at all? |
I'm using the pgi 1710 community edition compilers from pgilinux-2017-1710-x86_64.tar.gz
I needed to make these changes to get this to compile with just the pgi compilers installed.