Closed jnyjxn closed 3 years ago
Conda list:
# Name Version Build Channel
_libgcc_mutex 0.1 main
_openmp_mutex 4.5 1_gnu
ca-certificates 2021.7.5 h06a4308_1
certifi 2021.5.30 py36h06a4308_0
cycler 0.10.0 pypi_0 pypi
cython 0.29.24 py36h295c915_0
dataclasses 0.8 pypi_0 pypi
kiwisolver 1.3.1 pypi_0 pypi
ld_impl_linux-64 2.35.1 h7274673_9
libffi 3.3 he6710b0_2
libgcc-ng 9.3.0 h5101ec6_17
libgomp 9.3.0 h5101ec6_17
libstdcxx-ng 9.3.0 hd4cf53a_17
matplotlib 3.3.4 pypi_0 pypi
ncurses 6.2 he6710b0_1
numpy 1.19.5 pypi_0 pypi
openssl 1.1.1k h27cfd23_0
pillow 8.3.1 pypi_0 pypi
pip 21.0.1 py36h06a4308_0
protobuf 3.17.3 pypi_0 pypi
pyparsing 2.4.7 pypi_0 pypi
python 3.6.13 h12debd9_1
python-dateutil 2.8.2 pypi_0 pypi
pyyaml 5.4.1 pypi_0 pypi
readline 8.1 h27cfd23_0
setuptools 52.0.0 py36h06a4308_0
six 1.16.0 pypi_0 pypi
sqlite 3.36.0 hc218d9a_0
tensorboardx 2.4 pypi_0 pypi
tk 8.6.10 hbc83047_0
torch 1.9.0+cu111 pypi_0 pypi
torch-scatter 2.0.8 pypi_0 pypi
torchaudio 0.9.0 pypi_0 pypi
torchvision 0.10.0+cu111 pypi_0 pypi
tqdm 4.62.2 pypi_0 pypi
trimesh 3.9.29 pypi_0 pypi
typing-extensions 3.10.0.2 pypi_0 pypi
wheel 0.37.0 pyhd3eb1b0_0
xz 5.2.5 h7b6447c_0
zlib 1.2.11 h7b6447c_3
cuDNN errors when running with conda installed from environment.yaml
:
Current best validation metric (iou): -inf
Total number of parameters: 7812705
output path: /data4/jja17/experiments/conv_occ_net
Traceback (most recent call last):
File "train.py", line 138, in <module>
loss = trainer.train_step(batch)
File "/home/jja17/Documents/Code/convolutional_occupancy_networks/src/conv_onet/training.py", line 47, in train_step
loss = self.compute_loss(data)
File "/home/jja17/Documents/Code/convolutional_occupancy_networks/src/conv_onet/training.py", line 133, in compute_loss
c = self.model.encode_inputs(inputs)
File "/home/jja17/Documents/Code/convolutional_occupancy_networks/src/conv_onet/models/__init__.py", line 60, in encode_inputs
c = self.encoder(inputs)
File "/home/jja17/miniconda3/envs/conv_onet/lib/python3.6/site-packages/torch/nn/modules/module.py", line 532, in __call__
result = self.forward(*input, **kwargs)
File "/home/jja17/Documents/Code/convolutional_occupancy_networks/src/encoder/pointnet.py", line 152, in forward
fea['xz'] = self.generate_plane_features(p, c, plane='xz')
File "/home/jja17/Documents/Code/convolutional_occupancy_networks/src/encoder/pointnet.py", line 82, in generate_plane_features
fea_plane = self.unet(fea_plane)
File "/home/jja17/miniconda3/envs/conv_onet/lib/python3.6/site-packages/torch/nn/modules/module.py", line 532, in __call__
result = self.forward(*input, **kwargs)
File "/home/jja17/Documents/Code/convolutional_occupancy_networks/src/encoder/unet.py", line 229, in forward
x, before_pool = module(x)
File "/home/jja17/miniconda3/envs/conv_onet/lib/python3.6/site-packages/torch/nn/modules/module.py", line 532, in __call__
result = self.forward(*input, **kwargs)
File "/home/jja17/Documents/Code/convolutional_occupancy_networks/src/encoder/unet.py", line 67, in forward
x = F.relu(self.conv1(x))
File "/home/jja17/miniconda3/envs/conv_onet/lib/python3.6/site-packages/torch/nn/modules/module.py", line 532, in __call__
result = self.forward(*input, **kwargs)
File "/home/jja17/miniconda3/envs/conv_onet/lib/python3.6/site-packages/torch/nn/modules/conv.py", line 345, in forward
return self.conv2d_forward(input, self.weight)
File "/home/jja17/miniconda3/envs/conv_onet/lib/python3.6/site-packages/torch/nn/modules/conv.py", line 342, in conv2d_forward
self.padding, self.dilation, self.groups)
RuntimeError: cuDNN error: CUDNN_STATUS_EXECUTION_FAILED
Build errors with unmodified setup.py:
running build_ext
building 'src.utils.libkdtree.pykdtree.kdtree' extension
Emitting ninja build file /home/jja17/Documents/Code/convolutional_occupancy_networks/build/temp.linux-x86_64-3.6/build.ninja...
Compiling objects...
Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N)
[1/2] c++ -MMD -MF /home/jja17/Documents/Code/convolutional_occupancy_networks/build/temp.linux-x86_64-3.6/src/utils/libkdtree/pykdtree/_kdtree_core.o.d -pthread -B /home/jja17/miniconda3/envs/co/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/jja17/miniconda3/envs/co/lib/python3.6/site-packages/numpy/core/include -I/home/jja17/miniconda3/envs/co/include/python3.6m -c -c /home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c -o /home/jja17/Documents/Code/convolutional_occupancy_networks/build/temp.linux-x86_64-3.6/src/utils/libkdtree/pykdtree/_kdtree_core.o -std=c99 -O3 -fopenmp -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=kdtree -D_GLIBCXX_USE_CXX11_ABI=0
FAILED: /home/jja17/Documents/Code/convolutional_occupancy_networks/build/temp.linux-x86_64-3.6/src/utils/libkdtree/pykdtree/_kdtree_core.o
c++ -MMD -MF /home/jja17/Documents/Code/convolutional_occupancy_networks/build/temp.linux-x86_64-3.6/src/utils/libkdtree/pykdtree/_kdtree_core.o.d -pthread -B /home/jja17/miniconda3/envs/co/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/jja17/miniconda3/envs/co/lib/python3.6/site-packages/numpy/core/include -I/home/jja17/miniconda3/envs/co/include/python3.6m -c -c /home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c -o /home/jja17/Documents/Code/convolutional_occupancy_networks/build/temp.linux-x86_64-3.6/src/utils/libkdtree/pykdtree/_kdtree_core.o -std=c99 -O3 -fopenmp -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=kdtree -D_GLIBCXX_USE_CXX11_ABI=0
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
cc1plus: warning: command line option ‘-std=c99’ is valid for C/ObjC but not for C++
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:49:3: error: conflicting declaration ‘typedef struct Node_float Node_float’
49 | } Node_float;
| ^~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:47:12: note: previous declaration as ‘struct Node_float’
47 | struct Node_float *left_child;
| ^~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:70:3: error: conflicting declaration ‘typedef struct Node_double Node_double’
70 | } Node_double;
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:68:12: note: previous declaration as ‘struct Node_double’
68 | struct Node_double *left_child;
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:95:40: error: expected ‘,’ or ‘...’ before ‘pa’
95 | void search_leaf_float(float *restrict pa, uint32_t *restrict pidx, int8_t no_dims, uint32_t start_idx, uint32_t n, float *restrict point_coord,
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:97:45: error: expected ‘,’ or ‘...’ before ‘pa’
97 | void search_leaf_float_mask(float *restrict pa, uint32_t *restrict pidx, int8_t no_dims, uint32_t start_idx, uint32_t n, float *restrict point_coord,
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:119:42: error: expected ‘,’ or ‘...’ before ‘pa’
119 | void search_leaf_double(double *restrict pa, uint32_t *restrict pidx, int8_t no_dims, uint32_t start_idx, uint32_t n, double *restrict point_coord,
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:121:47: error: expected ‘,’ or ‘...’ before ‘pa’
121 | void search_leaf_double_mask(double *restrict pa, uint32_t *restrict pidx, int8_t no_dims, uint32_t start_idx, uint32_t n, double *restrict point_coord,
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c: In function ‘Node_float* construct_subtree_float(float*, uint32_t*, int8_t, uint32_t, uint32_t, uint32_t, float*)’:
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:346:13: error: invalid use of incomplete type ‘struct Node_float’
346 | root->cut_dim = -1;
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:47:12: note: forward declaration of ‘struct Node_float’
47 | struct Node_float *left_child;
| ^~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:355:17: error: invalid use of incomplete type ‘struct Node_float’
355 | root->cut_dim = -1;
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:47:12: note: forward declaration of ‘struct Node_float’
47 | struct Node_float *left_child;
| ^~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:358:13: error: invalid use of incomplete type ‘struct Node_float’
358 | root->cut_val = cut_val;
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:47:12: note: forward declaration of ‘struct Node_float’
47 | struct Node_float *left_child;
| ^~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:359:13: error: invalid use of incomplete type ‘struct Node_float’
359 | root->cut_dim = cut_dim;
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:47:12: note: forward declaration of ‘struct Node_float’
47 | struct Node_float *left_child;
| ^~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:366:13: error: invalid use of incomplete type ‘struct Node_float’
366 | root->cut_bounds_lv = lv;
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:47:12: note: forward declaration of ‘struct Node_float’
47 | struct Node_float *left_child;
| ^~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:367:13: error: invalid use of incomplete type ‘struct Node_float’
367 | root->cut_bounds_hv = hv;
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:47:12: note: forward declaration of ‘struct Node_float’
47 | struct Node_float *left_child;
| ^~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:371:13: error: invalid use of incomplete type ‘struct Node_float’
371 | root->left_child = (struct Node_float *)construct_subtree_float(pa, pidx, no_dims, start_idx, n_lo, bsp, bbox);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:47:12: note: forward declaration of ‘struct Node_float’
47 | struct Node_float *left_child;
| ^~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:376:13: error: invalid use of incomplete type ‘struct Node_float’
376 | root->right_child = (struct Node_float *)construct_subtree_float(pa, pidx, no_dims, start_idx + n_lo, n - n_lo, bsp, bbox);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:47:12: note: forward declaration of ‘struct Node_float’
47 | struct Node_float *left_child;
| ^~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c: In function ‘Node_float* create_node_float(uint32_t, uint32_t, int)’:
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:433:58: error: invalid application of ‘sizeof’ to incomplete type ‘Node_float’
433 | new_node = (Node_float *)malloc(sizeof(Node_float) - 2 * sizeof(Node_float *));
| ^
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:437:58: error: invalid application of ‘sizeof’ to incomplete type ‘Node_float’
437 | new_node = (Node_float *)malloc(sizeof(Node_float));
| ^
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:439:13: error: invalid use of incomplete type ‘struct Node_float’
439 | new_node->n = n;
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:47:12: note: forward declaration of ‘struct Node_float’
47 | struct Node_float *left_child;
| ^~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:440:13: error: invalid use of incomplete type ‘struct Node_float’
440 | new_node->start_idx = start_idx;
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:47:12: note: forward declaration of ‘struct Node_float’
47 | struct Node_float *left_child;
| ^~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c: In function ‘void delete_subtree_float(Node_float*)’:
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:451:13: error: invalid use of incomplete type ‘struct Node_float’
451 | if (root->cut_dim != -1)
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:47:12: note: forward declaration of ‘struct Node_float’
47 | struct Node_float *left_child;
| ^~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:453:48: error: invalid use of incomplete type ‘struct Node_float’
453 | delete_subtree_float((Node_float *)root->left_child);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:47:12: note: forward declaration of ‘struct Node_float’
47 | struct Node_float *left_child;
| ^~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:454:48: error: invalid use of incomplete type ‘struct Node_float’
454 | delete_subtree_float((Node_float *)root->right_child);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:47:12: note: forward declaration of ‘struct Node_float’
47 | struct Node_float *left_child;
| ^~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c: In function ‘void print_tree_float(Node_float*, int)’:
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:482:48: error: invalid use of incomplete type ‘struct Node_float’
482 | printf("(cut_val: %f, cut_dim: %i)\n", root->cut_val, root->cut_dim);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:47:12: note: forward declaration of ‘struct Node_float’
47 | struct Node_float *left_child;
| ^~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:482:63: error: invalid use of incomplete type ‘struct Node_float’
482 | printf("(cut_val: %f, cut_dim: %i)\n", root->cut_val, root->cut_dim);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:47:12: note: forward declaration of ‘struct Node_float’
47 | struct Node_float *left_child;
| ^~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:483:13: error: invalid use of incomplete type ‘struct Node_float’
483 | if (root->cut_dim != -1)
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:47:12: note: forward declaration of ‘struct Node_float’
47 | struct Node_float *left_child;
| ^~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:484:44: error: invalid use of incomplete type ‘struct Node_float’
484 | print_tree_float((Node_float *)root->left_child, level + 1);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:47:12: note: forward declaration of ‘struct Node_float’
47 | struct Node_float *left_child;
| ^~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:485:13: error: invalid use of incomplete type ‘struct Node_float’
485 | if (root->cut_dim != -1)
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:47:12: note: forward declaration of ‘struct Node_float’
47 | struct Node_float *left_child;
| ^~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:486:44: error: invalid use of incomplete type ‘struct Node_float’
486 | print_tree_float((Node_float *)root->right_child, level + 1);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:47:12: note: forward declaration of ‘struct Node_float’
47 | struct Node_float *left_child;
| ^~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c: At global scope:
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:569:40: error: expected ‘,’ or ‘...’ before ‘pa’
569 | void search_leaf_float(float *restrict pa, uint32_t *restrict pidx, int8_t no_dims, uint32_t start_idx, uint32_t n, float *restrict point_coord,
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c: In function ‘void search_leaf_float(float*)’:
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:575:21: error: ‘n’ was not declared in this scope
575 | for (i = 0; i < n; i++)
| ^
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:31:20: error: ‘pa’ was not declared in this scope
31 | #define PA(i,d) (pa[no_dims * pidx[i] + d])
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:578:37: note: in expansion of macro ‘PA’
578 | cur_dist = calc_dist_float(&PA(start_idx + i, 0), point_coord, no_dims);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:31:23: error: ‘no_dims’ was not declared in this scope
31 | #define PA(i,d) (pa[no_dims * pidx[i] + d])
| ^~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:578:37: note: in expansion of macro ‘PA’
578 | cur_dist = calc_dist_float(&PA(start_idx + i, 0), point_coord, no_dims);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:31:33: error: ‘pidx’ was not declared in this scope
31 | #define PA(i,d) (pa[no_dims * pidx[i] + d])
| ^~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:578:37: note: in expansion of macro ‘PA’
578 | cur_dist = calc_dist_float(&PA(start_idx + i, 0), point_coord, no_dims);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:578:40: error: ‘start_idx’ was not declared in this scope
578 | cur_dist = calc_dist_float(&PA(start_idx + i, 0), point_coord, no_dims);
| ^~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:31:38: note: in definition of macro ‘PA’
31 | #define PA(i,d) (pa[no_dims * pidx[i] + d])
| ^
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:578:59: error: ‘point_coord’ was not declared in this scope
578 | cur_dist = calc_dist_float(&PA(start_idx + i, 0), point_coord, no_dims);
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:580:24: error: ‘closest_dist’ was not declared in this scope
580 | if (cur_dist < closest_dist[k - 1])
| ^~~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:580:37: error: ‘k’ was not declared in this scope
580 | if (cur_dist < closest_dist[k - 1])
| ^
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:582:32: error: ‘closest_idx’ was not declared in this scope
582 | insert_point_float(closest_idx, closest_dist, pidx[start_idx + i], cur_dist, k);
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c: At global scope:
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:601:45: error: expected ‘,’ or ‘...’ before ‘pa’
601 | void search_leaf_float_mask(float *restrict pa, uint32_t *restrict pidx, int8_t no_dims, uint32_t start_idx, uint32_t n, float *restrict point_coord,
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c: In function ‘void search_leaf_float_mask(float*)’:
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:607:21: error: ‘n’ was not declared in this scope
607 | for (i = 0; i < n; i++)
| ^
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:610:13: error: ‘mask’ was not declared in this scope
610 | if (mask[pidx[start_idx + i]])
| ^~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:610:18: error: ‘pidx’ was not declared in this scope
610 | if (mask[pidx[start_idx + i]])
| ^~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:610:23: error: ‘start_idx’ was not declared in this scope
610 | if (mask[pidx[start_idx + i]])
| ^~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:31:20: error: ‘pa’ was not declared in this scope
31 | #define PA(i,d) (pa[no_dims * pidx[i] + d])
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:615:37: note: in expansion of macro ‘PA’
615 | cur_dist = calc_dist_float(&PA(start_idx + i, 0), point_coord, no_dims);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:31:23: error: ‘no_dims’ was not declared in this scope
31 | #define PA(i,d) (pa[no_dims * pidx[i] + d])
| ^~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:615:37: note: in expansion of macro ‘PA’
615 | cur_dist = calc_dist_float(&PA(start_idx + i, 0), point_coord, no_dims);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:31:33: error: ‘pidx’ was not declared in this scope
31 | #define PA(i,d) (pa[no_dims * pidx[i] + d])
| ^~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:615:37: note: in expansion of macro ‘PA’
615 | cur_dist = calc_dist_float(&PA(start_idx + i, 0), point_coord, no_dims);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:615:40: error: ‘start_idx’ was not declared in this scope
615 | cur_dist = calc_dist_float(&PA(start_idx + i, 0), point_coord, no_dims);
| ^~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:31:38: note: in definition of macro ‘PA’
31 | #define PA(i,d) (pa[no_dims * pidx[i] + d])
| ^
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:615:59: error: ‘point_coord’ was not declared in this scope
615 | cur_dist = calc_dist_float(&PA(start_idx + i, 0), point_coord, no_dims);
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:617:24: error: ‘closest_dist’ was not declared in this scope
617 | if (cur_dist < closest_dist[k - 1])
| ^~~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:617:37: error: ‘k’ was not declared in this scope
617 | if (cur_dist < closest_dist[k - 1])
| ^
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:619:32: error: ‘closest_idx’ was not declared in this scope
619 | insert_point_float(closest_idx, closest_dist, pidx[start_idx + i], cur_dist, k);
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c: In function ‘void search_splitnode_float(Node_float*, float*, uint32_t*, int8_t, float*, float, uint32_t, float, float, uint8_t*, uint32_t*, float*)’:
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:652:15: error: invalid use of incomplete type ‘struct Node_float’
652 | dim = root->cut_dim;
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:47:12: note: forward declaration of ‘struct Node_float’
47 | struct Node_float *left_child;
| ^~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:659:59: error: invalid use of incomplete type ‘struct Node_float’
659 | search_leaf_float_mask(pa, pidx, no_dims, root->start_idx, root->n, point_coord, k, mask, closest_idx, closest_dist);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:47:12: note: forward declaration of ‘struct Node_float’
47 | struct Node_float *left_child;
| ^~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:659:76: error: invalid use of incomplete type ‘struct Node_float’
659 | search_leaf_float_mask(pa, pidx, no_dims, root->start_idx, root->n, point_coord, k, mask, closest_idx, closest_dist);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:47:12: note: forward declaration of ‘struct Node_float’
47 | struct Node_float *left_child;
| ^~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:663:54: error: invalid use of incomplete type ‘struct Node_float’
663 | search_leaf_float(pa, pidx, no_dims, root->start_idx, root->n, point_coord, k, closest_idx, closest_dist);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:47:12: note: forward declaration of ‘struct Node_float’
47 | struct Node_float *left_child;
| ^~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:663:71: error: invalid use of incomplete type ‘struct Node_float’
663 | search_leaf_float(pa, pidx, no_dims, root->start_idx, root->n, point_coord, k, closest_idx, closest_dist);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:47:12: note: forward declaration of ‘struct Node_float’
47 | struct Node_float *left_child;
| ^~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:669:41: error: invalid use of incomplete type ‘struct Node_float’
669 | new_offset = point_coord[dim] - root->cut_val;
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:47:12: note: forward declaration of ‘struct Node_float’
47 | struct Node_float *left_child;
| ^~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:678:54: error: invalid use of incomplete type ‘struct Node_float’
678 | search_splitnode_float((Node_float *)root->left_child, pa, pidx, no_dims, point_coord, dist_left, k, distance_upper_bound, eps_fac, mask, closest_idx, closest_dist);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:47:12: note: forward declaration of ‘struct Node_float’
47 | struct Node_float *left_child;
| ^~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:684:24: error: invalid use of incomplete type ‘struct Node_float’
684 | box_diff = root->cut_bounds_lv - point_coord[dim];
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:47:12: note: forward declaration of ‘struct Node_float’
47 | struct Node_float *left_child;
| ^~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:693:54: error: invalid use of incomplete type ‘struct Node_float’
693 | search_splitnode_float((Node_float *)root->right_child, pa, pidx, no_dims, point_coord, dist_right, k, distance_upper_bound, eps_fac, mask, closest_idx, closest_dist);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:47:12: note: forward declaration of ‘struct Node_float’
47 | struct Node_float *left_child;
| ^~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:703:54: error: invalid use of incomplete type ‘struct Node_float’
703 | search_splitnode_float((Node_float *)root->right_child, pa, pidx, no_dims, point_coord, dist_right, k, distance_upper_bound, eps_fac, mask, closest_idx, closest_dist);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:47:12: note: forward declaration of ‘struct Node_float’
47 | struct Node_float *left_child;
| ^~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:709:43: error: invalid use of incomplete type ‘struct Node_float’
709 | box_diff = point_coord[dim] - root->cut_bounds_hv;
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:47:12: note: forward declaration of ‘struct Node_float’
47 | struct Node_float *left_child;
| ^~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:718:54: error: invalid use of incomplete type ‘struct Node_float’
718 | search_splitnode_float((Node_float *)root->left_child, pa, pidx, no_dims, point_coord, dist_left, k, distance_upper_bound, eps_fac, mask, closest_idx, closest_dist);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:47:12: note: forward declaration of ‘struct Node_float’
47 | struct Node_float *left_child;
| ^~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c: In function ‘Node_double* construct_subtree_double(double*, uint32_t*, int8_t, uint32_t, uint32_t, uint32_t, double*)’:
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:990:13: error: invalid use of incomplete type ‘struct Node_double’
990 | root->cut_dim = -1;
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:68:12: note: forward declaration of ‘struct Node_double’
68 | struct Node_double *left_child;
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:999:17: error: invalid use of incomplete type ‘struct Node_double’
999 | root->cut_dim = -1;
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:68:12: note: forward declaration of ‘struct Node_double’
68 | struct Node_double *left_child;
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1002:13: error: invalid use of incomplete type ‘struct Node_double’
1002 | root->cut_val = cut_val;
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:68:12: note: forward declaration of ‘struct Node_double’
68 | struct Node_double *left_child;
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1003:13: error: invalid use of incomplete type ‘struct Node_double’
1003 | root->cut_dim = cut_dim;
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:68:12: note: forward declaration of ‘struct Node_double’
68 | struct Node_double *left_child;
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1010:13: error: invalid use of incomplete type ‘struct Node_double’
1010 | root->cut_bounds_lv = lv;
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:68:12: note: forward declaration of ‘struct Node_double’
68 | struct Node_double *left_child;
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1011:13: error: invalid use of incomplete type ‘struct Node_double’
1011 | root->cut_bounds_hv = hv;
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:68:12: note: forward declaration of ‘struct Node_double’
68 | struct Node_double *left_child;
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1015:13: error: invalid use of incomplete type ‘struct Node_double’
1015 | root->left_child = (struct Node_double *)construct_subtree_double(pa, pidx, no_dims, start_idx, n_lo, bsp, bbox);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:68:12: note: forward declaration of ‘struct Node_double’
68 | struct Node_double *left_child;
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1020:13: error: invalid use of incomplete type ‘struct Node_double’
1020 | root->right_child = (struct Node_double *)construct_subtree_double(pa, pidx, no_dims, start_idx + n_lo, n - n_lo, bsp, bbox);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:68:12: note: forward declaration of ‘struct Node_double’
68 | struct Node_double *left_child;
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c: In function ‘Node_double* create_node_double(uint32_t, uint32_t, int)’:
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1077:60: error: invalid application of ‘sizeof’ to incomplete type ‘Node_double’
1077 | new_node = (Node_double *)malloc(sizeof(Node_double) - 2 * sizeof(Node_double *));
| ^
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1081:60: error: invalid application of ‘sizeof’ to incomplete type ‘Node_double’
1081 | new_node = (Node_double *)malloc(sizeof(Node_double));
| ^
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1083:13: error: invalid use of incomplete type ‘struct Node_double’
1083 | new_node->n = n;
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:68:12: note: forward declaration of ‘struct Node_double’
68 | struct Node_double *left_child;
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1084:13: error: invalid use of incomplete type ‘struct Node_double’
1084 | new_node->start_idx = start_idx;
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:68:12: note: forward declaration of ‘struct Node_double’
68 | struct Node_double *left_child;
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c: In function ‘void delete_subtree_double(Node_double*)’:
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1095:13: error: invalid use of incomplete type ‘struct Node_double’
1095 | if (root->cut_dim != -1)
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:68:12: note: forward declaration of ‘struct Node_double’
68 | struct Node_double *left_child;
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1097:50: error: invalid use of incomplete type ‘struct Node_double’
1097 | delete_subtree_double((Node_double *)root->left_child);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:68:12: note: forward declaration of ‘struct Node_double’
68 | struct Node_double *left_child;
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1098:50: error: invalid use of incomplete type ‘struct Node_double’
1098 | delete_subtree_double((Node_double *)root->right_child);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:68:12: note: forward declaration of ‘struct Node_double’
68 | struct Node_double *left_child;
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c: In function ‘void print_tree_double(Node_double*, int)’:
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1126:48: error: invalid use of incomplete type ‘struct Node_double’
1126 | printf("(cut_val: %f, cut_dim: %i)\n", root->cut_val, root->cut_dim);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:68:12: note: forward declaration of ‘struct Node_double’
68 | struct Node_double *left_child;
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1126:63: error: invalid use of incomplete type ‘struct Node_double’
1126 | printf("(cut_val: %f, cut_dim: %i)\n", root->cut_val, root->cut_dim);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:68:12: note: forward declaration of ‘struct Node_double’
68 | struct Node_double *left_child;
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1127:13: error: invalid use of incomplete type ‘struct Node_double’
1127 | if (root->cut_dim != -1)
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:68:12: note: forward declaration of ‘struct Node_double’
68 | struct Node_double *left_child;
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1128:46: error: invalid use of incomplete type ‘struct Node_double’
1128 | print_tree_double((Node_double *)root->left_child, level + 1);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:68:12: note: forward declaration of ‘struct Node_double’
68 | struct Node_double *left_child;
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1129:13: error: invalid use of incomplete type ‘struct Node_double’
1129 | if (root->cut_dim != -1)
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:68:12: note: forward declaration of ‘struct Node_double’
68 | struct Node_double *left_child;
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1130:46: error: invalid use of incomplete type ‘struct Node_double’
1130 | print_tree_double((Node_double *)root->right_child, level + 1);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:68:12: note: forward declaration of ‘struct Node_double’
68 | struct Node_double *left_child;
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c: At global scope:
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1213:42: error: expected ‘,’ or ‘...’ before ‘pa’
1213 | void search_leaf_double(double *restrict pa, uint32_t *restrict pidx, int8_t no_dims, uint32_t start_idx, uint32_t n, double *restrict point_coord,
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c: In function ‘void search_leaf_double(double*)’:
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1219:21: error: ‘n’ was not declared in this scope
1219 | for (i = 0; i < n; i++)
| ^
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:31:20: error: ‘pa’ was not declared in this scope
31 | #define PA(i,d) (pa[no_dims * pidx[i] + d])
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1222:38: note: in expansion of macro ‘PA’
1222 | cur_dist = calc_dist_double(&PA(start_idx + i, 0), point_coord, no_dims);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:31:23: error: ‘no_dims’ was not declared in this scope
31 | #define PA(i,d) (pa[no_dims * pidx[i] + d])
| ^~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1222:38: note: in expansion of macro ‘PA’
1222 | cur_dist = calc_dist_double(&PA(start_idx + i, 0), point_coord, no_dims);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:31:33: error: ‘pidx’ was not declared in this scope
31 | #define PA(i,d) (pa[no_dims * pidx[i] + d])
| ^~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1222:38: note: in expansion of macro ‘PA’
1222 | cur_dist = calc_dist_double(&PA(start_idx + i, 0), point_coord, no_dims);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1222:41: error: ‘start_idx’ was not declared in this scope
1222 | cur_dist = calc_dist_double(&PA(start_idx + i, 0), point_coord, no_dims);
| ^~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:31:38: note: in definition of macro ‘PA’
31 | #define PA(i,d) (pa[no_dims * pidx[i] + d])
| ^
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1222:60: error: ‘point_coord’ was not declared in this scope
1222 | cur_dist = calc_dist_double(&PA(start_idx + i, 0), point_coord, no_dims);
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1224:24: error: ‘closest_dist’ was not declared in this scope
1224 | if (cur_dist < closest_dist[k - 1])
| ^~~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1224:37: error: ‘k’ was not declared in this scope
1224 | if (cur_dist < closest_dist[k - 1])
| ^
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1226:33: error: ‘closest_idx’ was not declared in this scope
1226 | insert_point_double(closest_idx, closest_dist, pidx[start_idx + i], cur_dist, k);
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c: At global scope:
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1245:47: error: expected ‘,’ or ‘...’ before ‘pa’
1245 | void search_leaf_double_mask(double *restrict pa, uint32_t *restrict pidx, int8_t no_dims, uint32_t start_idx, uint32_t n, double *restrict point_coord,
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c: In function ‘void search_leaf_double_mask(double*)’:
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1251:21: error: ‘n’ was not declared in this scope
1251 | for (i = 0; i < n; i++)
| ^
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1254:13: error: ‘mask’ was not declared in this scope
1254 | if (mask[pidx[start_idx + i]])
| ^~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1254:18: error: ‘pidx’ was not declared in this scope
1254 | if (mask[pidx[start_idx + i]])
| ^~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1254:23: error: ‘start_idx’ was not declared in this scope
1254 | if (mask[pidx[start_idx + i]])
| ^~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:31:20: error: ‘pa’ was not declared in this scope
31 | #define PA(i,d) (pa[no_dims * pidx[i] + d])
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1259:38: note: in expansion of macro ‘PA’
1259 | cur_dist = calc_dist_double(&PA(start_idx + i, 0), point_coord, no_dims);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:31:23: error: ‘no_dims’ was not declared in this scope
31 | #define PA(i,d) (pa[no_dims * pidx[i] + d])
| ^~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1259:38: note: in expansion of macro ‘PA’
1259 | cur_dist = calc_dist_double(&PA(start_idx + i, 0), point_coord, no_dims);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:31:33: error: ‘pidx’ was not declared in this scope
31 | #define PA(i,d) (pa[no_dims * pidx[i] + d])
| ^~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1259:38: note: in expansion of macro ‘PA’
1259 | cur_dist = calc_dist_double(&PA(start_idx + i, 0), point_coord, no_dims);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1259:41: error: ‘start_idx’ was not declared in this scope
1259 | cur_dist = calc_dist_double(&PA(start_idx + i, 0), point_coord, no_dims);
| ^~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:31:38: note: in definition of macro ‘PA’
31 | #define PA(i,d) (pa[no_dims * pidx[i] + d])
| ^
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1259:60: error: ‘point_coord’ was not declared in this scope
1259 | cur_dist = calc_dist_double(&PA(start_idx + i, 0), point_coord, no_dims);
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1261:24: error: ‘closest_dist’ was not declared in this scope
1261 | if (cur_dist < closest_dist[k - 1])
| ^~~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1261:37: error: ‘k’ was not declared in this scope
1261 | if (cur_dist < closest_dist[k - 1])
| ^
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1263:33: error: ‘closest_idx’ was not declared in this scope
1263 | insert_point_double(closest_idx, closest_dist, pidx[start_idx + i], cur_dist, k);
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c: In function ‘void search_splitnode_double(Node_double*, double*, uint32_t*, int8_t, double*, double, uint32_t, double, double, uint8_t*, uint32_t*, double*)’:
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1296:15: error: invalid use of incomplete type ‘struct Node_double’
1296 | dim = root->cut_dim;
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:68:12: note: forward declaration of ‘struct Node_double’
68 | struct Node_double *left_child;
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1303:60: error: invalid use of incomplete type ‘struct Node_double’
1303 | search_leaf_double_mask(pa, pidx, no_dims, root->start_idx, root->n, point_coord, k, mask, closest_idx, closest_dist);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:68:12: note: forward declaration of ‘struct Node_double’
68 | struct Node_double *left_child;
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1303:77: error: invalid use of incomplete type ‘struct Node_double’
1303 | search_leaf_double_mask(pa, pidx, no_dims, root->start_idx, root->n, point_coord, k, mask, closest_idx, closest_dist);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:68:12: note: forward declaration of ‘struct Node_double’
68 | struct Node_double *left_child;
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1307:55: error: invalid use of incomplete type ‘struct Node_double’
1307 | search_leaf_double(pa, pidx, no_dims, root->start_idx, root->n, point_coord, k, closest_idx, closest_dist);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:68:12: note: forward declaration of ‘struct Node_double’
68 | struct Node_double *left_child;
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1307:72: error: invalid use of incomplete type ‘struct Node_double’
1307 | search_leaf_double(pa, pidx, no_dims, root->start_idx, root->n, point_coord, k, closest_idx, closest_dist);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:68:12: note: forward declaration of ‘struct Node_double’
68 | struct Node_double *left_child;
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1313:41: error: invalid use of incomplete type ‘struct Node_double’
1313 | new_offset = point_coord[dim] - root->cut_val;
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:68:12: note: forward declaration of ‘struct Node_double’
68 | struct Node_double *left_child;
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1322:56: error: invalid use of incomplete type ‘struct Node_double’
1322 | search_splitnode_double((Node_double *)root->left_child, pa, pidx, no_dims, point_coord, dist_left, k, distance_upper_bound, eps_fac, mask, closest_idx, closest_dist);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:68:12: note: forward declaration of ‘struct Node_double’
68 | struct Node_double *left_child;
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1328:24: error: invalid use of incomplete type ‘struct Node_double’
1328 | box_diff = root->cut_bounds_lv - point_coord[dim];
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:68:12: note: forward declaration of ‘struct Node_double’
68 | struct Node_double *left_child;
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1337:56: error: invalid use of incomplete type ‘struct Node_double’
1337 | search_splitnode_double((Node_double *)root->right_child, pa, pidx, no_dims, point_coord, dist_right, k, distance_upper_bound, eps_fac, mask, closest_idx, closest_dist);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:68:12: note: forward declaration of ‘struct Node_double’
68 | struct Node_double *left_child;
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1347:56: error: invalid use of incomplete type ‘struct Node_double’
1347 | search_splitnode_double((Node_double *)root->right_child, pa, pidx, no_dims, point_coord, dist_right, k, distance_upper_bound, eps_fac, mask, closest_idx, closest_dist);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:68:12: note: forward declaration of ‘struct Node_double’
68 | struct Node_double *left_child;
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1353:43: error: invalid use of incomplete type ‘struct Node_double’
1353 | box_diff = point_coord[dim] - root->cut_bounds_hv;
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:68:12: note: forward declaration of ‘struct Node_double’
68 | struct Node_double *left_child;
| ^~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:1362:56: error: invalid use of incomplete type ‘struct Node_double’
1362 | search_splitnode_double((Node_double *)root->left_child, pa, pidx, no_dims, point_coord, dist_left, k, distance_upper_bound, eps_fac, mask, closest_idx, closest_dist);
| ^~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/_kdtree_core.c:68:12: note: forward declaration of ‘struct Node_double’
68 | struct Node_double *left_child;
| ^~~~~~~~~~~
[2/2] c++ -MMD -MF /home/jja17/Documents/Code/convolutional_occupancy_networks/build/temp.linux-x86_64-3.6/src/utils/libkdtree/pykdtree/kdtree.o.d -pthread -B /home/jja17/miniconda3/envs/co/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/jja17/miniconda3/envs/co/lib/python3.6/site-packages/numpy/core/include -I/home/jja17/miniconda3/envs/co/include/python3.6m -c -c /home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/kdtree.c -o /home/jja17/Documents/Code/convolutional_occupancy_networks/build/temp.linux-x86_64-3.6/src/utils/libkdtree/pykdtree/kdtree.o -std=c99 -O3 -fopenmp -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=kdtree -D_GLIBCXX_USE_CXX11_ABI=0
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
cc1plus: warning: command line option ‘-std=c99’ is valid for C/ObjC but not for C++
In file included from /home/jja17/miniconda3/envs/co/lib/python3.6/site-packages/numpy/core/include/numpy/ndarraytypes.h:1822,
from /home/jja17/miniconda3/envs/co/lib/python3.6/site-packages/numpy/core/include/numpy/ndarrayobject.h:12,
from /home/jja17/miniconda3/envs/co/lib/python3.6/site-packages/numpy/core/include/numpy/arrayobject.h:4,
from /home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/kdtree.c:525:
/home/jja17/miniconda3/envs/co/lib/python3.6/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: #warning "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
17 | #warning "Using deprecated NumPy API, disable it with " \
| ^~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/kdtree.c: In function ‘PyObject* __pyx_pf_8pykdtree_6kdtree_6KDTree_4query(__pyx_obj_8pykdtree_6kdtree_KDTree*, PyArrayObject*, PyObject*, PyObject*, PyObject*, PyObject*, PyObject*)’:
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/kdtree.c:4233:37: warning: ‘__pyx_v_dub_double’ may be used uninitialized in this function [-Wmaybe-uninitialized]
4233 | __pyx_t_8 = PyFloat_FromDouble(__pyx_v_dub_double); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 266, __pyx_L1_error)
| ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/kdtree.c:4208:37: warning: ‘__pyx_v_dub_float’ may be used uninitialized in this function [-Wmaybe-uninitialized]
4208 | __pyx_t_1 = PyFloat_FromDouble(__pyx_v_dub_float); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 264, __pyx_L1_error)
| ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/kdtree.c:3978:29: warning: ‘__pyx_v_query_array_data_double’ may be used uninitialized in this function [-Wmaybe-uninitialized]
3978 | search_tree_double(__pyx_v_self->_kdtree_double, __pyx_v_self->_data_pts_data_double, __pyx_v_query_array_data_double, __pyx_v_num_qpoints, __pyx_v_num_n, __pyx_v_dub_double, __pyx_v_epsilon_double, __pyx_v_query_mask_data, __pyx_v_closest_idxs_data, __pyx_v_closest_dists_data_double);
| ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/kdtree.c:3923:28: warning: ‘__pyx_v_query_array_data_float’ may be used uninitialized in this function [-Wmaybe-uninitialized]
3923 | search_tree_float(__pyx_v_self->_kdtree_float, __pyx_v_self->_data_pts_data_float, __pyx_v_query_array_data_float, __pyx_v_num_qpoints, __pyx_v_num_n, __pyx_v_dub_float, __pyx_v_epsilon_float, __pyx_v_query_mask_data, __pyx_v_closest_idxs_data, __pyx_v_closest_dists_data_float);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/kdtree.c:3978:29: warning: ‘__pyx_v_closest_dists_data_double’ may be used uninitialized in this function [-Wmaybe-uninitialized]
3978 | search_tree_double(__pyx_v_self->_kdtree_double, __pyx_v_self->_data_pts_data_double, __pyx_v_query_array_data_double, __pyx_v_num_qpoints, __pyx_v_num_n, __pyx_v_dub_double, __pyx_v_epsilon_double, __pyx_v_query_mask_data, __pyx_v_closest_idxs_data, __pyx_v_closest_dists_data_double);
| ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jja17/Documents/Code/convolutional_occupancy_networks/src/utils/libkdtree/pykdtree/kdtree.c:3923:28: warning: ‘__pyx_v_closest_dists_data_float’ may be used uninitialized in this function [-Wmaybe-uninitialized]
3923 | search_tree_float(__pyx_v_self->_kdtree_float, __pyx_v_self->_data_pts_data_float, __pyx_v_query_array_data_float, __pyx_v_num_qpoints, __pyx_v_num_n, __pyx_v_dub_float, __pyx_v_epsilon_float, __pyx_v_query_mask_data, __pyx_v_closest_idxs_data, __pyx_v_closest_dists_data_float);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
File "/home/jja17/miniconda3/envs/co/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 1672, in _run_ninja_build
env=env)
File "/home/jja17/miniconda3/envs/co/lib/python3.6/subprocess.py", line 438, in run
output=stdout, stderr=stderr)
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 "setup.py", line 90, in <module>
'build_ext': BuildExtension
File "/home/jja17/miniconda3/envs/co/lib/python3.6/site-packages/setuptools/__init__.py", line 153, in setup
return distutils.core.setup(**attrs)
File "/home/jja17/miniconda3/envs/co/lib/python3.6/distutils/core.py", line 148, in setup
dist.run_commands()
File "/home/jja17/miniconda3/envs/co/lib/python3.6/distutils/dist.py", line 955, in run_commands
self.run_command(cmd)
File "/home/jja17/miniconda3/envs/co/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/home/jja17/miniconda3/envs/co/lib/python3.6/site-packages/setuptools/command/build_ext.py", line 79, in run
_build_ext.run(self)
File "/home/jja17/miniconda3/envs/co/lib/python3.6/distutils/command/build_ext.py", line 339, in run
self.build_extensions()
File "/home/jja17/miniconda3/envs/co/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 709, in build_extensions
build_ext.build_extensions(self)
File "/home/jja17/miniconda3/envs/co/lib/python3.6/distutils/command/build_ext.py", line 448, in build_extensions
self._build_extensions_serial()
File "/home/jja17/miniconda3/envs/co/lib/python3.6/distutils/command/build_ext.py", line 473, in _build_extensions_serial
self.build_extension(ext)
File "/home/jja17/miniconda3/envs/co/lib/python3.6/site-packages/setuptools/command/build_ext.py", line 196, in build_extension
_build_ext.build_extension(self, ext)
File "/home/jja17/miniconda3/envs/co/lib/python3.6/distutils/command/build_ext.py", line 533, in build_extension
depends=ext.depends)
File "/home/jja17/miniconda3/envs/co/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 539, in unix_wrap_ninja_compile
with_cuda=with_cuda)
File "/home/jja17/miniconda3/envs/co/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 1360, in _write_ninja_file_and_compile_objects
error_prefix='Error compiling objects for extension')
File "/home/jja17/miniconda3/envs/co/lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 1682, in _run_ninja_build
raise RuntimeError(message) from e
RuntimeError: Error compiling objects for extension
Thank you very much for this repo and your paper.
This is not so much an issue as much as it is shared tips for others who, like me, may be struggling to run this code on latest Nvidia graphics cards. My specs are: Ubuntu 18.04 2 x Nvidia RTX 3090 g++ 9.4/gcc 8.4/ninja 1.8
Specifically I had two main issues:
- running the code according to the instructions (installing from environment.yaml) led to unspecified cuDNN error that could be traced to incompatibility between my RTX3090 and the required PyTorch 1.5.
- installing all requirements manually including the latest PyTorch led to errors when running setup.py.
My solution was:
- (this may not be required but I include it as it is how my system is set up) install cuda 11.1 and ensure the
$PATH
and$LD_LIBRARY_PATH
environment variables are configured correctly (see instruction 9.1.1 here - but pointing to cuda 11.1 instead of 11.4)- manually create and activate a brand new conda environment:
conda create -n my_conv_onet python=3.6
andconda activate my_conv_onet
- use pip to install numpy and cython:
pip install numpy cython
- modify the
setup.py
file by: a. remove the import fortorch.utils.cpp_extension
b. at the end of the file, remove thecmd_class
argument from thesetup
function- now run
python setup.py build_ext --inplace
- install PyTorch as per Torch website instructions for installing PyTorch with cuda 11.1:
pip3 install torch==1.9.0+cu111 torchvision==0.10.0+cu111 -f https://download.pytorch.org/whl/torch_stable.html
- install torch-scatter as per Torch Scatter website instructions for installing with cuda 11.1:
pip install torch-scatter -f https://pytorch-geometric.com/whl/torch-1.9.0+cu111.html
- install remaining dependencies with pip:
pip install matplotlib tensorboardx trimesh pyyaml tqdm
This should then provide you with a fully installed environment from which to run the code. I will print my
conda list
in a comment below.
Hi @jnyjxn, thanks a lot for your interest on our project. I am wondering if you are able to solve the CUDA issue and run the code now?
The development environment for this project was GTX 1080Ti with CUDA 10.2. Unfortunately, I don't have a high-end GPU like RTX3090 with CUDA 11.1 at hand so I am afraid that I am not able to help you with this issue. Please let me know if you manage to run with your setting, then I can add a link to this post in the readme for those who wanna use CUDA 11.1 and higher version PyTorch.
Best, Songyou
My apologies for not responding sooner - the above steps allowed me to run all of your code effectively and I was able to replicate your achievement on my own custom dataset :clap:.
python 3.6.13
Hi, do you have to install another cuda of 11.1 even you have cuda 11.4. I got a similar cuda error of CUDNN_STATUS_MAPPING_ERROR, when I have 3090 and cuda 11.4. I was wondering if you have any suggestions in that regard. Thank you so much.
Thank you very much for this repo and your paper.
This is not so much an issue as much as it is shared tips for others who, like me, may be struggling to run this code on latest Nvidia graphics cards. My specs are: Ubuntu 18.04 2 x Nvidia RTX 3090 g++ 9.4/gcc 8.4/ninja 1.8
Specifically I had two main issues:
My solution was:
$PATH
and$LD_LIBRARY_PATH
environment variables are configured correctly (see instruction 9.1.1 here - but pointing to cuda 11.1 instead of 11.4)conda create -n my_conv_onet python=3.6
andconda activate my_conv_onet
pip install numpy cython
setup.py
file by: a. remove the import fortorch.utils.cpp_extension
b. at the end of the file, remove thecmd_class
argument from thesetup
functionpython setup.py build_ext --inplace
pip3 install torch==1.9.0+cu111 torchvision==0.10.0+cu111 -f https://download.pytorch.org/whl/torch_stable.html
pip install torch-scatter -f https://pytorch-geometric.com/whl/torch-1.9.0+cu111.html
pip install matplotlib tensorboardx trimesh pyyaml tqdm
This should then provide you with a fully installed environment from which to run the code. I will print my
conda list
in a comment below.