- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I am trying to create a static library that uses mic offload feature, but run into a xlib error as below:
BuildVersionIncrement: BuildVersionIncrement disabled.
1>------ Build started: Project: iaf_core_mic, Configuration: Release x64 ------
1>Build started 1/6/2014 11:07:40 AM.
1>InitializeBuildStatus:
1> Touching "x64\Release\iaf_core_mic.unsuccessfulbuild".
1>MessageBuildingWithCompiler:
1> Building with Intel(R) C++ Compiler XE 14.0
1>ClCompile:
1> ***** ClCompile (x64 - Intel C++)
1> img_base.cpp
1> MIC command line:
1> icc.exe -c -g -O3 -D __INTEL_COMPILER=1400 -D WIN64 -D NDEBUG -D _LIB -D _UNICODE -D UNICODE -fstack-security-check -frtti- -Kc++ -fPIC -IC:\IAFW\ATTDPFIASDK\IASkunkWorks\XeonPhiWorks\ipp-8.0gold-mic\include -c -o x64\Release\img_baseMIC.o
1>Lib:
1> C:/Program Files/Intel/MPSS/x86_64-mpsssdk-linux/usr/bin/k1om-mpss-linux\k1om-mpss-linux-ar.exe: x64Releaseimg_baseMIC.o: No such file or directory
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\x64\PlatformToolsets\Intel C++ Compiler XE 14.0\Microsoft.Cpp.x64.Intel C++ Compiler XE 14.0.targets(1108,5): error MSB6006: "xilib.exe" exited with code 1.
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:05.01
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
BuildVersionIncrement: BuildVersionIncrement disabled.
I can see that img_baseMIC.o is created under x64\Release folder of my box, but somehow it is not getting it right, it seems to take it as "x64Releaseimg_baseMIC.o" as file rather than "x64\Release\img_baseMIC.o". If I do the xiar.exe or k1om-mpss-linux-ar.exe command manually, i am able to create the .a file correctly.
Wonder anyone has seen such error before? I am using VS2010 with Intel C++ Studio 2013 update SP1. I have been able to compile exe program that run offload successfully with my environment (with the gold build of IPP code bits) It is just the static lib settings that has such problem.
Thanks,
Chee Pin
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I don't recall this having been reported before. I will try re-creating this error and update this post after I know more.
For now, can you use the work around of creating the static lib manually (under the Intel Compiler command-prompt window)?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I can confirm the issue. Same setup: I want to build a static library, with Windows, VS2012.
Something is very wrong with the pathnames! I can give an example: assume the following static library project setup:
- Project name PNAME in the path
- C:\path\to\project with
- build configuration XPhi and
- architecture x64
After building, there is a ".a" file located in C:\path\to\project\PNAME with the name "pathtoprojectx64XPhiPNAMEMIC.a". In the standard output folder for that case, namely C:\path\to\project\PNAME\x64\XPhi is the correctly named file (compilation unit name is "offloaded") "offloadedMIC.o", but apparently the build script is wrongly looking for "x64XPhioffloadedMIC.o" (I assume in the project root), wrongly concatenating the pathname instead of accessing the correct folder and file.
I urgently need to work on the library, so at least a good workaround would be very welcome. Are there any special steps to build the library correctly for offloading to the MIC? I relied on the automatic build so far for standalone applications.
Thanks in advance!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
by the way: when I set the "intermediate build directory" to empty (this prevents the wrong file concatenations), then still xilib crashes with the message:
"k1om-mpss-linux-ar.exe: could not create temporary file whilst writing archive: No more archived files"
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Since I do not have urgent needs to resolve the issues, I did not go further from manually creating the a file. I supposed you should be able to manually compile the lib and a files using makefile or manually issue command.
Chee Pin
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have not been able to find a work around using the MSVS IDE but I found you can do the build under the MSVS IDE and then after it fails, using an Intel Compiler initialized command-prompt, change directory into the static library project's output directory and manually run the xilib command, something like:
xilib -out:test_lib.lib *.obj
Updated: 07/31/2014: It was found recently one should not include any directory path in the -out: option to attempt placing the library in an alternative directory other than the current directory. Instead, use -out: only to name the CPU-side/MIC_side libraries accordingly and allow xilib to create the CPU-side and MIC-side libraries in the current working directory where the *.obj files reside. Including a path component in the -out: option will lead to unwanted name mangling and misplacement of the MIC-side static library. Refer to this recent post for more details: https://software.intel.com/en-us/forums/topic/497496#comment-1794954
Hopefully this will be usable and will not be too inconvenient for you. I will let you know whether anything is available under the MSVS IDE to avoid the path mangling that is at the root of this issue.
I also reported this to Development (under the internal tracking id below) and will keep the thread update on what I learn.
(Internal tracking id: DPD200252338)
(Resolution Update on 09/11/2014): This defect is fixed in the Intel® Composer XE 2013 SP1 Update 4 release (2013.1.4.237 - Windows) -AND- the Intel® Parallel Studio XE 2015 Initial release (2015.0.108 - Windows).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you for the infos!
Even in the manual building case the xilib command fails when calling the "k1om-mpss-linux-ar.exe" subcommand. :( For now, I just switched to building a dynamic library (which works, but is inconvenient). I'll keep track of the further development.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sorry to hear that. I want to make sure we can reproduce and investigate that error then also.
Can you post the xilib command-line you used and error you received when run manually?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello sir :
I got the same error from xilib procedure of VS2013 with intel compiler
1> xilib: executing 'lib'
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Platforms\x64\PlatformToolsets\Intel C++ Compiler XE 14.0\Toolset.targets(1379,5): error MSB6006: "xilib.exe" exited with code -1073741701.
I can work well on manual execute
xilib -out:..\test_lib.lib *.obj
Can you have any suggestion ?
PS: May i have any method to turn off MIC for avoid the problem ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Billy,
I am having a little trouble following your reply. Are you saying that using the xilib command-line work around is also *not* working?
Under the MSVS IDE, you can disable offload under: Configuration Properties > C/C++ > Code Generation [Intel C++] > Offload Constructs and set the field to None (/Qoffload:none)
Let me know whether this helps or please re-ask your question if I did not fully understand it. Also, please let me know what version of MPSS you are using.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I confirmed the defect discussed in reply #6 above is fixed in the Intel® Composer XE 2013 SP1 Update 4 release (2013.1.4.237 - Windows) -AND- the Intel® Parallel Studio XE 2015 Initial release (2015.0.108 - Windows). Both are available from the Intel Registration Center.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page