Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

ia32 or intel64

Arjun_Kamath
Beginner
1,808 Views
Hi,

I am running 32-bit Windows Vista on an Intel core i5 machine. I read in the installation guides that for my case i should use build_ia32.bat

On processors with the Intel 64 architecture, currently many of the 64-bit operating systems like Microsoft Windows XP* Professional x64 Edition and Microsoft Windows Server* 2003 family x64 editions can support running 32-bit or 64-bit applications. If you want to build an application for the Intel 64 architecture-based machine in the 32-bit mode, you must install Intel IPP for IA-32 architecture and link to 32-bit libraries.

However the script build_ia32.bat fails completely for all components while the build_intel64.bat succeeds. I also noticed that the (failing) build_ia32.bat chooses Visual Studio 2010 compiler while build_intel64.bat which succeeds chooses 2008.

I am totally confused
0 Kudos
9 Replies
Ying_H_Intel
Employee
1,808 Views
Hi Arjun,

You have correct idea about
IA32 architecture + 32bit OS and a 32bit application can run.
Intel 64 architecture + 32bit OS and 32bit applicatoin can run
Intel 64 architecure + 64bit OS and both 64bit application and 32 bit application can run.

But about building (or compile)a 32bit application or 64bit application, it mainly depends on theCompiler. For current compilers, like Visual Studio 2010 or Visual Studio 2008. they areable to support to compileboth 32bit and64bit app on any above architecture + OS configuration. Soeven ifbuild_intel64.bat is supposed to build a 64bit app, it is possible to see it succeeds on 32bit OS + i5 + MSVC 2008 which support build 64 bit application.

So the question is why the build_ia32.bat fail. Could you please check if there is "log"directory generated after you run build_ia32.bat. If yes, you can open one of log file and see what's going wrong.
Or you can attach here so we can check.

Best Regards,
Ying
0 Kudos
Arjun_Kamath
Beginner
1,808 Views
Hi Ying,

So just to be clear I need to use build_ia32.bat right? About the logs:

The common.log reads
-------
Setting environment for using Microsoft Visual Studio 2010 x86 tools.
ERROR: Cannot determine the location of the VS Common Tools folder.
Syntax:
ippvars.bat

must be is one of the following
ia32 : Set up for IA-32 target
intel64 : Set up for Intel 64 target
------------

I have run the 'ippvars.bat ia32' from command prompt already

All the other log files say
----------------
'nmake' is not recognized as an internal or external command,
operable program or batch file.

---------------

The output of the batch file is here:
https://picasaweb.google.com/101582892235327293990/Build_error?authkey=Gv1sRgCKOzq8nu3Yvh6AE#5753431631249885922

The line :
Cannot determine location of VS COmmon Tools folder worries me most. On the net I saw that the cause of this can be te Path variable, but it looks fine as you can see below.

Before you ask about my environment variables:

Path
%C_IA32_REDIST11%bin\ia32;
%C_IA32_REDIST12%redist\ia32\compiler;
%SystemRoot%\system32;
%SystemRoot%;
%SystemRoot%\System32\Wbem;
C:\Program Files\WIDCOMM\Bluetooth Software\;
C:\Program Files\Citrix\system32\;
C:\Program Files\Microsoft Windows Performance Toolkit\;
C:\Program Files\Microsoft DirectX SDK (June 2010)\Utilities\bin\x86;
C:\Program Files\Microsoft SDKs\Windows\v7.1;
C:\Program Files\aviqa;
c:\Program Files\Microsoft SQL Server\90\Tools\binn\;
C:\Program Files\Intel\Composer XE 2011 SP1\redist\ia32\ipp;
C:\Program Files\Intel\Composer XE 2011 SP1\redist\ia32\compiler;
C:\Program Files\Intel\Composer XE 2011 SP1\bin;
C:\Program Files\Intel\Composer XE 2011 SP1\ipp\bin\ia32

LIB
C:\Program Files\Intel\Composer XE 2011 SP1\ipp\lib\ia32;
C:\Program Files\Intel\Composer XE 2011 SP1\compiler\lib\ia32

INCLUDE
C:\Program Files\Intel\Composer XE 2011 SP1\ipp\include

IPPROOT
C:\Program Files\Intel\Composer XE 2011 SP1\ipp

IPPSAMPLES
C:\ipp-samples

Any advice?


0 Kudos
Arjun_Kamath
Beginner
1,808 Views
Hi Ying,

I solved the problem. I had to just do this

http://stackoverflow.com/questions/3461275/vs2010-command-prompt-gives-error-cannot-determine-the-location-of-the-vs-comm/3874987#3874987

Overall, biggest issue was finding which script to use. I was confused because ia32 was failing and intel64 was succeeding. So I assumed that I had to go forward with intel64 script. After I realized that ia32 was the one to use, I stuck with the issues and got them resolved.

My suggestion would be that you give the following info in the ..\ipp-samples\speech-codecs\readme itself

IA32 architecture + 32bit OS and a 32bit application can run.
Intel 64 architecture + 32bit OS and 32bit applicatoin can run
Intel 64 architecure + 64bit OS and both 64bit application and 32 bit application can run.

It maybe obvious to many but wasn't to me :)

Thanks again
0 Kudos
Ying_H_Intel
Employee
1,808 Views
Hi Arjun,

Thank youfor sharing the solution and suggestion. I will try to add the claim at suitableplace when i got chance (I recalled some on-KB artice claim these, buthaven't not searchedit).

Justadd some regarding the MSVC2010 build environment ( 'nmake" is not recoginzed), in general,the environmentshould be readyif defaul MSVC 2010 installation. Then wego to start menu=>all programs =>Microsoft Visual studio 2010 =>Visual Studio Tools=> Visual Studio Command prompt (2010), then cd the ipp sample directory and do the build .

Best regards,
Ying
0 Kudos
Ying_H_Intel
Employee
1,808 Views
Here is the KB article I mentioned.

http://software.intel.com/en-us/articles/ia-32-intelr-64-ia-64-architecture-mean/

and also add our discussion under the comments.

Thanks
Ying
0 Kudos
Arjun_Kamath
Beginner
1,808 Views
I have now upgraded to Windows 7. So I now have Visual Studio 2008 along with a 64 bits processor and 64 bit OS. I would like to be able to build the ipp libraries for both ia32 and intel64 architectures. But this time I am not able to build for ia32 while intel64 builds properly. The build_ia32.bat script fails for each component, even though it says 'Microsoft Visual Studio 2010 compiler for IA-32 is taken' (I have not installed Visual Studio 2010. I have VS2008) The build_intel64 succeeds, saying 'Microsoft Visual Studio 2008 compiler for Intel64 is taken' I think I have some software installation issues. I am attaching a screenshot of Control Panel-Uninstall Programs. Please tell me if there's something that should or shouldn't be there.
0 Kudos
Ying_H_Intel
Employee
1,808 Views
Hi Arjun, Yes, it looks some problem about the system environment. Sorry, could you please tell me which IPP sample are you building. Generally, you can open the build_ia32.bat (using Notepad). It is supposed to has the below usage help, REM REM Usage: REM buildXX.bat [ cl8 | cl9 | cl10 | icl111 | icl120 | icl121 | ipc2009 | ipc2011 ] REM Then if you install VS2008, you can click start menu=>all programs =>Microsoft Visual studio 2008 =>Visual Studio Tools=> Visual Studio Command prompt (2008) enter command >C:\Program Files (x86)\Intel\Composer XE 2011 SP1\ipp\bin\ippvars.bat ia32 >build_ia32.bat cl9 and if there is any error, could you please attach the log folder? Best Regards, Ying
0 Kudos
Arjun_Kamath
Beginner
1,808 Views
Hi Ying, I downloaded the IPP sample zip file "w_ipp-samples_p_7.0.2.048" When I ran the bat file a folder "ia32_cl10" got created in here "C:\ipp-samples\speech-codecs\_bin\ia32_cl10". Does that answer your first question? Or should I attach the build_ia32.bat file here? Even last time when I had Windows Vista, the folder "ia32_cl10" was created which contained the speech.lib file. Secondly, I followed your instructions and things seem to be working properly. "+----------------------------------------------------------------------------+ |Test : speech-codecs build maa mar 5 10:36:19 2012 |Function : no |Description : building speech-codecs sample |Class : Information |Source : C:\ipp-samples\speech-codecs\ |Executable : build_ia32.bat +----------------------------------------------------------------------------+ +++ IA-32 architecture is picked out. +++ Microsoft Visual Studio 2008 compiler for IA-32 is taken Setting environment for using Microsoft Visual Studio 2008 x86 tools. +++ Custom Intel(R) IPP custom environment is found at "c:\Program Files (x86)\ ntel\ComposerXE-2011\ipp\bin\ippvars.bat" Start components compile ******* io\audio_renders : PASSED ******* io\media_buffers : PASSED ******* io\jitter_buffers : PASSED ******* core\umc : PASSED ******* core\vm : PASSED ******* codec\speech_rtp : PASSED ******* codec\speech : PASSED ******* application\usc_speech_codec : FAILED ******* application\usc_nr : FAILED ******* application\usc_tones : FAILED ******* application\usc_ec : FAILED ******* application\umc_speech_rtp_codec : FAILED There were errors found +-----------------------------------------------------------------------------+ |-FAIL speech-codecs maa mar 5 10:36:56 2012 +-----------------------------------------------------------------------------+" I could find a new speech.lib, speech_rtp.lib and other lib files under "C:\ipp-samples\speech-codecs\_bin\ia32_cl9\lib". But then the last line of the above logs says "speech-codecs failed" However when I am building my application (SIP client based on pjsip that utilizes Intel IPP for amr, amr-wb and other codecs) in Visual Studio, I get build errors pointing to the speech.lib file. One more parameter I am unsure of is the "Intel Composer XE 2011 Update 2". I have both setups "w_ipp_7.0.2.154_ia32" and "w_ipp_7.0.2.154_intel64". Can I have both installed simultaneously? Or should I uninstall one for the other. I really hope you can help me out here. The day has just started here and I will be able for replies for at least 6 hours more :) Thanks -Arjun
0 Kudos
Arjun_Kamath
Beginner
1,808 Views
Hi Ying, The problem is solved now. did the trick. After that I just changed some VS settings and things are working well now. Thanks, Arjun
0 Kudos
Reply