thu-nics/CLAP-triangle-counting

Error when compiling rabbit reorder

IkennaNWOZO opened this issue · 9 comments

(CLAP) root@03d38d594625:~/CLAP-triangle-counting/reorder_preprocess/rabbit_order/src# make
g++ -MD -fopenmp -std=c++14 -O3 -I/root/miniconda3/envs/CLAP/lib/python3.9/site-packages/torch/include/torch/csrc/api/include/torch/data.h -o reorder reorder.cpp -ltcmalloc_minimal -lnuma
cc1plus: warning: /root/miniconda3/envs/CLAP/lib/python3.9/site-packages/torch/include/torch/csrc/api/include/torch/data.h: not a directory
reorder.cpp:10:10: fatal error: torch/data.h: No such file or directory
10 | #include <torch/data.h>
| ^~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:14: reorder] Error 1

I have included the path to the data.h in the make file but the error persists

It seems to be a environment issue related to torch. Could you provide the system version, torch version, cuda version (if exists) that you are using?

You do not have to run make. Did you try follow the instruction in readme to run the script in correct path?

I followed the instructions and I ran the setup.py
This is the error that I get
I also get the same error when I create and run in the CLAP venv

(base) root@03d38d594625:~/CLAP-triangle-counting/reorder_preprocess/rabbit_order/src# python setup.py build
running build
running build_ext
building 'rabbit' extension
creating /root/CLAP-triangle-counting/reorder_preprocess/rabbit_order/src/build/temp.linux-aarch64-cpython-311
Emitting ninja build file /root/CLAP-triangle-counting/reorder_preprocess/rabbit_order/src/build/temp.linux-aarch64-cpython-311/build.ninja...
Compiling objects...
Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N)
[1/1] c++ -MMD -MF /root/CLAP-triangle-counting/reorder_preprocess/rabbit_order/src/build/temp.linux-aarch64-cpython-311/reorder.o.d -pthread -B /root/miniconda3/compiler_compat -Wsign-compare -DNDEBUG -fwrapv -O3 -Wall -fPIC -O3 -isystem /root/miniconda3/include -fPIC -O3 -isystem /root/miniconda3/include -fPIC -I/root/miniconda3/lib/python3.11/site-packages/torch/include -I/root/miniconda3/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -I/root/miniconda3/lib/python3.11/site-packages/torch/include/TH -I/root/miniconda3/lib/python3.11/site-packages/torch/include/THC -I/root/miniconda3/include/python3.11 -c -c /root/CLAP-triangle-counting/reorder_preprocess/rabbit_order/src/reorder.cpp -o /root/CLAP-triangle-counting/reorder_preprocess/rabbit_order/src/build/temp.linux-aarch64-cpython-311/reorder.o -O3 -fopenmp -mcx16 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1016"' -DTORCH_EXTENSION_NAME=rabbit -D_GLIBCXX_USE_CXX11_ABI=1 -std=gnu++14
FAILED: /root/CLAP-triangle-counting/reorder_preprocess/rabbit_order/src/build/temp.linux-aarch64-cpython-311/reorder.o
c++ -MMD -MF /root/CLAP-triangle-counting/reorder_preprocess/rabbit_order/src/build/temp.linux-aarch64-cpython-311/reorder.o.d -pthread -B /root/miniconda3/compiler_compat -Wsign-compare -DNDEBUG -fwrapv -O3 -Wall -fPIC -O3 -isystem /root/miniconda3/include -fPIC -O3 -isystem /root/miniconda3/include -fPIC -I/root/miniconda3/lib/python3.11/site-packages/torch/include -I/root/miniconda3/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -I/root/miniconda3/lib/python3.11/site-packages/torch/include/TH -I/root/miniconda3/lib/python3.11/site-packages/torch/include/THC -I/root/miniconda3/include/python3.11 -c -c /root/CLAP-triangle-counting/reorder_preprocess/rabbit_order/src/reorder.cpp -o /root/CLAP-triangle-counting/reorder_preprocess/rabbit_order/src/build/temp.linux-aarch64-cpython-311/reorder.o -O3 -fopenmp -mcx16 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1016"' -DTORCH_EXTENSION_NAME=rabbit -D_GLIBCXX_USE_CXX11_ABI=1 -std=gnu++14
c++: error: unrecognized command-line option ‘-mcx16’
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
File "/root/miniconda3/lib/python3.11/site-packages/torch/utils/cpp_extension.py", line 1905, in _run_ninja_build
subprocess.run(
File "/root/miniconda3/lib/python3.11/subprocess.py", line 571, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/root/CLAP-triangle-counting/reorder_preprocess/rabbit_order/src/setup.py", line 7, in
setup(
File "/root/miniconda3/lib/python3.11/site-packages/setuptools/init.py", line 107, in setup
return distutils.core.setup(**attrs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/miniconda3/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 185, in setup
return run_commands(dist)
^^^^^^^^^^^^^^^^^^
File "/root/miniconda3/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
dist.run_commands()
File "/root/miniconda3/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
self.run_command(cmd)
File "/root/miniconda3/lib/python3.11/site-packages/setuptools/dist.py", line 1234, in run_command
super().run_command(command)
File "/root/miniconda3/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/root/miniconda3/lib/python3.11/site-packages/setuptools/_distutils/command/build.py", line 131, in run
self.run_command(cmd_name)
File "/root/miniconda3/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
self.distribution.run_command(command)
File "/root/miniconda3/lib/python3.11/site-packages/setuptools/dist.py", line 1234, in run_command
super().run_command(command)
File "/root/miniconda3/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/root/miniconda3/lib/python3.11/site-packages/setuptools/command/build_ext.py", line 84, in run
_build_ext.run(self)
File "/root/miniconda3/lib/python3.11/site-packages/setuptools/_distutils/command/build_ext.py", line 345, in run
self.build_extensions()
File "/root/miniconda3/lib/python3.11/site-packages/torch/utils/cpp_extension.py", line 848, in build_extensions
build_ext.build_extensions(self)
File "/root/miniconda3/lib/python3.11/site-packages/setuptools/_distutils/command/build_ext.py", line 467, in build_extensions
self._build_extensions_serial()
File "/root/miniconda3/lib/python3.11/site-packages/setuptools/_distutils/command/build_ext.py", line 493, in _build_extensions_serial
self.build_extension(ext)
File "/root/miniconda3/lib/python3.11/site-packages/setuptools/command/build_ext.py", line 246, in build_extension
_build_ext.build_extension(self, ext)
File "/root/miniconda3/lib/python3.11/site-packages/setuptools/_distutils/command/build_ext.py", line 548, in build_extension
objects = self.compiler.compile(
^^^^^^^^^^^^^^^^^^^^^^
File "/root/miniconda3/lib/python3.11/site-packages/torch/utils/cpp_extension.py", line 663, in unix_wrap_ninja_compile
_write_ninja_file_and_compile_objects(
File "/root/miniconda3/lib/python3.11/site-packages/torch/utils/cpp_extension.py", line 1578, in _write_ninja_file_and_compile_objects
_run_ninja_build(
File "/root/miniconda3/lib/python3.11/site-packages/torch/utils/cpp_extension.py", line 1921, in _run_ninja_build
raise RuntimeError(message) from e
RuntimeError: Error compiling objects for extension

The problem seems to be caused by a compilation error c++: error: unrecognized command-line option ‘-mcx16'.
Are you running the code on a x86 architecture 64-bit machine? Are you using Windows or Linux? I think running the code on another machine that support CMPXCHG16b would help. I find this that might be helpful.

I am running on a mac with clang compiler. I will try running on a windows machine that supports CMPXCHG16b and get back

While it's not our recommendation to run the code on a Windows machine, if feasible, we suggest considering a Linux environment. Our code has been thoroughly tested on Ubuntu 20.04 with the gcc 9.4.0 compiler. Using a Linux setup will likely to get program run. Thank you for your understanding!

Oh okay, I will try on an ubuntu machine and get back. Thanks

Hi, we wanted to check if there have been any updates regarding the issue of running it on an Ubuntu machine. For the time being, we plan to close this issue, as it seems we have done all we can for now. However, please feel free to re-open it if any new related issues arise in the future.