Failure to compile on 32-bit x86 GNU/Linux
Open
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 4.7k
- Forks
- 536
- Avg merge
- 12h 12m
- Merged PRs (30d)
- 4
Description
error
tacokoneko@debian:~/CTranslate2/build$ cmake .. -DWITH_MKL=OFF
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.10 will be removed from a future version of
CMake.
Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
to tell CMake that the project requires at least <min> but has been updated
to work with policies introduced by <max> or earlier.
-- The C compiler identification is GNU 14.2.0
-- The CXX compiler identification is GNU 14.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Compiler Id: GNU
-- Compiler Version: 14.2.0
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Build spdlog: 1.10.0
-- Build type: Release
-- Compiling for multiple CPU ISA and enabling runtime dispatch
-- Found OpenMP_C: -fopenmp (found version "4.5")
-- Found OpenMP_CXX: -fopenmp (found version "4.5")
-- Found OpenMP: TRUE (found version "4.5")
-- Using OpenMP: /usr/lib/i386-linux-gnu/libiomp5.so
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
-- Configuring done (1.0s)
-- Generating done (0.0s)
-- Build files have been written to: /home/tacokoneko/CTranslate2/build
tacokoneko@debian:~/CTranslate2/build$ make
[ 0%] Building CXX object CMakeFiles/ctranslate2.dir/src/allocator.cc.o
[ 1%] Building CXX object CMakeFiles/ctranslate2.dir/src/batch_reader.cc.o
[ 2%] Building CXX object CMakeFiles/ctranslate2.dir/src/buffered_translation_wrapper.cc.o
[ 3%] Building CXX object CMakeFiles/ctranslate2.dir/src/cpu/allocator.cc.o
[ 4%] Building CXX object CMakeFiles/ctranslate2.dir/src/cpu/backend.cc.o
/home/tacokoneko/CTranslate2/src/cpu/backend.cc: In function ‘ctranslate2::cpu::GemmBackend ctranslate2::cpu::get_gemm_backend(ctranslate2::ComputeType)’:
/home/tacokoneko/CTranslate2/src/cpu/backend.cc:51:18: warning: unused variable ‘is_int8’ [-Wunused-variable]
51 | const bool is_int8 = (compute_type == ComputeType::INT8
| ^~~~~~~
[ 4%] Building CXX object CMakeFiles/ctranslate2.dir/src/cpu/cpu_info.cc.o
[ 5%] Building CXX object CMakeFiles/ctranslate2.dir/src/cpu/cpu_isa.cc.o
/home/tacokoneko/CTranslate2/src/cpu/cpu_isa.cc:11:19: warning: ‘ctranslate2::cpu::CpuIsa ctranslate2::cpu::try_isa(const std::string&, CpuIsa, bool)’ defined but not used [-Wunused-function]
11 | static CpuIsa try_isa(const std::string& name, CpuIsa cpu_isa, bool supported) {
| ^~~~~~~
[ 6%] Building CXX object CMakeFiles/ctranslate2.dir/src/cpu/kernels.cc.o
In file included from /home/tacokoneko/CTranslate2/src/cpu/kernels.cc:19:
/home/tacokoneko/CTranslate2/src/cpu/vec.h: In instantiation of ‘static void ctranslate2::cpu::Vec<T, ISA>::convert_and_store(float, U*, ctranslate2::dim_t) [with U = unsigned char; T = float; ctranslate2::cpu::CpuIsa ISA = ctranslate2::cpu::CpuIsa::GENERIC; ctranslate2::dim_t = long long int]’:
/home/tacokoneko/CTranslate2/src/cpu/kernels.cc:598:37: required from ‘float ctranslate2::cpu::quantize_s8_row(const float*, int8_t*, ctranslate2::dim_t, bool, const RoundFunc&) [with RoundFunc = float(float); int8_t = signed char; ctranslate2::dim_t = long long int]’
598 | VecType::convert_and_store(v, dst + j, VecType::width);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/tacokoneko/CTranslate2/src/cpu/kernels.cc:634:38: required from ‘void ctranslate2::cpu::quantize_s8_batch(const float*, int8_t*, float*, ctranslate2::dim_t, ctranslate2::dim_t, bool, const RoundFunc&) [with RoundFunc = float(float); int8_t = signed char; ctranslate2::dim_t = long long int]’
634 | scales[i] = quantize_s8_row(src, dst, depth, shift_to_uint8, round_func);
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/tacokoneko/CTranslate2/src/cpu/kernels.cc:648:26: required from here
648 | quantize_s8_batch(x, y, scales, batch_size, depth, shift_to_uint8, Vec<float, TARGET_ISA>::round);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/tacokoneko/CTranslate2/src/cpu/vec.h:148:65: warning: unused parameter ‘count’ [-Wunused-parameter]
148 | static inline void convert_and_store(float v, U* a, dim_t count) {
| ~~~~~~^~~~~
/home/tacokoneko/CTranslate2/src/cpu/vec.h: In instantiation of ‘static void ctranslate2::cpu::Vec<T, ISA>::convert_and_store(float, U*, ctranslate2::dim_t) [with U = signed char; T = float; ctranslate2::cpu::CpuIsa ISA = ctranslate2::cpu::CpuIsa::GENERIC; ctranslate2::dim_t = long long int]’:
/home/tacokoneko/CTranslate2/src/cpu/kernels.cc:609:37: required from ‘float ctranslate2::cpu::quantize_s8_row(const float*, int8_t*, ctranslate2::dim_t, bool, const RoundFunc&) [with RoundFunc = float(float); int8_t = signed char; ctranslate2::dim_t = long long int]’
609 | VecType::convert_and_store(v, y + j, VecType::width);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/tacokoneko/CTranslate2/src/cpu/kernels.cc:634:38: required from ‘void ctranslate2::cpu::quantize_s8_batch(const float*, int8_t*, float*, ctranslate2::dim_t, ctranslate2::dim_t, bool, const RoundFunc&) [with RoundFunc = float(float); int8_t = signed char; ctranslate2::dim_t = long long int]’
634 | scales[i] = quantize_s8_row(src, dst, depth, shift_to_uint8, round_func);
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/tacokoneko/CTranslate2/src/cpu/kernels.cc:648:26: required from here
648 | quantize_s8_batch(x, y, scales, batch_size, depth, shift_to_uint8, Vec<float, TARGET_ISA>::round);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/tacokoneko/CTranslate2/src/cpu/vec.h:148:65: warning: unused parameter ‘count’ [-Wunused-parameter]
148 | static inline void convert_and_store(float v, U* a, dim_t count) {
| ~~~~~~^~~~~
[ 7%] Building CXX object CMakeFiles/ctranslate2.dir/src/cpu/parallel.cc.o
[ 8%] Building CXX object CMakeFiles/ctranslate2.dir/src/cpu/primitives.cc.o
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc: In static member function ‘static T ctranslate2::primitives<D>::sum(const T*, ctranslate2::dim_t) [with ctranslate2::Device D = ctranslate2::Device::CPU]’:
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:88:45: error: ‘ISA’ was not declared in this scope
88 | CPU_ISA_DISPATCH((sum = cpu::reduce_sum<ISA>(array, size)));
| ^~~
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc: In static member function ‘static T ctranslate2::primitives<D>::max(const T*, ctranslate2::dim_t) [with ctranslate2::Device D = ctranslate2::Device::CPU]’:
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:102:45: error: ‘ISA’ was not declared in this scope
102 | CPU_ISA_DISPATCH((max = cpu::reduce_max<ISA>(array, size)));
| ^~~
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc: In static member function ‘static T ctranslate2::primitives<D>::amax(const T*, ctranslate2::dim_t) [with ctranslate2::Device D = ctranslate2::Device::CPU]’:
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:110:46: error: ‘ISA’ was not declared in this scope
110 | CPU_ISA_DISPATCH((max = cpu::reduce_amax<ISA>(array, size)));
| ^~~
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc: In static member function ‘static T ctranslate2::primitives<D>::amax(const T*, ctranslate2::dim_t) [with T = float; ctranslate2::Device D = ctranslate2::Device::CPU; ctranslate2::dim_t = long long int]’:
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:122:46: error: ‘ISA’ was not declared in this scope
122 | CPU_ISA_DISPATCH((max = cpu::reduce_amax<ISA>(x, size)));
| ^~~
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:122:50: error: no matching function for call to ‘reduce_amax<<expression error> >(const float*&, ctranslate2::dim_t&)’
122 | CPU_ISA_DISPATCH((max = cpu::reduce_amax<ISA>(x, size)));
| ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
In file included from /home/tacokoneko/CTranslate2/src/cpu/primitives.cc:30:
/home/tacokoneko/CTranslate2/src/cpu/kernels.h:62:7: note: candidate: ‘template<ctranslate2::cpu::CpuIsa ISA, class T> T ctranslate2::cpu::reduce_amax(const T*, ctranslate2::dim_t)’
62 | T reduce_amax(const T* x, dim_t size);
| ^~~~~~~~~~~
/home/tacokoneko/CTranslate2/src/cpu/kernels.h:62:7: note: template argument deduction/substitution failed:
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:122:50: error: template argument 1 is invalid
122 | CPU_ISA_DISPATCH((max = cpu::reduce_amax<ISA>(x, size)));
| ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:122:5: error: ‘CPU_ISA_DISPATCH’ was not declared in this scope
122 | CPU_ISA_DISPATCH((max = cpu::reduce_amax<ISA>(x, size)));
| ^~~~~~~~~~~~~~~~
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc: In static member function ‘static void ctranslate2::primitives<D>::add(T, const T*, T*, ctranslate2::dim_t) [with ctranslate2::Device D = ctranslate2::Device::CPU]’:
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:129:32: error: ‘ISA’ was not declared in this scope
129 | CPU_ISA_DISPATCH((cpu::add<ISA>(a, x, y, size)));
| ^~~
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc: In static member function ‘static void ctranslate2::primitives<D>::add(const T*, const T*, T*, ctranslate2::dim_t) [with ctranslate2::Device D = ctranslate2::Device::CPU]’:
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:135:32: error: ‘ISA’ was not declared in this scope
135 | CPU_ISA_DISPATCH((cpu::add<ISA>(a, b, c, size)));
| ^~~
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc: In static member function ‘static void ctranslate2::primitives<D>::add(const T*, const T*, T*, ctranslate2::dim_t) [with T = float; ctranslate2::Device D = ctranslate2::Device::CPU; ctranslate2::dim_t = long long int]’:
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:145:32: error: ‘ISA’ was not declared in this scope
145 | CPU_ISA_DISPATCH((cpu::add<ISA>(a, b, c, size)));
| ^~~
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:145:36: error: no matching function for call to ‘add<<expression error> >(const float*&, const float*&, float*&, ctranslate2::dim_t&)’
145 | CPU_ISA_DISPATCH((cpu::add<ISA>(a, b, c, size)));
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~
/home/tacokoneko/CTranslate2/src/cpu/kernels.h:35:10: note: candidate: ‘template<ctranslate2::cpu::CpuIsa ISA, class T> void ctranslate2::cpu::add(T, const T*, T*, ctranslate2::dim_t)’
35 | void add(T a, const T* x, T* y, dim_t size);
| ^~~
/home/tacokoneko/CTranslate2/src/cpu/kernels.h:35:10: note: template argument deduction/substitution failed:
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:145:36: error: template argument 1 is invalid
145 | CPU_ISA_DISPATCH((cpu::add<ISA>(a, b, c, size)));
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~
/home/tacokoneko/CTranslate2/src/cpu/kernels.h:37:10: note: candidate: ‘template<ctranslate2::cpu::CpuIsa ISA, class T> void ctranslate2::cpu::add(const T*, const T*, T*, ctranslate2::dim_t)’
37 | void add(const T* a, const T* b, T* c, dim_t size);
| ^~~
/home/tacokoneko/CTranslate2/src/cpu/kernels.h:37:10: note: template argument deduction/substitution failed:
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:145:36: error: template argument 1 is invalid
145 | CPU_ISA_DISPATCH((cpu::add<ISA>(a, b, c, size)));
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:145:5: error: ‘CPU_ISA_DISPATCH’ was not declared in this scope
145 | CPU_ISA_DISPATCH((cpu::add<ISA>(a, b, c, size)));
| ^~~~~~~~~~~~~~~~
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc: In static member function ‘static void ctranslate2::primitives<D>::sub(const T*, const T*, T*, ctranslate2::dim_t) [with ctranslate2::Device D = ctranslate2::Device::CPU]’:
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:192:32: error: ‘ISA’ was not declared in this scope
192 | CPU_ISA_DISPATCH((cpu::sub<ISA>(a, b, c, size)));
| ^~~
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc: In static member function ‘static void ctranslate2::primitives<D>::sub(const T*, const T*, T*, ctranslate2::dim_t) [with T = float; ctranslate2::Device D = ctranslate2::Device::CPU; ctranslate2::dim_t = long long int]’:
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:202:32: error: ‘ISA’ was not declared in this scope
202 | CPU_ISA_DISPATCH((cpu::sub<ISA>(a, b, c, size)));
| ^~~
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:202:36: error: no matching function for call to ‘sub<<expression error> >(const float*&, const float*&, float*&, ctranslate2::dim_t&)’
202 | CPU_ISA_DISPATCH((cpu::sub<ISA>(a, b, c, size)));
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~
/home/tacokoneko/CTranslate2/src/cpu/kernels.h:40:10: note: candidate: ‘template<ctranslate2::cpu::CpuIsa ISA, class T> void ctranslate2::cpu::sub(const T*, const T*, T*, ctranslate2::dim_t)’
40 | void sub(const T* a, const T* b, T* c, dim_t size);
| ^~~
/home/tacokoneko/CTranslate2/src/cpu/kernels.h:40:10: note: template argument deduction/substitution failed:
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:202:36: error: template argument 1 is invalid
202 | CPU_ISA_DISPATCH((cpu::sub<ISA>(a, b, c, size)));
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:202:5: error: ‘CPU_ISA_DISPATCH’ was not declared in this scope
202 | CPU_ISA_DISPATCH((cpu::sub<ISA>(a, b, c, size)));
| ^~~~~~~~~~~~~~~~
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc: In static member function ‘static void ctranslate2::primitives<D>::max(T, const T*, T*, ctranslate2::dim_t) [with ctranslate2::Device D = ctranslate2::Device::CPU]’:
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:208:32: error: ‘ISA’ was not declared in this scope
208 | CPU_ISA_DISPATCH((cpu::max<ISA>(a, x, y, size)));
| ^~~
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc: In static member function ‘static void ctranslate2::primitives<D>::max(const T*, const T*, T*, ctranslate2::dim_t) [with ctranslate2::Device D = ctranslate2::Device::CPU]’:
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:214:32: error: ‘ISA’ was not declared in this scope
214 | CPU_ISA_DISPATCH((cpu::max<ISA>(a, b, c, size)));
| ^~~
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc: In static member function ‘static void ctranslate2::primitives<D>::max(const T*, const T*, T*, ctranslate2::dim_t) [with T = float; ctranslate2::Device D = ctranslate2::Device::CPU; ctranslate2::dim_t = long long int]’:
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:224:32: error: ‘ISA’ was not declared in this scope
224 | CPU_ISA_DISPATCH((cpu::max<ISA>(a, b, c, size)));
| ^~~
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:224:36: error: no matching function for call to ‘max<<expression error> >(const float*&, const float*&, float*&, ctranslate2::dim_t&)’
224 | CPU_ISA_DISPATCH((cpu::max<ISA>(a, b, c, size)));
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~
/home/tacokoneko/CTranslate2/src/cpu/kernels.h:48:10: note: candidate: ‘template<ctranslate2::cpu::CpuIsa ISA, class T> void ctranslate2::cpu::max(T, const T*, T*, ctranslate2::dim_t)’
48 | void max(T a, const T* x, T* y, dim_t size);
| ^~~
/home/tacokoneko/CTranslate2/src/cpu/kernels.h:48:10: note: template argument deduction/substitution failed:
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:224:36: error: template argument 1 is invalid
224 | CPU_ISA_DISPATCH((cpu::max<ISA>(a, b, c, size)));
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~
/home/tacokoneko/CTranslate2/src/cpu/kernels.h:50:10: note: candidate: ‘template<ctranslate2::cpu::CpuIsa ISA, class T> void ctranslate2::cpu::max(const T*, const T*, T*, ctranslate2::dim_t)’
50 | void max(const T* a, const T* b, T* c, dim_t size);
| ^~~
/home/tacokoneko/CTranslate2/src/cpu/kernels.h:50:10: note: template argument deduction/substitution failed:
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:224:36: error: template argument 1 is invalid
224 | CPU_ISA_DISPATCH((cpu::max<ISA>(a, b, c, size)));
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:224:5: error: ‘CPU_ISA_DISPATCH’ was not declared in this scope
224 | CPU_ISA_DISPATCH((cpu::max<ISA>(a, b, c, size)));
| ^~~~~~~~~~~~~~~~
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc: In static member function ‘static void ctranslate2::primitives<D>::min(T, const T*, T*, ctranslate2::dim_t) [with ctranslate2::Device D = ctranslate2::Device::CPU]’:
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:230:32: error: ‘ISA’ was not declared in this scope
230 | CPU_ISA_DISPATCH((cpu::min<ISA>(a, x, y, size)));
| ^~~
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc: In static member function ‘static void ctranslate2::primitives<D>::min(const T*, const T*, T*, ctranslate2::dim_t) [with ctranslate2::Device D = ctranslate2::Device::CPU]’:
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:236:32: error: ‘ISA’ was not declared in this scope
236 | CPU_ISA_DISPATCH((cpu::min<ISA>(a, b, c, size)));
| ^~~
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc: In static member function ‘static void ctranslate2::primitives<D>::min(const T*, const T*, T*, ctranslate2::dim_t) [with T = float; ctranslate2::Device D = ctranslate2::Device::CPU; ctranslate2::dim_t = long long int]’:
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:246:32: error: ‘ISA’ was not declared in this scope
246 | CPU_ISA_DISPATCH((cpu::min<ISA>(a, b, c, size)));
| ^~~
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:246:36: error: no matching function for call to ‘min<<expression error> >(const float*&, const float*&, float*&, ctranslate2::dim_t&)’
246 | CPU_ISA_DISPATCH((cpu::min<ISA>(a, b, c, size)));
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~
/home/tacokoneko/CTranslate2/src/cpu/kernels.h:53:10: note: candidate: ‘template<ctranslate2::cpu::CpuIsa ISA, class T> void ctranslate2::cpu::min(T, const T*, T*, ctranslate2::dim_t)’
53 | void min(T a, const T* x, T* y, dim_t size);
| ^~~
/home/tacokoneko/CTranslate2/src/cpu/kernels.h:53:10: note: template argument deduction/substitution failed:
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:246:36: error: template argument 1 is invalid
246 | CPU_ISA_DISPATCH((cpu::min<ISA>(a, b, c, size)));
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~
/home/tacokoneko/CTranslate2/src/cpu/kernels.h:55:10: note: candidate: ‘template<ctranslate2::cpu::CpuIsa ISA, class T> void ctranslate2::cpu::min(const T*, const T*, T*, ctranslate2::dim_t)’
55 | void min(const T* a, const T* b, T* c, dim_t size);
| ^~~
/home/tacokoneko/CTranslate2/src/cpu/kernels.h:55:10: note: template argument deduction/substitution failed:
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:246:36: error: template argument 1 is invalid
246 | CPU_ISA_DISPATCH((cpu::min<ISA>(a, b, c, size)));
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:246:5: error: ‘CPU_ISA_DISPATCH’ was not declared in this scope
246 | CPU_ISA_DISPATCH((cpu::min<ISA>(a, b, c, size)));
| ^~~~~~~~~~~~~~~~
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc: In static member function ‘static void ctranslate2::primitives<D>::mul(T, const T*, T*, ctranslate2::dim_t) [with ctranslate2::Device D = ctranslate2::Device::CPU]’:
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:252:32: error: ‘ISA’ was not declared in this scope
252 | CPU_ISA_DISPATCH((cpu::mul<ISA>(a, x, y, size)));
| ^~~
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc: In static member function ‘static void ctranslate2::primitives<D>::mul(T, const T*, T*, ctranslate2::dim_t) [with T = float; ctranslate2::Device D = ctranslate2::Device::CPU; ctranslate2::dim_t = long long int]’:
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:262:32: error: ‘ISA’ was not declared in this scope
262 | CPU_ISA_DISPATCH((cpu::mul<ISA>(a, x, y, size)));
| ^~~
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:262:36: error: no matching function for call to ‘mul<<expression error> >(float&, const float*&, float*&, ctranslate2::dim_t&)’
262 | CPU_ISA_DISPATCH((cpu::mul<ISA>(a, x, y, size)));
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~
/home/tacokoneko/CTranslate2/src/cpu/kernels.h:43:10: note: candidate: ‘template<ctranslate2::cpu::CpuIsa ISA, class T> void ctranslate2::cpu::mul(T, const T*, T*, ctranslate2::dim_t)’
43 | void mul(T a, const T* x, T* y, dim_t size);
| ^~~
/home/tacokoneko/CTranslate2/src/cpu/kernels.h:43:10: note: template argument deduction/substitution failed:
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:262:36: error: template argument 1 is invalid
262 | CPU_ISA_DISPATCH((cpu::mul<ISA>(a, x, y, size)));
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~
/home/tacokoneko/CTranslate2/src/cpu/kernels.h:45:10: note: candidate: ‘template<ctranslate2::cpu::CpuIsa ISA, class T> void ctranslate2::cpu::mul(const T*, const T*, T*, ctranslate2::dim_t)’
45 | void mul(const T* a, const T* b, T* c, dim_t size);
| ^~~
/home/tacokoneko/CTranslate2/src/cpu/kernels.h:45:10: note: template argument deduction/substitution failed:
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:262:36: error: template argument 1 is invalid
262 | CPU_ISA_DISPATCH((cpu::mul<ISA>(a, x, y, size)));
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:262:5: error: ‘CPU_ISA_DISPATCH’ was not declared in this scope
262 | CPU_ISA_DISPATCH((cpu::mul<ISA>(a, x, y, size)));
| ^~~~~~~~~~~~~~~~
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc: In static member function ‘static void ctranslate2::primitives<D>::mul(const T*, const T*, T*, ctranslate2::dim_t) [with ctranslate2::Device D = ctranslate2::Device::CPU]’:
/home/tacokoneko/CTranslate2/src/cpu/primitives.cc:268:32: error: ‘ISA’ was not declared in this scope
268 | CPU_ISA_DISPATCH((cpu::mul<ISA>(a, b, c, size)));
| ^~~
...
Reprodcution steps:
# 32-bit x86 GNU/Linux
git clone --recursive https://github.com/OpenNMT/CTranslate2.git
cd CTranslate2/
mkdir build
cd build
cmake .. -DWITH_MKL=OFF
make
OS: Debian 13
architecture: 32-bit x86
CTranslate2 version: 4.8.1
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the 32-bit GNU/Linux build with CMake using -DWITH_MKL=OFF, then inspect the failing CPU_ISA_DISPATCH calls in src/cpu/primitives.cc and the related declarations in src/cpu/kernels.h. Compare the dispatch behavior with the compiler errors and verify that the project builds successfully on the reported target.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake, cpp
- Domain
- build-system, operating-systems
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 58/100