Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.
7944 Discussions

missing pragma, seems like a duplicate of DPD200173285

stephenjbarr
Beginner
473 Views
Hello,

I am new to Intel Compilers (just purchased yesterday). I ran into an error that is exactly described in DPD200173285. I had been previously using my free trial compiler, and the one I purchased is downloading now. My question is, will the new compiler have the fix, or is there something separate that I have to download to get the update. I suppose the free trial compiler was packaged pre-update 7.

Thanks,
Stephen
0 Kudos
7 Replies
stephenjbarr
Beginner
473 Views
I just checked the README that comes with the compiler I am currently using, and it is Update 6. My new Parallel Studio is downloading now, and that seems to be at Update 7, so this should work.

Thanks,
Stephen
0 Kudos
stephenjbarr
Beginner
473 Views
I just installed my new Parallel Studio.

stevejb@telegraph:/opt/intel$ icpc --version
icpc (ICC) 12.1.0 20111011
Copyright (C) 1985-2011 Intel Corporation. All rights reserved.

But, I am still getting the same pragma error.

stevejb@telegraph:~/myhg/is-solver$ icpc -I $EPATH -DMKL_ILP64 -I$MKLROOT/include sjb-test-inplace.cpp -o sjb-test-inplace -L$MKLROOT/lib/intel64 -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -openmp -lpthread -lm -O3
/home/stevejb/myhg/is-solver/Eigen/src/Core/util/XprHelper.h(122): internal error: assertion failed: find_assoc_pragma: pragma not found (shared/cfe/edgcpfe/il.c, line 19439)

row_major_bit = Options&RowMajor ? RowMajorBit : 0,
^

compilation aborted for sjb-test-inplace.cpp (code 4)


Is this a regression, or am I doing something wrong?
0 Kudos
stephenjbarr
Beginner
473 Views
To eliminate the possibility of it being a bug in my app, I did a test compile with gcc and that compiled and ran without problems.

g++ -I $EPATH -DMKL_ILP64 sjb-test-inplace.cpp -o sjb-test-inplace-gpp -DMKL_ILP64 -m64 -I$MKLROOT/include -L$MKLROOT/lib/intel64 -lmkl_intel_ilp64 -lmkl_gnu_thread -lmkl_core -fopenmp -lpthread -lm -O3
0 Kudos
SergeyKostrov
Valued Contributor II
473 Views
Quoting stephenjbarr
...
row_major_bit = Options&RowMajor ? RowMajorBit : 0,
...

Is this a regression, or am I doing something wrong?


I would try to add brackets andprefixesto some variables. For example, in case of implementation of
some method of some C++ class:
...
row_major_bit = (( m_Options & m_RowMajor )? m_RowMajorBit : 0 ),
...
That's awell know problem for all compilers when a variable is named using a reserved word.

0 Kudos
Georg_Z_Intel
Employee
473 Views
Hello,

you're still using Intel Composer XE 2011 Update 6 (aka 12.1.0.XXXX). The problem was fixed with update 7 (12.1.1.XXXX) as you already mentioned correctly.

Did you install to the same location as update 6?
Listing the entries of the "composer_xe_2011_sp1" directory should show you sym-links to "composer_xe_2011_sp1.7.XXXX" directory. If they're still pointing to "composer_xe_2011_sp1.6.XXXX" the installation was not correct; maybe you installed to a different location?

Also make sure you sourced the correct "compilervars.sh" script before using the compiler:
$ /intel/bin/compilervars.sh [intel64|ia32]

Installation of newer update releases always update the sym-links and using the above "compilervars.sh" script (with same location!) will use the latest version then.
Of course, there are other "compilervars.sh"' scripts in sub-directories for each update version available. You can use those instead to explicitly use an older version.

Best regards,

Georg Zitzlsberger
0 Kudos
stephenjbarr
Beginner
473 Views
Dear Georg,

I tried it on a different machine.

icpc -I $EPATH -DMKL_ILP64 -I$MKLROOT/include solve_isA.cpp -o solve_isA-icpc -L$MKLROOT/lib/intel64 -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -openmp -lpthread -lm -O3
/home/ec2-user/is-solver/Eigen/src/Core/util/XprHelper.h(122): internal error: assertion failed: find_assoc_pragma: pragma not found (shared/cfe/edgcpfe/il.c, line 19439)

row_major_bit = Options&RowMajor ? RowMajorBit : 0,
^

compilation aborted for solve_isA.cpp (code 4)
[ec2-user@ip-10-58-143-91 is-solver]$ icpc --version
icpc (ICC) 12.1.0 20111011
Copyright (C) 1985-2011 Intel Corporation. All rights reserved.

[ec2-user@ip-10-58-143-91 is-solver]$ echo $MKLROOT
/opt/intel/composer_xe_2011_sp1.7.256/mkl

So, it must be a problem with the library I am using. I will contact them as well.
0 Kudos
Georg_Z_Intel
Employee
473 Views
Hello,

that's an internal compiler error and not the fault of any library.

I've just looked at our defect database and found DPD200173397 which describes your problem better than DPD200173285. The former has been fixed with Intel Composer XE 2011 Update 9. Please use this update version.

Small correction from above:
If you used "--version" for update 7 we had a bug that it was still printing "12.1.0" but should be "12.1.1" instead. If you used option "-V" the version number is correctly printed. Again, this was only for update 7 and option "--version". This is why I erroneously assumed you were still using update 6. Sorry for that.

Best regards,

Georg Zitzlsberger
0 Kudos
Reply