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

xiar: executing 'ar'

Pat__Nikolas
Beginner
2,775 Views

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.

Regards,

Nikolas

0 Kudos
5 Replies
GouthamK_Intel
Moderator
2,775 Views

Hi Nikolas,

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. 

https://software.intel.com/content/www/us/en/develop/articles/using-intel-c-compiler-for-embedded-system.html

https://software.intel.com/en-us/forums/intel-many-integrated-core/topic/534013

 

 

Thanks,

Goutham

0 Kudos
Pat__Nikolas
Beginner
2,775 Views

Hi Goutham,

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.

 

Thank you,

Nikolas

0 Kudos
GouthamK_Intel
Moderator
2,775 Views

Hi Nikolas,

"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.

Example:

cmake -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc -DCMAKE_Fortran_COMPILER=ifort ..

 

Thanks

Goutham

 

0 Kudos
GouthamK_Intel
Moderator
2,775 Views

Hi Nikolas,

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.

 

Thanks,

Goutham

0 Kudos
GouthamK_Intel
Moderator
2,775 Views

Hi Nikolas,

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.

 

Thanks

Goutham

0 Kudos
Reply