BachiLi / diffvg

Differentiable Vector Graphics Rasterization
https://people.csail.mit.edu/tzumao/diffvg/
Apache License 2.0
923 stars 155 forks source link

centos build faild #16

Open arashno opened 3 years ago

arashno commented 3 years ago

Here is the error when I run python setup.py install I am using gcc 8.2

[ 14%] Building CXX object CMakeFiles/diffvg.dir/scene.cpp.o /scratch/arash/fast_paper/diffvg/scene.cpp: In function ‘size_t align(size_t)’: /scratch/arash/fast_paper/diffvg/scene.cpp:13:22: error: ‘max_align_t’ is not a member of ‘std’ auto a = alignof(std::max_align_t); ^ /scratch/arash/fast_paper/diffvg/scene.cpp:13:22: note: suggested alternative: In file included from /usr/include/c++/4.8.2/cstddef:42:0, from /scratch/arash/fast_paper/diffvg/ptr.h:3, from /scratch/arash/fast_paper/diffvg/color.h:5, from /scratch/arash/fast_paper/diffvg/shape.h:4, from /scratch/arash/fast_paper/diffvg/scene.cpp:5: /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/stddef.h:425:3: note: ‘max_align_t’ } max_align_t; ^ /scratch/arash/fast_paper/diffvg/scene.cpp:15:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ gmake[2]: [CMakeFiles/diffvg.dir/scene.cpp.o] Error 1 gmake[1]: [CMakeFiles/diffvg.dir/all] Error 2 gmake: * [all] Error 2 Traceback (most recent call last): File "setup.py", line 91, in setup(name = 'diffvg', File "/scratch/arash/anaconda3/envs/diffvg/lib/python3.8/site-packages/setuptools/init.py", line 153, in setup return distutils.core.setup(attrs) File "/scratch/arash/anaconda3/envs/diffvg/lib/python3.8/distutils/core.py", line 148, in setup dist.run_commands() File "/scratch/arash/anaconda3/envs/diffvg/lib/python3.8/distutils/dist.py", line 966, in run_commands self.run_command(cmd) File "/scratch/arash/anaconda3/envs/diffvg/lib/python3.8/distutils/dist.py", line 985, in run_command cmd_obj.run() File "/scratch/arash/anaconda3/envs/diffvg/lib/python3.8/distutils/command/build.py", line 135, in run self.run_command(cmd_name) File "/scratch/arash/anaconda3/envs/diffvg/lib/python3.8/distutils/cmd.py", line 313, in run_command self.distribution.run_command(command) File "/scratch/arash/anaconda3/envs/diffvg/lib/python3.8/distutils/dist.py", line 985, in run_command cmd_obj.run() File "setup.py", line 31, in run super().run() File "/scratch/arash/anaconda3/envs/diffvg/lib/python3.8/site-packages/setuptools/command/build_ext.py", line 79, in run _build_ext.run(self) File "/scratch/arash/anaconda3/envs/diffvg/lib/python3.8/distutils/command/build_ext.py", line 340, in run self.build_extensions() File "/scratch/arash/anaconda3/envs/diffvg/lib/python3.8/distutils/command/build_ext.py", line 449, in build_extensions self._build_extensions_serial() File "/scratch/arash/anaconda3/envs/diffvg/lib/python3.8/distutils/command/build_ext.py", line 474, in _build_extensions_serial self.build_extension(ext) File "setup.py", line 65, in build_extension subprocess.check_call(['cmake', '--build', '.'] + build_args, cwd=self.build_temp) File "/scratch/arash/anaconda3/envs/diffvg/lib/python3.8/subprocess.py", line 364, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['cmake', '--build', '.', '--config', 'Release', '--', '-j8']' returned non-zero exit status 2.

tuananhle7 commented 3 years ago

I've got a similar error, also on CentOS.

BachiLi commented 3 years ago

It seems that some gcc distribution (incorrectly) put max_align_t in a wrong namespace. Should be fixable by adding a macro for CentOS that removes the std:: namespace for max_align_t. Contributions are welcome.

udiland commented 1 year ago

Having the same problem on . any fix? tnx

dizzyvn commented 7 months ago

Should be fixable by adding a macro for CentOS that removes the std:: namespace for max_align_t

Just to clarify, rewriting std::max_align_t to max_align_t in scene.cpp fixes this error for me.