faiss: Build fails with 3 errors "has already been defined"
Summary
Hi, it seems, that current version in master
is not compilable, the GPU compilation failed with following error:
gpu/impl/PQScanMultiPassNoPrecomputed.cu(27): error: function "faiss::gpu::isSupportedNoPrecomputedSubDimSize" has already been defined
gpu/impl/PQScanMultiPassNoPrecomputed.cu(51): error: class template "faiss::gpu::LoadCodeDistances" has already been defined
gpu/impl/PQScanMultiPassNoPrecomputed.cu(123): error: function template "faiss::gpu::pqScanNoPrecomputedMultiPass" has already been defined
3 errors detected in the compilation of "/tmp/tmpxft_0007f108_00000000-11_PQScanMultiPassNoPrecomputed.compute_75.cpp1.ii".
make: *** [Makefile:45: gpu/impl/PQScanMultiPassNoPrecomputed.o] Error 1
make: *** Waiting for unfinished jobs....
Platform
OS: Arch Linux
$ gcc -v
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /build/gcc/src/gcc/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-pkgversion='Arch Linux 9.3.0-1' --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++,d --enable-shared --enable-threads=posix --with-system-zlib --with-isl --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --enable-gnu-indirect-function --enable-multilib --disable-werror --enable-checking=release --enable-default-pie --enable-default-ssp --enable-cet=auto gdc_include_dir=/usr/include/dlang/gdc
Thread model: posix
gcc version 9.3.0 (Arch Linux 9.3.0-1)
$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Wed_Oct_23_19:24:38_PDT_2019
Cuda compilation tools, release 10.2, V10.2.89
Faiss version: a17a631
Faiss compilation options: nothing fancy.
Reproduction instructions
Compiling current master on Linux with GPU should be enough. I am also a maintainer of AUR faiss package
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 15 (8 by maintainers)
I’m looking into this.
@wickedfoo For some reason, both
PQCodeDistances.cu
andPQScanMultiPassNoPrecomputed.cu
are back in Faiss 1.6.3, causing the same errors. Removing those files resolves the issue.I removed the files in question from the repo, clone again and see if it fixes this issue, and I will close it if so.
@dvzubarev I’m looking separately at the Turing architecture build issue.