Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows Deug Env #8601

Open
xuanranxiaoshi opened this issue Nov 12, 2024 · 2 comments
Open

Windows Deug Env #8601

xuanranxiaoshi opened this issue Nov 12, 2024 · 2 comments
Labels
question Question on using Taichi

Comments

@xuanranxiaoshi
Copy link

Hi everyone, I now want to develop and debug the Taichi project on Windows through Visual Studio 2022. After I built the project using the debug configuration documentation on the Taichi website: https://docs.taichi-lang.cn/docs/windows_debug, a puzzling exception appeared in Step 4.

The project was successfully built at run time without error, but the debugging did not break at the breakpoint, but directly exited.

11:16:57:106	“python.exe”(Win32): 已加载“D:\development\anaconda\python.exe”。已加载符号。
11:16:57:106	“python.exe”(Win32): 已加载“C:\Windows\System32\ntdll.dll”。
11:16:57:106	“python.exe”(Win32): 已加载“C:\Windows\System32\kernel32.dll”。
11:16:57:106	“python.exe”(Win32): 已加载“C:\Windows\System32\KernelBase.dll”。
11:16:57:610	“python.exe”(Win32): 已加载“C:\Windows\System32\ucrtbase.dll”。
11:16:57:610	“python.exe”(Win32): 已加载“D:\development\anaconda\python39.dll”。已加载符号。
11:16:57:610	“python.exe”(Win32): 已加载“D:\development\anaconda\vcruntime140.dll”。
11:16:57:610	“python.exe”(Win32): 已加载“C:\Windows\System32\ws2_32.dll”。
11:16:57:610	“python.exe”(Win32): 已加载“C:\Windows\System32\rpcrt4.dll”。
11:16:57:610	“python.exe”(Win32): 已加载“C:\Windows\System32\version.dll”。
11:16:57:610	“python.exe”(Win32): 已加载“C:\Windows\System32\msvcrt.dll”。
11:16:57:610	“python.exe”(Win32): 已加载“C:\Windows\System32\advapi32.dll”。
11:16:57:610	“python.exe”(Win32): 已加载“C:\Windows\System32\sechost.dll”。
11:16:57:610	“python.exe”(Win32): 已加载“C:\Windows\System32\cryptsp.dll”。
11:16:57:610	“python.exe”(Win32): 已加载“C:\Windows\System32\rsaenh.dll”。
11:16:57:610	“python.exe”(Win32): 已加载“C:\Windows\System32\cryptbase.dll”。
11:16:57:610	“python.exe”(Win32): 已加载“C:\Windows\System32\bcryptprimitives.dll”。
11:16:57:648	“python.exe”(Win32): 已加载“C:\Windows\System32\kernel.appcore.dll”。
11:16:57:648	线程 49892 已退出,返回值为 1 (0x1)。
11:16:57:648	线程 13100 已退出,返回值为 1 (0x1)。
11:16:57:648	线程 29124 已退出,返回值为 1 (0x1)。
11:16:57:648	程序“[1776] python.exe”已退出,返回值为 1 (0x1)。

Is there something wrong with my process of building Taichi? Here's how I built from the source code:

The LLVM Debug build process is as follows:

cmake ..\llvm\ -G "Visual Studio 17 2022" -A x64 -DLLVM_ENABLE_RTTI:BOOL=ON -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_BUILD_TYPE=Debug -DLLVM_TARGETS_TO_BUILD="X86;NVPTX" -DLLVM_ENABLE_ASSERTIONS=ON -Thost=x64 -DLLVM_BUILD_TESTS:BOOL=OFF -DCMAKE_INSTALL_PREFIX=installed -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDLL -DCMAKE_CXX_STANDARD=17
git clone --recursive https://github.com/taichi-dev/taichi  
  
cd taichi  
  
$env:TAICHI_CMAKE_ARGS += " -DTI_WITH_VULKAN:BOOL=ON -DTI_WITH_CUDA:BOOL=ON"  

$env:DEBUG = 1 # Uncomment it if you wish to keep debug information.  

$env:TAICHI_USE_MSBUILD = 1
  
python build.py --shell  

# 指定自己生成 LLVM Debug 版本路径后执行

python setup.py develop

Then I open ... /taichi/_skbuild/win-amd64-3.9/cmake-build/taichi. sln, the debugging environment is as follows:

image

The result is above!

@xuanranxiaoshi xuanranxiaoshi added the question Question on using Taichi label Nov 12, 2024
@github-project-automation github-project-automation bot moved this to Untriaged in Taichi Lang Nov 12, 2024
@xuanranxiaoshi
Copy link
Author

I found a new problem.

After building Taichi in the above way, I execute it directly on the command line:

python tiDemo.py

(tiDemo.py is a simple taichi sample program)

Generate an error:

Share object taichi_python import failed, check this page for possible solutions:
https://docs.taichi-lang.org/docs/install
Traceback (most recent call last):
  File "E:\Code\Cplusplus\TrnasTest\TransTest01\taichi\tiDemo.py", line 1, in <module>
    import taichi as ti
  File "e:\code\cplusplus\taichi\python\taichi\__init__.py", line 1, in <module>
    from taichi._funcs import *
  File "e:\code\cplusplus\taichi\python\taichi\_funcs.py", line 3, in <module>
    from taichi.lang import impl, ops
  File "e:\code\cplusplus\taichi\python\taichi\lang\__init__.py", line 1, in <module>
    from taichi.lang import impl, simt
  File "e:\code\cplusplus\taichi\python\taichi\lang\impl.py", line 6, in <module>
    from taichi._lib import core as _ti_core
  File "e:\code\cplusplus\taichi\python\taichi\_lib\__init__.py", line 1, in <module>
    from taichi._lib.utils import ti_python_core as core
  File "e:\code\cplusplus\taichi\python\taichi\_lib\utils.py", line 110, in <module>
    ti_python_core = import_ti_python_core()
  File "e:\code\cplusplus\taichi\python\taichi\_lib\utils.py", line 57, in import_ti_python_core
    raise e from None
  File "e:\code\cplusplus\taichi\python\taichi\_lib\utils.py", line 46, in import_ti_python_core
    from taichi._lib.core import taichi_python as core  # pylint: disable=C0415
ImportError: DLL load failed while importing taichi_python: 找不到指定的模块。
Consider installing Microsoft Visual C++ Redistributable: https://aka.ms/vs/16/release/vc_redist.x64.exe

I installed 'vc_redis.x64.exe' but still did not solve the problem.

I'm wondering how compiling Taichi in this way can be imported by a Python program?

@xuanranxiaoshi
Copy link
Author

Now I have solved the problem: ImportError: DLL load failed while importing taichi_python: The specified module could not be found.

Instead of compiling Taichi in Debug mode, I set the environment variable to 0;

However, debugging in VS 2022 still reported an error: the python.c source file could not be found.

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Question on using Taichi
Projects
Status: Untriaged
Development

No branches or pull requests

1 participant