SMOKEv4.6 installation error

I was trying to install the SMOKE v4.6 in a Linux server. After running the shell script, everything looks fine. But when I try to run the executable, I found the following error

Please verify that both the operating system and the processor support Intel® X87, CMOV, MMX, FXSAVE, SSE, SSE2, SSE3, SSSE3, SSE4_1, SSE4_2, MOVBE, POPCNT, F16C, AVX, FMA, BMI, LZCNT and AVX2 instructions.

I have SMOKE 3.5, 3.7, and 4.5 installed on the same server, and all of them work well. Anything I need to change some configurations?

Hao

Please verify that both the operating system and the processor support … AVX2 instructions.

That says, the executable was compiled for processors at least as recent as Haswell (not Nehalem, Westmere, Sandy Bridge, nor Ivy Bridge). The fact that you are getting this message indicates that you are running on one of these last, pre-Haswell processors.

The obvious fix is to get the source code, and re-compile for your own platform.

Good to know it. Thanks! I have another question, the server I used has a pretty old PGI compiler. I didn’t see recommendation of PGI compiler versions in the manual. Do you have any suggestion?

Hao

If you review the Makeinclude file located at $SMK_HOME/subsys/smoke/src, you will see the setting for PGI compiler. The compilation flags setting is based on the IOAPI
compilation setting.

Unfortunately, PGI defaults to “compile for the hardware the compiler is running on.” (the other supported compilers default to something basic, like Nehalem/SSE2).

BTW, this is documented at https://www.cmascenter.org/ioapi/documentation/all_versions/html/ERRORS.html#instr

Thanks for your suggestion. I used a latest intel compiler (19.0.1.144) to re-install the netCDF 4.1.3 and ioapi_3.2. When I try to compile the SMOKE source code, I met the following error

cd /data/chemstg60/hhe/smoke46/subsys/smoke/src/…/Linux2_x86_64ifort; ifort -auto -warn notruncated_source -Bstatic -static-intel -I/data/chemstg60/hhe/smoke46/subsys/i$
ifort: command line warning #10006: ignoring unknown option ‘-Mextend’
ifort: command line warning #10006: ignoring unknown option ‘-Mbackslash’
cd /data/chemstg60/hhe/smoke46/subsys/smoke/src/…/Linux2_x86_64ifort; ifort -auto -warn notruncated_source -Bstatic -static-intel -I/data/chemstg60/hhe/smoke46/subsys/i$
ifort: command line warning #10006: ignoring unknown option ‘-Mextend’
ifort: command line warning #10006: ignoring unknown option ‘-Mbackslash’
/data/chemstg60/hhe/smoke46/subsys/smoke/src/emmod/modgrdlib.f(457): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: ) ,
DDERR = ((PD - QD)*2 .GT. 1.0D-11( PDPD + QDQD + 1.0D-5 ))
--------------------------------------------------------------------------^
/data/chemstg60/hhe/smoke46/subsys/smoke/src/emmod/modgrdlib.f(579): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: :: ) ( , : * . % + - [ . = * INGRIDR = INGRIDD( DBLE( XX ), DBLE( YY ), NCOLS, NROWS, COL, ROW ) ---------------------------------------------------------------------------^ /data/chemstg60/hhe/smoke46/subsys/smoke/src/emmod/modgrdlib.f(769): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: :: ) ( , : * <IDENTIFIER> <C
IF( NCEL .GT. NDIM ) CALL REPORT_BAD_CELL( NCEL, PNAME, EFLAG )
-------------------------------------------------------------------------------^
/data/chemstg60/hhe/smoke46/subsys/smoke/src/emmod/modgrdlib.f(830): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: :: ) ( , : * <C$
IF( NCEL .GT. NDIM ) CALL REPORT_BAD_CELL( NCEL, PNAME, EFLAG )
-------------------------------------------------------------------------------^
/data/chemstg60/hhe/smoke46/subsys/smoke/src/emmod/modgrdlib.f(55): error #7950: Procedure name in MODULE PROCEDURE statement must be the name of accessible module proced$
MODULE PROCEDURE CONVRTLLD1, CONVRTLLR1, CONVRTLLD2, CONVRTLLR2
------------------------------------------------------------------^
/data/chemstg60/hhe/smoke46/subsys/smoke/src/emmod/modgrdlib.f(50): error #6404: This name does not have a type, and must have an explicit type. [U]
PUBLIC :: CONVRTLL, CONVRTXY, DBLERR, FLTERR, INGRID, LNK2GRD, UNGRIDBV
-----------------------------------------------------------------------^
/data/chemstg60/hhe/smoke46/subsys/smoke/src/emmod/modgrdlib.f(55): error #7407: Unresolved MODULE PROCEDURE specification name. [CONVRT]
MODULE PROCEDURE CONVRTLLD1, CONVRTLLR1, CONVRTLLD2, CONVRTLLR2
------------------------------------------------------------------^
/data/chemstg60/hhe/smoke46/subsys/smoke/src/emmod/modgrdlib.f(453): warning #6178: The return value of this FUNCTION has not been defined. [DDERR]
LOGICAL FUNCTION DDERR( PD, QD )
-------------------------^
/data/chemstg60/hhe/smoke46/subsys/smoke/src/emmod/modgrdlib.f(579): error #6404: This name does not have a type, and must have an explicit type. [RO]
INGRIDR = INGRIDD( DBLE( XX ), DBLE( YY ), NCOLS, NROWS, COL, ROW )
----------------------------------------------------------------------^

Seem like the format is unknown to my environment. Could you please let me know what is the problem? Thanks!

Hao

I have figured out the problem and successfully installed SMOKE v4.6. Please ignore my previous email. Thanks a lot for your help.

1 Like