Intel® C++ Compiler
Support and discussions for creating C++ code that runs on platforms based on Intel® processors.

Pin Tool Building Issues in Windows

Pradhan__Bhakta
Beginner
705 Views

Hi,

Before I start in case I should post this question in a different section, please let me know I would be happy to move it.

I'm currently facing the below issue while building the PinTool.

Below is the environment:

Operating SystemS: windows 7 x64 sp1

Visual Studio: 2012

Pin Tool :- 3.7.97

After running make command as per REDME file I'm getting the below error.

C:\PinTool\source\tools\SimpleExamples>make obj-intel64/opcodemix.dll
mkdir -p obj-intel64/
cl /MT /EHs- /EHa- /wd4530 /DTARGET_WINDOWS /nologo /Gy /Oi- /GR- /GS- /D__PIN__
=1 /DPIN_CRT=1 /D_WINDOWS_H_PATH_="C:\Program Files (x86)\Windows Kits\8.0\Inclu
de\um" /D__LP64__ /DTARGET_IA32E /DHOST_IA32E  /I../../../source/include/pin /I.
./../../source/include/pin/gen -I../../../extras/stlport/include -I../../../extr
as -I../../../extras/libstdc++/include -I../../../extras/crt/include -I../../../
extras/crt -I../../../extras/crt/include/arch-x86_64 -I../../../extras/crt/inclu
de/kernel/uapi -I../../../extras/crt/include/kernel/uapi/asm-x86 /FIinclude/msvc
_compat.h /I../../../extras/components/include /I../../../extras/xed-intel64/inc
lude/xed /I../../../source/tools/InstLib /O2  /c /Foobj-intel64/opcodemix.obj op
codemix.cpp
opcodemix.cpp
../../../extras/stlport/include\stl/char_traits.h(83) : error C2118: negative su
bscript
make: *** [../../../source/tools/Config/makefile.default.rules:196: obj-intel64/
opcodemix.obj] Error 2

Please let me know how can I fix it?

I tried some old PinTool releases that also giving me the same error.

Thanks,

Bhakta

 

0 Kudos
1 Reply
Armand_Behroozi
Beginner
505 Views

I had the same issue.  Was using:

x86_64

Windows 10

Visual Studio 2019

Pin 3.20

Had added cygwin64/bin to my Path

-------

Error was on this command: "make.exe obj-intel64/inscount1.dll TARGET=intel64", and I received the same error as reported above.

Line 83 of char_traits.h is: _STLP_STATIC_ASSERT(sizeof(streamsize)==sizeof(void*)). Thinking that some pointer size was off, I decided to try the same command for the ia32 and it compiled with no errors.

Turns out I was using "x86 Native Tools Command Prompt for VS 2019", which initialized the environment for "x86" instead of x86_64. I switched to "x86_x64 Cross Tools Command Prompt for VS 2019 and the compilation worked with the following output:

 

C:\cygwin64\home\pin-3.20\source\tools\ManualExamples>make.exe obj-intel64/inscount1.dll TARGET=intel64
cl /EHs- /EHa- /wd4530 /DTARGET_WINDOWS /nologo /Gy /Oi- /GR- /GS- /DPIN_CRT=1 /D_WINDOWS_H_PATH_="C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um" /D__LP64__ /Zc:threadSafeInit- /Zc:sizedDealloc- /wd5208 /DTARGET_IA32E /DHOST_IA32E /I../../../source/include/pin /I../../../source/include/pin/gen -I../../../extras/stlport/include -I../../../extras -I../../../extras/libstdc++/include -I../../../extras/crt/include -I../../../extras/crt -I../../../extras/crt/include/arch-x86_64 -I../../../extras/crt/include/kernel/uapi -I../../../extras/crt/include/kernel/uapi/asm-x86 /FIinclude/msvc_compat.h /I../../../extras/components/include /I../../../extras/xed-intel64/include/xed /I../../../source/tools/Utils /I../../../source/tools/InstLib /MD /O2 /c /Foobj-intel64/inscount1.obj inscount1.cpp
inscount1.cpp
link /DLL /EXPORT:main /NODEFAULTLIB /NOLOGO /INCREMENTAL:NO /IGNORE:4210 /IGNORE:4049 /DYNAMICBASE /NXCOMPAT ../../../intel64/runtime/pincrt/crtbeginS.obj /MACHINE:x64 /ENTRY:Ptrace_DllMainCRTStartup /BASE:0xC5000000 /OPT:REF /out:obj-intel64/inscount1.dll obj-intel64/inscount1.obj /LIBPATH:../../../intel64/lib /LIBPATH:../../../intel64/lib-ext /LIBPATH:../../../intel64/runtime/pincrt /LIBPATH:../../../extras/xed-intel64/lib pin.lib xed.lib pincrt.lib kernel32.lib
Creating library obj-intel64\inscount1.lib and object obj-intel64\inscount1.exp
LINK : warning LNK4281: undesirable base address 0xC5000000 for x64 image; set base address above 4GB for best ASLR optimization

Reply