pybind11 error
PawBlo opened this issue · 5 comments
I get error with pybind11 when I try build Open_spiel from source.
Error:
In file included from /home/pawel/Desktop/open_spiel/my_open_spiel/open_spiel/../open_spiel/python/pybind11/algorithms_trajectories.h:18:
/home/pawel/Desktop/open_spiel/my_open_spiel/open_spiel/../open_spiel/python/pybind11/pybind11.h:34:10: fatal error: 'pybind11/include/pybind11/detail/smart_holder_type_casters.h' file not found
34 | #include "pybind11/include/pybind11/detail/smart_holder_type_casters.h"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/pawel/Desktop/open_spiel/my_open_spiel/open_spiel/python/pybind11/algorithms_corr_dist.cc:15:
In file included from /home/pawel/Desktop/open_spiel/my_open_spiel/open_spiel/../open_spiel/python/pybind11/algorithms_corr_dist.h:18:
/home/pawel/Desktop/open_spiel/my_open_spiel/open_spiel/../open_spiel/python/pybind11/pybind11.h:34:10: fatal error: 'pybind11/include/pybind11/detail/smart_holder_type_casters.h' file not found
34 | #include "pybind11/include/pybind11/detail/smart_holder_type_casters.h"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/pawel/Desktop/open_spiel/my_open_spiel/open_spiel/python/pybind11/games_backgammon.cc:15:
In file included from /home/pawel/Desktop/open_spiel/my_open_spiel/open_spiel/../open_spiel/python/pybind11/games_backgammon.h:18:
/home/pawel/Desktop/open_spiel/my_open_spiel/open_spiel/../open_spiel/python/pybind11/pybind11.h:34:10: fatal error: 'pybind11/include/pybind11/detail/smart_holder_type_casters.h' file not found
34 | #include "pybind11/include/pybind11/detail/smart_holder_type_casters.h"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/pawel/Desktop/open_spiel/my_open_spiel/open_spiel/python/pybind11/bots.cc:15:
In file included from /home/pawel/Desktop/open_spiel/my_open_spiel/open_spiel/../open_spiel/python/pybind11/bots.h:18:
/home/pawel/Desktop/open_spiel/my_open_spiel/open_spiel/../open_spiel/python/pybind11/pybind11.h:34:10: fatal error: 'pybind11/include/pybind11/detail/smart_holder_type_casters.h' file not found
34 | #include "pybind11/include/pybind11/detail/smart_holder_type_casters.h"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/pawel/Desktop/open_spiel/my_open_spiel/open_spiel/python/pybind11/games_bridge.cc:15:
In file included from /home/pawel/Desktop/open_spiel/my_open_spiel/open_spiel/../open_spiel/python/pybind11/games_bridge.h:18:
/home/pawel/Desktop/open_spiel/my_open_spiel/open_spiel/../open_spiel/python/pybind11/pybind11.h:34:10: fatal error: 'pybind11/include/pybind11/detail/smart_holder_type_casters.h' file not found
34 | #include "pybind11/include/pybind11/detail/smart_holder_type_casters.h"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/pawel/Desktop/open_spiel/my_open_spiel/open_spiel/python/pybind11/games_bargaining.cc:15:
In file included from /home/pawel/Desktop/open_spiel/my_open_spiel/open_spiel/../open_spiel/python/pybind11/games_bargaining.h:18:
/home/pawel/Desktop/open_spiel/my_open_spiel/open_spiel/../open_spiel/python/pybind11/pybind11.h:34:10: fatal error: 'pybind11/include/pybind11/detail/smart_holder_type_casters.h' file not found
34 | #include "pybind11/include/pybind11/detail/smart_holder_type_casters.h"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/pawel/Desktop/open_spiel/my_open_spiel/open_spiel/python/pybind11/games_chess.cc:15:
In file included from /home/pawel/Desktop/open_spiel/my_open_spiel/open_spiel/../open_spiel/python/pybind11/games_chess.h:18:
/home/pawel/Desktop/open_spiel/my_open_spiel/open_spiel/../open_spiel/python/pybind11/pybind11.h:34:10: fatal error: 'pybind11/include/pybind11/detail/smart_holder_type_casters.h' file not found
34 | #include "pybind11/include/pybind11/detail/smart_holder_type_casters.h"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/pawel/Desktop/open_spiel/my_open_spiel/open_spiel/python/pybind11/games_colored_trails.cc:15:
In file included from /home/pawel/Desktop/open_spiel/my_open_spiel/open_spiel/../open_spiel/python/pybind11/games_colored_trails.h:18:
/home/pawel/Desktop/open_spiel/my_open_spiel/open_spiel/../open_spiel/python/pybind11/pybind11.h:34:10: fatal error: 'pybind11/include/pybind11/detail/smart_holder_type_casters.h' file not found
34 | #include "pybind11/include/pybind11/detail/smart_holder_type_casters.h"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
make[2]: *** [python/CMakeFiles/pyspiel.dir/build.make:90: python/CMakeFiles/pyspiel.dir/pybind11/algorithms_trajectories.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
1 error generated.
1 error generated.
make[2]: *** [python/CMakeFiles/pyspiel.dir/build.make:76: python/CMakeFiles/pyspiel.dir/pybind11/algorithms_corr_dist.cc.o] Error 1
[ 97%] Building CXX object utils/CMakeFiles/tensor_view_test.dir/tensor_view_test.cc.o
make[2]: *** [python/CMakeFiles/pyspiel.dir/build.make:118: python/CMakeFiles/pyspiel.dir/pybind11/games_backgammon.cc.o] Error 1
[ 97%] Building CXX object utils/CMakeFiles/threaded_queue_test.dir/threaded_queue_test.cc.o
[ 97%] Building CXX object tests/CMakeFiles/spiel_test.dir/spiel_test.cc.o
1 error generated.
1 error generated.
make[2]: *** [python/CMakeFiles/pyspiel.dir/build.make:146: python/CMakeFiles/pyspiel.dir/pybind11/games_bridge.cc.o] Error 1
1 error generated.
make[2]: *** [python/CMakeFiles/pyspiel.dir/build.make:104: python/CMakeFiles/pyspiel.dir/pybind11/bots.cc.o] Error 1
make[2]: *** [python/CMakeFiles/pyspiel.dir/build.make:132: python/CMakeFiles/pyspiel.dir/pybind11/games_bargaining.cc.o] Error 1
[ 97%] Building CXX object tests/CMakeFiles/action_view_test.dir/action_view_test.cc.o
1 error generated.
1 error generated.
make[2]: *** [python/CMakeFiles/pyspiel.dir/build.make:160: python/CMakeFiles/pyspiel.dir/pybind11/games_chess.cc.o] Error 1
make[2]: *** [python/CMakeFiles/pyspiel.dir/build.make:174: python/CMakeFiles/pyspiel.dir/pybind11/games_colored_trails.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:17536: python/CMakeFiles/pyspiel.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 97%] Linking CXX executable tensor_view_test
[ 97%] Linking CXX executable threaded_queue_test
[ 97%] Built target tensor_view_test
[ 97%] Built target threaded_queue_test
[ 97%] Linking CXX executable action_view_test
[ 97%] Built target action_view_test
[ 97%] Linking CXX executable spiel_test
[ 97%] Built target spiel_test
make: *** [Makefile:101: all] Error 2
My env:
Ubuntu 24.04 LTS
Python 3.12.3
absl-py==2.1.0
attrs==23.2.0
contextlib2==21.6.0
ml_collections==0.1.1
numpy==2.0.1
pbr==6.0.0
pybind11==2.13.1
PyYAML==6.0.1
scipy==1.14.0
setuptools==72.1.0
six==1.16.0
testresources==2.0.1
g++ (Ubuntu 13.2.0-23ubuntu4) 13.2.0
GNU ld (GNU Binutils for Ubuntu) 2.42
Hi, thanks.
Did you install pybind via the ./install.sh
script?
You need to checkout the smart_holder branch, see here:
open_spiel/open_spiel/scripts/install.sh
Line 104 in 3cdecf7
There have been some changes to that branch lately that could be backward-incompatible, so we can look into it. But, I did a sync 2 days ago to github and everything built fine, so it'd be quite a coincidence. So, please confirm that you checkout out the smart_holder branch as in that line above, thanks!
Looking into the smart_holder branch it seems like maybe this header was removed recently. Tagging @rwgk for the suggested fix. We'll update master as soon as we have a fix, thanks for reporting.
@PawBlo if you just remove those includes, does it work? My guess is that everything in those headers got put into the other pybind11 headers.
Yes, simply remove the include. It was always private. In the past you had to include smart_holder.h, which still exists, but just for backward compatibility.