Closed lunathanael closed 1 month ago
@shakkar23 pls fix :)
New error:
FAILED: CMakeFiles/_core.dir/src/botris/_core/board.cpp.o
/opt/rh/gcc-toolset-12/root/usr/bin/g++ -pthread -DVERSION_INFO=0.1.22 -D_core_EXPORTS -I/opt/python/cp310-cp310/include/python3.10 -I/tmp/pip-build-env-9kqwhxdf/overlay/lib/python3.10/site-packages/nanobind/include -I/project/src/botris/_core/ShakTrisLib/src -O3 -DNDEBUG -std=gnu++20 -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -fno-stack-protector -ffunction-sections -fdata-sections -MD -MT CMakeFiles/_core.dir/src/botris/_core/board.cpp.o -MF CMakeFiles/_core.dir/src/botris/_core/board.cpp.o.d -o CMakeFiles/_core.dir/src/botris/_core/board.cpp.o -c /project/src/botris/_core/board.cpp
In file included from /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/include/x86gprintrin.h:43,
from /project/src/botris/_core/ShakTrisLib/src/util/pext.hpp:11,
from /project/src/botris/_core/ShakTrisLib/src/engine/Board.hpp:10,
from /project/src/botris/_core/board.cpp:3:
/opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/include/bmi2intrin.h: In function ‘pext<unsigned int>(unsigned int, unsigned int)unsigned int’:
/opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/include/bmi2intrin.h:53:1: error: inlining failed in call to ‘always_inline’ ‘_pext_u32(unsigned int, unsigned int)’: target specific option mismatch
53 | _pext_u32 (unsigned int __X, unsigned int __Y)
| ^~~~~~~~~
/project/src/botris/_core/ShakTrisLib/src/util/pext.hpp:48:25: note: called from here
48 | return _pext_u32(src, mask);
| ~~~~~~~~~^~~~~~~~~~~
/opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/include/bmi2intrin.h:53:1: error: inlining failed in call to ‘always_inline’ ‘_pext_u32(unsigned int, unsigned int)’: target specific option mismatch
53 | _pext_u32 (unsigned int __X, unsigned int __Y)
| ^~~~~~~~~
/project/src/botris/_core/ShakTrisLib/src/util/pext.hpp:48:25: note: called from here
48 | return _pext_u32(src, mask);
| ~~~~~~~~~^~~~~~~~~~~
[4/25] Building CXX object CMakeFiles/_core.dir/src/botris/_core/constants.cpp.o
[5/25] Building CXX object CMakeFiles/_core.dir/src/botris/_core/piece.cpp.o
[6/25] Building CXX object CMakeFiles/_core.dir/src/botris/_core/game.cpp.o
[7/25] Building CXX object CMakeFiles/nanobind-static.dir/tmp/pip-build-env-9kqwhxdf/overlay/lib/python3.10/site-packages/nanobind/src/nb_internals.cpp.o
[8/25] Building CXX object CMakeFiles/nanobind-static.dir/tmp/pip-build-env-9kqwhxdf/overlay/lib/python3.10/site-packages/nanobind/src/nb_func.cpp.o
ninja: build stopped: subcommand failed.
*** Building project with Ninja...
[1/25] Building CXX object CMakeFiles/_core.dir/src/botris/_core/constants.cpp.o
[2/25] Building CXX object CMakeFiles/_core.dir/src/botris/_core/main_module.cpp.o
[3/25] Building CXX object CMakeFiles/_core.dir/src/botris/_core/board.cpp.o
FAILED: CMakeFiles/_core.dir/src/botris/_core/board.cpp.o
/opt/rh/gcc-toolset-12/root/usr/bin/g++ -pthread -DVERSION_INFO=0.2.0 -D_core_EXPORTS -I/opt/python/cp310-cp310/include/python3.10 -I/tmp/pip-build-env-4yga2r_1/overlay/lib/python3.10/site-packages/nanobind/include -I/project/src/botris/_core/ShakTrisLib/src -O3 -DNDEBUG -std=gnu++20 -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -fno-stack-protector -ffunction-sections -fdata-sections -MD -MT CMakeFiles/_core.dir/src/botris/_core/board.cpp.o -MF CMakeFiles/_core.dir/src/botris/_core/board.cpp.o.d -o CMakeFiles/_core.dir/src/botris/_core/board.cpp.o -c /project/src/botris/_core/board.cpp
In file included from /project/src/botris/_core/ShakTrisLib/src/engine/Board.hpp:10,
from /project/src/botris/_core/board.cpp:3:
/project/src/botris/_core/ShakTrisLib/src/util/pext.hpp:12:86: error: missing binary operator before token "("
12 | #elif defined(__clang__) && !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
| ^
[4/25] Building CXX object CMakeFiles/_core.dir/src/botris/_core/mode.cpp.o
[5/25] Building CXX object CMakeFiles/_core.dir/src/botris/_core/piece.cpp.o
[6/25] Building CXX object CMakeFiles/_core.dir/src/botris/_core/game.cpp.o
FAILED: CMakeFiles/_core.dir/src/botris/_core/game.cpp.o
/opt/rh/gcc-toolset-12/root/usr/bin/g++ -pthread -DVERSION_INFO=0.2.0 -D_core_EXPORTS -I/opt/python/cp310-cp310/include/python3.10 -I/tmp/pip-build-env-4yga2r_1/overlay/lib/python3.10/site-packages/nanobind/include -I/project/src/botris/_core/ShakTrisLib/src -O3 -DNDEBUG -std=gnu++20 -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -fno-stack-protector -ffunction-sections -fdata-sections -MD -MT CMakeFiles/_core.dir/src/botris/_core/game.cpp.o -MF CMakeFiles/_core.dir/src/botris/_core/game.cpp.o.d -o CMakeFiles/_core.dir/src/botris/_core/game.cpp.o -c /project/src/botris/_core/game.cpp
In file included from /project/src/botris/_core/ShakTrisLib/src/engine/Board.hpp:10,
from /project/src/botris/_core/ShakTrisLib/src/engine/Game.hpp:9,
from /project/src/botris/_core/game.cpp:5:
/project/src/botris/_core/ShakTrisLib/src/util/pext.hpp:12:86: error: missing binary operator before token "("
12 | #elif defined(__clang__) && !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
| ^
[7/25] Building CXX object CMakeFiles/nanobind-static.dir/tmp/pip-build-env-4yga2r_1/overlay/lib/python3.10/site-packages/nanobind/src/nb_internals.cpp.o
[8/25] Building CXX object CMakeFiles/nanobind-static.dir/tmp/pip-build-env-4yga2r_1/overlay/lib/python3.10/site-packages/nanobind/src/nb_func.cpp.o
ninja: build stopped: subcommand failed.
*** CMake build failed
FAILED: CMakeFiles/_core.dir/src/botris/_core/board.cpp.o
/opt/rh/gcc-toolset-12/root/usr/bin/g++ -pthread -DVERSION_INFO=0.2.0 -D_core_EXPORTS -I/opt/python/cp310-cp310/include/python3.10 -I/tmp/pip-build-env-8phys4wx/overlay/lib/python3.10/site-packages/nanobind/include -I/project/src/botris/_core/ShakTrisLib/src -O3 -DNDEBUG -std=gnu++20 -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -fno-stack-protector -ffunction-sections -fdata-sections -MD -MT CMakeFiles/_core.dir/src/botris/_core/board.cpp.o -MF CMakeFiles/_core.dir/src/botris/_core/board.cpp.o.d -o CMakeFiles/_core.dir/src/botris/_core/board.cpp.o -c /project/src/botris/_core/board.cpp
In file included from /project/src/botris/_core/ShakTrisLib/src/engine/Board.hpp:10,
from /project/src/botris/_core/board.cpp:3:
/project/src/botris/_core/ShakTrisLib/src/util/pext.hpp:12:86: error: missing binary operator before token "("
12 | #elif defined(__clang__) && !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
| ^
[5/25] Building CXX object CMakeFiles/_core.dir/src/botris/_core/piece.cpp.o
[6/25] Building CXX object CMakeFiles/_core.dir/src/botris/_core/game.cpp.o
FAILED: CMakeFiles/_core.dir/src/botris/_core/game.cpp.o
/opt/rh/gcc-toolset-12/root/usr/bin/g++ -pthread -DVERSION_INFO=0.2.0 -D_core_EXPORTS -I/opt/python/cp310-cp310/include/python3.10 -I/tmp/pip-build-env-8phys4wx/overlay/lib/python3.10/site-packages/nanobind/include -I/project/src/botris/_core/ShakTrisLib/src -O3 -DNDEBUG -std=gnu++20 -flto=auto -fno-fat-lto-objects -fPIC -fvisibility=hidden -fno-stack-protector -ffunction-sections -fdata-sections -MD -MT CMakeFiles/_core.dir/src/botris/_core/game.cpp.o -MF CMakeFiles/_core.dir/src/botris/_core/game.cpp.o.d -o CMakeFiles/_core.dir/src/botris/_core/game.cpp.o -c /project/src/botris/_core/game.cpp
In file included from /project/src/botris/_core/ShakTrisLib/src/engine/Board.hpp:10,
from /project/src/botris/_core/ShakTrisLib/src/engine/Game.hpp:9,
from /project/src/botris/_core/game.cpp:5:
/project/src/botris/_core/ShakTrisLib/src/util/pext.hpp:12:86: error: missing binary operator before token "("
12 | #elif defined(__clang__) && !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
| ^
[7/25] Building CXX object CMakeFiles/nanobind-static.dir/tmp/pip-build-env-8phys4wx/overlay/lib/python3.10/site-packages/nanobind/src/nb_internals.cpp.o
[8/25] Building CXX object CMakeFiles/nanobind-static.dir/tmp/pip-build-env-8phys4wx/overlay/lib/python3.10/site-packages/nanobind/src/nb_func.cpp.o
[9/25] Building CXX object CMakeFiles/nanobind-static.dir/tmp/pip-build-env-8phys4wx/overlay/lib/python3.10/site-packages/nanobind/src/nb_type.cpp.o
ninja: build stopped: subcommand failed.
*** CMake build failed
oopsie
This has been fixed via #2 .
Issue Description:
Compiling within manylinux docker image with i686. I am having an issue with one specific file:
utils/pext.cpp
During the compilation process, the following error occurs:
Environment:
Affected File:
Possible Cause:
The error suggests that the _pext_u32 intrinsic, used for bit field extraction, is not recognized in this scope. This could be related to how the BMI2 instruction set is being detected or the environment setup.
Steps to Reproduce:
Compile the project using GNU 13.2.1 with the provided build command. Observe the compilation failure related to
_pext_u32
inutils/pext.hpp
.Additional Context:
Switching to a different compiler or adjusting the compilation flags might be necessary if the problem is tied to how BMI2 instructions are handled in this environment.