FLAMEGPU / FLAMEGPU2

FLAME GPU 2 is a GPU accelerated agent based modelling framework for CUDA C++ and Python
https://flamegpu.com
MIT License
99 stars 19 forks source link

Compiling pyflamegpu2 encountered an error #1161

Closed chenyuyou closed 6 months ago

chenyuyou commented 6 months ago
          Install pyflamegpu 2.0.0rc1+cuda118 wheel into D:/Downloads/FLAMEGPU2/build/lib/Release/python/venv

Looking in links: dist EXEC : error : Could not find a version that satisfies the requirement pyflamegpu==2.0.0rc1+cuda118 (from versions: non e) [D:\Downloads\FLAMEGPU2\build\swig\python\pyflamegpu.vcxproj] EXEC : error : No matching distribution found for pyflamegpu==2.0.0rc1+cuda118 [D:\Downloads\FLAMEGPU2\build\swig\pytho n\pyflamegpu.vcxproj]

Originally posted by @chenyuyou in https://github.com/FLAMEGPU/FLAMEGPU2/issues/1158#issuecomment-1853430063

Robadob commented 6 months ago

This isn't an obvious one (to me), I'll discuss it with @ptheywood later today who may know more.

Meanwhile, I've just triggered a draft release. In a few hours this should build a set of upto date wheels that can be downloaded until they expire (~24h). You can keep an eye on the progress here: https://github.com/FLAMEGPU/FLAMEGPU2/actions/runs/7192423472

chenyuyou commented 6 months ago

This isn't an obvious one (to me), I'll discuss it with @ptheywood later today who may know more.

Meanwhile, I've just triggered a draft release. In a few hours this should build a set of upto date wheels that can be downloaded until they expire (~24h). You can keep an eye on the progress here: https://github.com/FLAMEGPU/FLAMEGPU2/actions/runs/7192423472

thanks for your help

ptheywood commented 6 months ago

No matching distribution found for pyflamegpu

Implies that it can't find a wheel built for the python version of the venv it is installing into (if I'm interpretting that error correctly).

As far as I'm aware, that shouldn't be possible with how CMake finds an explcit version of python3 which is used to build for, and for the venv.

The first thing I would check is the python verison of the wheel that has been built, by looking (assuming you've done a release build) in D:\Downloads\FLAMEGPU2\build\lib\Release\python\dist\ and seeding what the filename is. It should be pyflamegpu-2.0.0rc+cuda118-cp3XX-cp3XX-win_amd64.whl, but with cp3XX replaced by the python version it has been compiled for.

Then if you activate the python venv in `D:\Downloads\FLAMEGPU2\build\lib\Release\python\venv\ and run python --version to check the versions are the same (they should be, but the error is suggesting they might not be).

Robadob commented 6 months ago

Meanwhile, I've just triggered a draft release. In a few hours this should build a set of upto date wheels that can be downloaded until they expire (~24h). You can keep an eye on the progress here: FLAMEGPU/FLAMEGPU2/actions/runs/7192423472

The draft release has now finished, if you visit the page and scroll to the bottom the compiled wheels should be there that you can download (similar to on the release page) until they expire (for the next ~20 hours).

chenyuyou commented 6 months ago

Meanwhile, I've just triggered a draft release. In a few hours this should build a set of upto date wheels that can be downloaded until they expire (~24h). You can keep an eye on the progress here: FLAMEGPU/FLAMEGPU2/actions/runs/7192423472

The draft release has now finished, if you visit the page and scroll to the bottom the compiled wheels should be there that you can download (similar to on the release page) until they expire (for the next ~20 hours).

thanks, I have downloaded the file.

Robadob commented 6 months ago

We'd appreciate it if you have any further information you can provide regarding your build failure, so we can perhaps resolve it for users in future.

If not, feel free to close this issue if you feel your problem has been resolved.

chenyuyou commented 6 months ago

EXEC : error : Could not find a version that satisfies the requirement pyflamegpu==2.0.0rc1+cuda123 (from versions: non e) [E:\Downloads\FLAMEGPU2\build\swig\python\pyflamegpu.vcxproj] EXEC : error : No matching distribution found for pyflamegpu==2.0.0rc1+cuda123 [E:\Downloads\FLAMEGPU2\build\swig\pytho n\pyflamegpu.vcxproj] D:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(166,5): e rror MSB3073: 命令“setlocal [E:\Downloads\FLAMEGPU2\build\swig\python\pyflamegpu.vcxproj] D:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(166,5): e rror MSB3073: cd E:\Downloads\FLAMEGPU2\build\lib\Release\python [E:\Downloads\FLAMEGPU2\build\swig\python\pyflamegpu.v cxproj] D:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(166,5): e rror MSB3073: if %errorlevel% neq 0 goto :cmEnd [E:\Downloads\FLAMEGPU2\build\swig\python\pyflamegpu.vcxproj] D:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(166,5): e rror MSB3073: E: [E:\Downloads\FLAMEGPU2\build\swig\python\pyflamegpu.vcxproj] D:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(166,5): e rror MSB3073: if %errorlevel% neq 0 goto :cmEnd [E:\Downloads\FLAMEGPU2\build\swig\python\pyflamegpu.vcxproj] D:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(166,5): e rror MSB3073: E:\Downloads\FLAMEGPU2\venv\Scripts\python.exe -m venv E:/Downloads/FLAMEGPU2/build/lib/Release/python/ve nv [E:\Downloads\FLAMEGPU2\build\swig\python\pyflamegpu.vcxproj] D:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(166,5): e rror MSB3073: if %errorlevel% neq 0 goto :cmEnd [E:\Downloads\FLAMEGPU2\build\swig\python\pyflamegpu.vcxproj] D:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(166,5): e rror MSB3073: E:\Downloads\FLAMEGPU2\build\lib\Release\python\venv\Scripts\pip.exe install --force-reinstall --find-lin ks=dist -U pyflamegpu==2.0.0rc1+cuda123 [E:\Downloads\FLAMEGPU2\build\swig\python\pyflamegpu.vcxproj] D:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(166,5): e rror MSB3073: if %errorlevel% neq 0 goto :cmEnd [E:\Downloads\FLAMEGPU2\build\swig\python\pyflamegpu.vcxproj] D:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(166,5): e rror MSB3073: E:\Downloads\FLAMEGPU2\build\lib\Release\python\venv\Scripts\pip.exe install pytest [E:\Downloads\FLAMEGP U2\build\swig\python\pyflamegpu.vcxproj] D:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(166,5): e rror MSB3073: if %errorlevel% neq 0 goto :cmEnd [E:\Downloads\FLAMEGPU2\build\swig\python\pyflamegpu.vcxproj] D:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(166,5): e rror MSB3073: :cmEnd [E:\Downloads\FLAMEGPU2\build\swig\python\pyflamegpu.vcxproj] D:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(166,5): e rror MSB3073: endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone [E:\Downloads\FLAMEGPU2\build\swig\python\pyfla megpu.vcxproj] D:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(166,5): e rror MSB3073: :cmErrorLevel [E:\Downloads\FLAMEGPU2\build\swig\python\pyflamegpu.vcxproj] D:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(166,5): e rror MSB3073: exit /b %1 [E:\Downloads\FLAMEGPU2\build\swig\python\pyflamegpu.vcxproj] D:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(166,5): e rror MSB3073: :cmDone [E:\Downloads\FLAMEGPU2\build\swig\python\pyflamegpu.vcxproj] D:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(166,5): e rror MSB3073: if %errorlevel% neq 0 goto :VCEnd [E:\Downloads\FLAMEGPU2\build\swig\python\pyflamegpu.vcxproj] D:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(166,5): e rror MSB3073: :VCEnd”已退出,代码为 1。 [E:\Downloads\FLAMEGPU2\build\swig\python\pyflamegpu.vcxproj]

chenyuyou commented 6 months ago

I haven't compiled before. I'll try again to see where the problem is.

chenyuyou commented 6 months ago

the python version in my PC is 64bit,and I'm very confused about how to compile a 32-bit version

Robadob commented 6 months ago

Modern CUDA only supports 64bit compilation, so I'm not sure why this would be a problem.