Error building Iris Tracking in Windows 10

438 views
Skip to first unread message

Leonardo de Lellis Rossi

unread,
Dec 18, 2020, 9:36:59 AM12/18/20
to MediaPipe
Hello everyone!

I'm trying to use Mediapipe Iris Tracking solution in Windows with C++. 

I've succeeded in installation and Hello World example, but I'm failing in build the more complete and complex experiments.

 I've pulled the git and have tried to build with:
bazel build -c opt --define MEDIAPIPE_DISABLE_GPU=1 --action_env PYTHON_BIN_PATH="C://Python38//python.exe" 
mediapipe/examples/desktop/iris_tracking:iris_tracking_cpu --subcommands --verbose_failures

But I'm getting always the same error:
C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.28.29333/bin/HostX64/x64/cl.exe [...]
ERROR: E:/documents/git/mediapipe_repo/mediapipe/mediapipe/calculators/tflite/BUILD:166:11: C++ compilation of rule '//mediapipe/calculators/tflite:tflite_inference_calculator' failed (Exit 2): cl.exe failed: error executing command

Does anyone know what it can be? 

I've succeeded too using the Python API. Does anyone know some implementation with Iris Tracking also with Python? 

Thanks a lot. 

Jiuqiang Tang

unread,
Dec 18, 2020, 2:37:19 PM12/18/20
to Leonardo de Lellis Rossi, MediaPipe
Hi, it seems like MSVC doesn't like the way we wrote the c++ preprocessor directives. You can rewrite the line 433 and 467 of mediapipe/calculators/tflite/tflite_inference_calculator.cc to be
```
    if (gpu_input_) {
#if MEDIAPIPE_TFLITE_METAL_INFERENCE
      MP_RETURN_IF_ERROR(ProcessInputsGpu(cc,  
                                          compute_encoder,
                                          output_tensors_gpu.get()));
#else
      MP_RETURN_IF_ERROR(ProcessInputsGpu(cc,  
                                          output_tensors_gpu.get()));                                          
#endif  // MEDIAPIPE_TFLITE_METAL_INFERENCE
    } else {
      MP_RETURN_IF_ERROR(ProcessInputsCpu(ccoutput_tensors_cpu.get()));
    }
```

and

```
    if (gpu_output_ || use_advanced_gpu_api_) {
#if MEDIAPIPE_TFLITE_METAL_INFERENCE     
      MP_RETURN_IF_ERROR(ProcessOutputsGpu(cc, std::move(output_tensors_cpu),
                                           compute_encoderstd::move(output_tensors_gpu)));
#else
      MP_RETURN_IF_ERROR(ProcessOutputsGpu(ccstd::move(output_tensors_cpu),
                                           std::move(output_tensors_gpu)));
#endif  // MEDIAPIPE_TFLITE_METAL_INFERENCE
    } else {
      MP_RETURN_IF_ERROR(ProcessOutputsCpu(ccstd::move(output_tensors_cpu)));
    }
```

Then, it can be built:

```
INFO: From Linking mediapipe/examples/desktop/iris_tracking/iris_tracking_cpu.exe:
   bazel-out\x64_windows-opt\bin\mediapipe\examples\desktop\iris_tracking\iris_tracking_cpu.lib 和对象 bazel-out\x64_windows-opt\bin\mediapipe\examples\desktop\iris_tracking\iris_tracking_cpu.exp
Target //mediapipe/examples/desktop/iris_tracking:iris_tracking_cpu up-to-date:
  bazel-bin/mediapipe/examples/desktop/iris_tracking/iris_tracking_cpu.exe
INFO: Elapsed time: 621.148s, Critical Path: 354.43s
INFO: 1380 processes: 2 internal, 1378 local.
INFO: Build completed successfully, 1380 total actions
```

--
You received this message because you are subscribed to the Google Groups "MediaPipe" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mediapipe+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mediapipe/584c4aae-9772-42dd-a482-6df4b1585106n%40googlegroups.com.

Leonardo de Lellis Rossi

unread,
Dec 19, 2020, 4:49:08 PM12/19/20
to MediaPipe
Hello Jiuqiang, thanks for responding!

I made the changes as suggested.

The first 4 times I tried to build (3 with a CPU and one with a GPU), I got stuck with the CPU and had different errors with the GPU, shown in the logs below. Do you know what may have caused it?

In the 5th attempt, again with CPU, I was able to build without changes :) Again, thank you very much.

I would like to use the calculated landmarks to calculate the pupillary distance in a Python code. How can I pass the landmarks and images between codes?

Thank you very much.


Logs:

log1_cpu
SET PATH=C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29333\bin\HostX64\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\IDE\VC\VCPackages;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\IDE\CommonExtensions\Microsoft\TestWindow;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\bin\Roslyn;C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64\;C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64;C:\Program Files (x86)\Windows Kits\10\bin\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\\MSBuild\Current\Bin;C:\Windows\Microsoft.NET\Framework64\v4.0.30319;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\IDE\;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\Tools\;;C:\WINDOWS\system32;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja
    SET PWD=/proc/self/cwd
    SET RUNFILES_MANIFEST_ONLY=1
    SET TEMP=C:\Users\LEOLEL~1\AppData\Local\Temp
    SET TMP=C:\Users\LEOLEL~1\AppData\Local\Temp
  C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.28.29333/bin/HostX64/x64/lib.exe @bazel-out/host/bin/mediapipe/framework/thread_pool_executor_cc_proto.lo.lib-2.params
[3,569 / 3,618] Compiling com_google_absl/absl/strings/internal/ostringstream.cc [for host]; 2749s local


log2_cpu
SUBCOMMAND: # //mediapipe/modules/iris_landmark:iris_landmark_left_and_right_cpu [action 'Linking mediapipe/modules/iris_landmark/iris_landmark_left_and_right_cpu.lo.lib', configuration: 7e7ff0f6a251181721705089146fcfd8e51eaa1471824fff3e5d3543fb86dfce, execution platform: @local_execution_config_platform//:platform]
cd C:/users/leolellisr/_bazel_leolellisr/l4rwecod/execroot/mediapipe
  SET LIB=C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29333\lib\x64;C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\lib\um\x64;C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\ucrt\x64;C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64
    SET PATH=C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29333\bin\HostX64\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\IDE\VC\VCPackages;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\IDE\CommonExtensions\Microsoft\TestWindow;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\bin\Roslyn;C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64\;C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64;C:\Program Files (x86)\Windows Kits\10\bin\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\\MSBuild\Current\Bin;C:\Windows\Microsoft.NET\Framework64\v4.0.30319;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\IDE\;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\Tools\;;C:\WINDOWS\system32;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja
    SET PWD=/proc/self/cwd
    SET PYTHON_BIN_PATH=C://Python38//python.exe
    SET RUNFILES_MANIFEST_ONLY=1
    SET TEMP=C:\Users\LEOLEL~1\AppData\Local\Temp
    SET TMP=C:\Users\LEOLEL~1\AppData\Local\Temp
  C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.28.29333/bin/HostX64/x64/lib.exe @bazel-out/x64_windows-opt/bin/mediapipe/modules/iris_landmark/iris_landmark_left_and_right_cpu.lo.lib-2.params
[3,615 / 3,618] Compiling XNNPACK/src/operators/depth-to-space-nhwc.c; 59161s local

log3_cpu  
SUBCOMMAND: # //mediapipe/modules/face_landmark:face_landmark_cpu [action 'Linking mediapipe/modules/face_landmark/face_landmark_cpu.lo.lib', configuration: 7e7ff0f6a251181721705089146fcfd8e51eaa1471824fff3e5d3543fb86dfce, execution platform: @local_execution_config_platform//:platform]
cd C:/users/leolellisr/_bazel_leolellisr/l4rwecod/execroot/mediapipe
  SET LIB=C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29333\lib\x64;C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\lib\um\x64;C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\ucrt\x64;C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64
    SET PATH=C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29333\bin\HostX64\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\IDE\VC\VCPackages;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\IDE\CommonExtensions\Microsoft\TestWindow;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\bin\Roslyn;C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64\;C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64;C:\Program Files (x86)\Windows Kits\10\bin\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\\MSBuild\Current\Bin;C:\Windows\Microsoft.NET\Framework64\v4.0.30319;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\IDE\;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\Tools\;;C:\WINDOWS\system32;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja
    SET PWD=/proc/self/cwd
    SET PYTHON_BIN_PATH=C://Python38//python.exe
    SET RUNFILES_MANIFEST_ONLY=1
    SET TEMP=C:\Users\LEOLEL~1\AppData\Local\Temp
    SET TMP=C:\Users\LEOLEL~1\AppData\Local\Temp
  C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.28.29333/bin/HostX64/x64/lib.exe @bazel-out/x64_windows-opt/bin/mediapipe/modules/face_landmark/face_landmark_cpu.lo.lib-2.params
[3,615 / 3,618] Compiling XNNPACK/src/f32-sigmoid/gen/sse41-lut64-p2-div-x24.c; 2893s local

log4_gpu  
  C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.28.29333/bin/HostX64/x64/cl.exe /nologo /DCOMPILER_MSVC /DNOMINMAX /D_WIN32_WINNT=0x0601 /D_CRT_SECURE_NO_DEPRECATE /D_CRT_SECURE_NO_WARNINGS /bigobj /Zm500 /EHsc /wd4351 /wd4291 /wd4250 /wd4996 /I. /Ibazel-out/x64_windows-opt/bin /Iexternal/com_github_glog_glog /Ibazel-out/x64_windows-opt/bin/external/com_github_glog_glog /Iexternal/com_github_gflags_gflags /Ibazel-out/x64_windows-opt/bin/external/com_github_gflags_gflags /Iexternal/com_google_absl /Ibazel-out/x64_windows-opt/bin/external/com_google_absl /Ibazel-out/x64_windows-opt/bin/external/com_github_glog_glog/_virtual_includes/windows_glog_headers /Ibazel-out/x64_windows-opt/bin/external/com_github_gflags_gflags/_virtual_includes/gflags /DGOOGLE_GLOG_DLL_DECL=__declspec(dllexport) /showIncludes /MD /O2 /Oy- /DNDEBUG /wd4117 -D__DATE__="redacted" -D__TIMESTAMP__="redacted" -D__TIME__="redacted" /Gy /Gw /w /D_USE_MATH_DEFINES -DMESA_EGL_NO_X11_HEADERS -DEGL_NO_X11 /std:c++17 /Fobazel-out/x64_windows-opt/bin/mediapipe/util/_objs/resource_util/resource_util.obj /c mediapipe/util/resource_util.cc
ERROR: E:/documents/git/mediapipe_repo/mediapipe/mediapipe/gpu/BUILD:654:11: C++ compilation of rule '//mediapipe/gpu:gl_simple_shaders' failed (Exit 2): cl.exe failed: error executing command
  cd C:/users/leolellisr/_bazel_leolellisr/l4rwecod/execroot/mediapipe
  SET INCLUDE=C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29333\include;C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um;C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt;C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared;C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um;C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt;C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt
    SET PATH=C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29333\bin\HostX64\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\IDE\VC\VCPackages;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\IDE\CommonExtensions\Microsoft\TestWindow;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\bin\Roslyn;C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64\;C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64;C:\Program Files (x86)\Windows Kits\10\bin\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\\MSBuild\Current\Bin;C:\Windows\Microsoft.NET\Framework64\v4.0.30319;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\IDE\;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\Tools\;;C:\WINDOWS\system32;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja
    SET PWD=/proc/self/cwd
    SET PYTHON_BIN_PATH=C://Python38//python.exe
    SET RUNFILES_MANIFEST_ONLY=1
    SET TEMP=C:\Users\LEOLEL~1\AppData\Local\Temp
    SET TMP=C:\Users\LEOLEL~1\AppData\Local\Temp
  C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.28.29333/bin/HostX64/x64/cl.exe /nologo /DCOMPILER_MSVC /DNOMINMAX /D_WIN32_WINNT=0x0601 /D_CRT_SECURE_NO_DEPRECATE /D_CRT_SECURE_NO_WARNINGS /bigobj /Zm500 /EHsc /wd4351 /wd4291 /wd4250 /wd4996 /I. /Ibazel-out/x64_windows-opt/bin /showIncludes /MD /O2 /Oy- /DNDEBUG /wd4117 -D__DATE__="redacted" -D__TIMESTAMP__="redacted" -D__TIME__="redacted" /Gy /Gw /w /D_USE_MATH_DEFINES -DMESA_EGL_NO_X11_HEADERS -DEGL_NO_X11 /std:c++17 /Fobazel-out/x64_windows-opt/bin/mediapipe/gpu/_objs/gl_simple_shaders/gl_simple_shaders.obj /c mediapipe/gpu/gl_simple_shaders.cc
Execution platform: @local_execution_config_platform//:platform
Observação: incluindo arquivo: .\mediapipe/gpu/gl_simple_shaders.h
Observação: incluindo arquivo:  .\mediapipe/gpu/gl_base.h
.\mediapipe/gpu/gl_base.h(57): fatal error C1083: Não é possível abrir arquivo incluir: 'EGL/egl.h': No such file or directory
Target //mediapipe/examples/desktop/iris_tracking:iris_tracking_gpu failed to build
INFO: Elapsed time: 39.458s, Critical Path: 9.23s
INFO: 175 processes: 175 internal.
FAILED: Build did NOT complete successfully

Jan Louw

unread,
Nov 12, 2022, 3:43:48 AM11/12/22
to MediaPipe
Hi,
I got MediaPipe hello_world working on Windows 11, Visual Studio 2022, Python 3.10.8, OpenCV 3.4.16, but I get 2 linker errors with face_detection. I need the iris depth estimation as well, but from the MediaPipe website it seems not to be supported for Python. That is why I'm trying to get it to work with C++.

face_detection_options_registry.lo.lib(face_detection_options_lib.obj) : error LNK2019
inference_calculator_options_registry.lo.lib(inference_calculator_options_lib.obj) : error LNK2019

Can anyone please advise me?

Donghyun Lim

unread,
Feb 14, 2023, 3:18:12 AM2/14/23
to MediaPipe
face_detection_options_registry.lo.lib(face_detection_options_lib.obj) : error LNK2019
inference_calculator_options_registry.lo.lib(inference_calculator_options_lib.obj) : error LNK2019

I solved the above two link errors by downgrading to Visual Studio 2019.

2022년 11월 12일 토요일 오후 5시 43분 48초 UTC+9에 Jan Louw님이 작성:
Reply all
Reply to author
Forward
0 new messages