Hi everyone, I am having the title's warning while I compile a scientific computing software stack using icc/ifort/impi 19.0.5. I explicitely specify in my cmake configuration step to use xiar but apparently it is still using ar instead. Surprisingly my google search only returned two similar posts from 2011 and 2005 (!!!), so please if anyone has any further information on where to look it will be highly appreciated.
Thanks for reaching out to us!
Could you please provide your CMake configuration file where you are specifying xiar. If possible provide steps to reproduce and error logs, so that we will be able to investigate more on your issue.
Please refer to the below links for more details about xiar, which might help you.
at first I was using
CC=icc CXX=icpc FC=ifort cmake ..
and I was expecting cmake to choose all the required related intel tools instead of their gnu counterparts. As I had these warnings abour ar / ld being used, I found the CMAKE_AR option so I did
CC=icc CXX=icpc FC=ifort ccmake .. -DCMAKE_AR=/opt/intel/psxe/2019.5/compilers_and_libraries_2019.5.281/linux/bin/intel64/xiar
After your reply I also specified the LD (which I stupidly didn't think of before...) like this:
CC=icc CXX=icpc FC=ifort ccmake .. -DCMAKE_LINKER=/opt/intel/psxe/2019.5/compilers_and_libraries_2019.5.281/linux/bin/intel64/xild -DCMAKE_AR=/opt/intel/psxe/2019.5/compilers_and_libraries_2019.5.281/linux/bin/intel64/xiar
Now I still get this message:
xiar: executing 'ar'
and I also see this warning:
ipo: warning #11062: libxios.a is an archive, but has no symbols (this can happen if ar is used where xiar is needed) ipo: warning #11062: libxios.a is an archive, but has no symbols (this can happen if ar is used where xiar is needed) ipo: warning #11062: libxios.a is an archive, but has no symbols (this can happen if ar is used where xiar is needed) ipo: warning #11062: libxios.a is an archive, but has no symbols (this can happen if ar is used where xiar is needed)
which sounds bad and I would like to fix but I can not think of where to look.
"xiar” is the “ar” of the Intel compiler. It will perform some optimizations among the multiple archive files (when possible) and then invoke the GNU “ar” automatically to archive all the files to one library.
However, If possible, could you please share the CMakelists.txt file which you are using. So that we will be able to investigate more about this issue.
Meanwhile, could you please try setting icc,icpc,ifort using -DCMAKE_XX_COMPILER along with cmake command as it is the recommended way to run cmake with the appropriate CMAKE_<LANG>_COMPILER defined.
cmake -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc -DCMAKE_Fortran_COMPILER=ifort ..
Could you please let us know the status of the issue you are facing. Also please share the CMakelists.txt file which you are using if the issue is not resolved. So that we will be able to investigate more about this issue.
I hope the suggestions provided by us helped in resolving your issue. We are closing this thread for now.
Please free to raise a new thread in case of any further issues.