I followed the commands (as below) on both my ubuntu16.04 and ubuntu 18.04 (In virtual machine), but I got the same error at the "ti install mpm" step.
I didn't run the command "export TC_USE_DOUBLE=1".
I got an error on the last step("ti install mpm"), which is as follows:
*error***
error: static assertion failed: GridState<2> size must be POT
static_assert(bit::is_power_of_two((int)sizeof(GridState<2>)),
The full error information is as follows:
*****full error information**
[ 92%] Building CXX object projects/mpm/CMakeFiles/taichi_mpm.dir/src/mpm_rigid_body.cpp.o
In file included from /home/dyfluid/taichi-mpm/installation/taichi/projects/mpm/src/mpm.h:24:0,
from /home/dyfluid/taichi-mpm/installation/taichi/projects/mpm/src/boundary_particle.h:8,
from /home/dyfluid/taichi-mpm/installation/taichi/projects/mpm/src/boundary_particle.cpp:6:
/home/dyfluid/taichi-mpm/installation/taichi/projects/mpm/src/mpm_fwd.h:115:1: error: static assertion failed: GridState<2> size must be POT
static_assert(bit::is_power_of_two((int)sizeof(GridState<2>)),
^~~~~
In file included from /home/dyfluid/taichi-mpm/installation/taichi/projects/mpm/src/mpm.h:24:0,
from /home/dyfluid/taichi-mpm/installation/taichi/projects/mpm/src/mpm_rigid_body.cpp:8:
/home/dyfluid/taichi-mpm/installation/taichi/projects/mpm/src/mpm_fwd.h:115:1: error: static assertion failed: GridState<2> size must be POT
static_assert(bit::is_power_of_two((int)sizeof(GridState<2>)),
^~~~~
In file included from /home/dyfluid/taichi-mpm/installation/taichi/projects/mpm/src/mpm.h:24:0,
from /home/dyfluid/taichi-mpm/installation/taichi/projects/mpm/src/mpm.cpp:19:
/home/dyfluid/taichi-mpm/installation/taichi/projects/mpm/src/mpm_fwd.h:115:1: error: static assertion failed: GridState<2> size must be POT
static_assert(bit::is_power_of_two((int)sizeof(GridState<2>)),
^~~~~
projects/mpm/CMakeFiles/taichi_mpm.dir/build.make:86: recipe for target 'projects/mpm/CMakeFiles/taichi_mpm.dir/src/boundary_particle.cpp.o' failed
make[2]: * [projects/mpm/CMakeFiles/taichi_mpm.dir/src/boundary_particle.cpp.o] Error 1
make[2]: Waiting for unfinished jobs....
projects/mpm/CMakeFiles/taichi_mpm.dir/build.make:134: recipe for target 'projects/mpm/CMakeFiles/taichi_mpm.dir/src/mpm_rigid_body.cpp.o' failed
make[2]: [projects/mpm/CMakeFiles/taichi_mpm.dir/src/mpm_rigid_body.cpp.o] Error 1
projects/mpm/CMakeFiles/taichi_mpm.dir/build.make:110: recipe for target 'projects/mpm/CMakeFiles/taichi_mpm.dir/src/mpm.cpp.o' failed
make[2]: [projects/mpm/CMakeFiles/taichi_mpm.dir/src/mpm.cpp.o] Error 1
CMakeFiles/Makefile2:147: recipe for target 'projects/mpm/CMakeFiles/taichi_mpm.dir/all' failed
make[1]: [projects/mpm/CMakeFiles/taichi_mpm.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2
Error: Build failed.
I have checked other issues and they couldn't solve my problem.
Could you please help me have a look at the problem? Is this problem caused by the virtual machine?
Hi yuanming,
I followed the commands (as below) on both my ubuntu16.04 and ubuntu 18.04 (In virtual machine), but I got the same error at the "ti install mpm" step.
wget https://raw.githubusercontent.com/yuanming-hu/taichi/legacy/install.py python3 install.py ti build ti install mpm
I didn't run the command "export TC_USE_DOUBLE=1".
I got an error on the last step("ti install mpm"), which is as follows:
*error*** error: static assertion failed: GridState<2> size must be POT static_assert(bit::is_power_of_two((int)sizeof(GridState<2>)),
The full error information is as follows:
*****full error information** [ 92%] Building CXX object projects/mpm/CMakeFiles/taichi_mpm.dir/src/mpm_rigid_body.cpp.o In file included from /home/dyfluid/taichi-mpm/installation/taichi/projects/mpm/src/mpm.h:24:0, from /home/dyfluid/taichi-mpm/installation/taichi/projects/mpm/src/boundary_particle.h:8, from /home/dyfluid/taichi-mpm/installation/taichi/projects/mpm/src/boundary_particle.cpp:6: /home/dyfluid/taichi-mpm/installation/taichi/projects/mpm/src/mpm_fwd.h:115:1: error: static assertion failed: GridState<2> size must be POT static_assert(bit::is_power_of_two((int)sizeof(GridState<2>)), ^
~~~~ In file included from /home/dyfluid/taichi-mpm/installation/taichi/projects/mpm/src/mpm.h:24:0, from /home/dyfluid/taichi-mpm/installation/taichi/projects/mpm/src/mpm_rigid_body.cpp:8: /home/dyfluid/taichi-mpm/installation/taichi/projects/mpm/src/mpm_fwd.h:115:1: error: static assertion failed: GridState<2> size must be POT static_assert(bit::is_power_of_two((int)sizeof(GridState<2>)), ^~~~~ In file included from /home/dyfluid/taichi-mpm/installation/taichi/projects/mpm/src/mpm.h:24:0, from /home/dyfluid/taichi-mpm/installation/taichi/projects/mpm/src/mpm.cpp:19: /home/dyfluid/taichi-mpm/installation/taichi/projects/mpm/src/mpm_fwd.h:115:1: error: static assertion failed: GridState<2> size must be POT static_assert(bit::is_power_of_two((int)sizeof(GridState<2>)), ^~~~~ projects/mpm/CMakeFiles/taichi_mpm.dir/build.make:86: recipe for target 'projects/mpm/CMakeFiles/taichi_mpm.dir/src/boundary_particle.cpp.o' failed make[2]: * [projects/mpm/CMakeFiles/taichi_mpm.dir/src/boundary_particle.cpp.o] Error 1 make[2]: Waiting for unfinished jobs.... projects/mpm/CMakeFiles/taichi_mpm.dir/build.make:134: recipe for target 'projects/mpm/CMakeFiles/taichi_mpm.dir/src/mpm_rigid_body.cpp.o' failed make[2]: [projects/mpm/CMakeFiles/taichi_mpm.dir/src/mpm_rigid_body.cpp.o] Error 1 projects/mpm/CMakeFiles/taichi_mpm.dir/build.make:110: recipe for target 'projects/mpm/CMakeFiles/taichi_mpm.dir/src/mpm.cpp.o' failed make[2]: [projects/mpm/CMakeFiles/taichi_mpm.dir/src/mpm.cpp.o] Error 1 CMakeFiles/Makefile2:147: recipe for target 'projects/mpm/CMakeFiles/taichi_mpm.dir/all' failed make[1]: [projects/mpm/CMakeFiles/taichi_mpm.dir/all] Error 2 Makefile:129: recipe for target 'all' failed make: *** [all] Error 2 Error: Build failed.I have checked other issues and they couldn't solve my problem. Could you please help me have a look at the problem? Is this problem caused by the virtual machine?
Thank you very much.