Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

boost 1.74 doesn't actually conform to c++20 #1222

Open
pillowtrucker opened this issue Apr 6, 2024 · 4 comments
Open

boost 1.74 doesn't actually conform to c++20 #1222

pillowtrucker opened this issue Apr 6, 2024 · 4 comments

Comments

@pillowtrucker
Copy link

エラーの内容 | Describe the build error

FAILED: OpenSiv3D/Linux/CMakeFiles/Siv3D.dir/__/Siv3D/src/Siv3D-Platform/Linux/Siv3D/ChildProcess/ChildProcessDetail.cpp.o 
/nix/store/ld6dvi0n7qai3gzdrb85ykj4s4r0h4r7-clang-wrapper-18.1.1/bin/clang++ -DAS_USE_NAMESPACE -DMUPARSER_STATIC -DWITH_MINIAUDIO -DWITH_NOSOUND -D_GLFW_X11 -D_UNICODE -D__LINUX_ALSA__ -I/home/wrath/GAME/OpenSiv3D/Linux -I/home/wrath/GAME/OpenSiv3D/Linux/../Siv3D/include -I/home/wrath/GAME/OpenSiv3D/Linux/../Siv3D/include/ThirdParty -I/home/wrath/GAME/OpenSiv3D/Linux/../Siv3D/src -I/home/wrath/GAME/OpenSiv3D/Linux/../Siv3D/src/Siv3D-Platform/Linux -I/home/wrath/GAME/OpenSiv3D/Linux/../Siv3D/src/Siv3D-Platform/macOS_Linux -I/home/wrath/GAME/OpenSiv3D/Linux/../Siv3D/src/Siv3D-Platform/OpenGL4 -I/home/wrath/GAME/OpenSiv3D/Linux/../Siv3D/src/Siv3D-Platform/OpenGLES3 -I/home/wrath/GAME/OpenSiv3D/Linux/../Siv3D/src/ThirdParty -I/home/wrath/GAME/OpenSiv3D/Linux/../Siv3D/src/ThirdParty/asio -I/home/wrath/GAME/OpenSiv3D/Linux/../Siv3D/src/ThirdParty/freetype -I/home/wrath/GAME/OpenSiv3D/Linux/../Siv3D/src/ThirdParty/skia -I/home/wrath/GAME/OpenSiv3D/Linux/../Siv3D/src/ThirdParty/soloud/include -I/nix/store/gbycgp5065ch9ld2m7ws9zsn2x206z1v-opencv-4.9.0/include/opencv4 -I/nix/store/npsd46p4h7i0jdvll62zm8qjgx30i8m3-opusfile-0.12-dev/include/opus -I/nix/store/nmvh6xnj2znv5cjw48mhqmpwz0jsqa4r-libopus-1.5.1-dev/include/opus -I/nix/store/1f0gg0j5z1s4k75z2dwhh0m8cps8rk8c-soundtouch-2.3.2/include/soundtouch -I/nix/store/1rfyg1am0sqclfn4i21whpbf3s8msgna-gtk+3-3.24.41-dev/include/gtk-3.0 -I/nix/store/prdsa3f411y7kmd5w0kyaf9cwj635mc3-at-spi2-core-2.50.2-dev/include/atk-1.0 -I/nix/store/z1xzvmw2bzzk3x403zab39lq0r2sxbkw-glib-2.78.4-dev/include/glib-2.0 -I/nix/store/q6jyzkl2f1capj5yc0rq65i0zfm9b82k-glib-2.78.4/lib/glib-2.0/include -I/nix/store/y66wf2widknj05vg13lcmipdsl9xzlk0-cairo-1.18.0-dev/include/cairo -I/nix/store/ic5wzcpy0mbj7qpxg05j8zdihh3yc986-libpng-apng-1.6.43-dev/include/libpng16 -I/nix/store/fbz0bx2sixjn963jqkjjphdcrm3ig268-gdk-pixbuf-2.42.10-dev/include/gdk-pixbuf-2.0 -I/nix/store/m1kx60ln0zyg4nywl8yrpl6zy0g10srl-pango-1.51.2-dev/include/pango-1.0 -I/nix/store/86flfz614gqln2znq398351jkbx93cd4-harfbuzz-8.3.0-dev/include/harfbuzz -I/nix/store/6lwpqjzka4lpjm3j0mljknla9a2h8lmy-util-linux-minimal-2.39.3-dev/include/uuid -g -std=c++20 -Wall -Wextra -Wno-unknown-pragmas -fPIC -msse4.1 -fcolor-diagnostics -g3 -O0 -pg -DDEBUG -MD -MT OpenSiv3D/Linux/CMakeFiles/Siv3D.dir/__/Siv3D/src/Siv3D-Platform/Linux/Siv3D/ChildProcess/ChildProcessDetail.cpp.o -MF OpenSiv3D/Linux/CMakeFiles/Siv3D.dir/__/Siv3D/src/Siv3D-Platform/Linux/Siv3D/ChildProcess/ChildProcessDetail.cpp.o.d -o OpenSiv3D/Linux/CMakeFiles/Siv3D.dir/__/Siv3D/src/Siv3D-Platform/Linux/Siv3D/ChildProcess/ChildProcessDetail.cpp.o -c /home/wrath/GAME/OpenSiv3D/Siv3D/src/Siv3D-Platform/Linux/Siv3D/ChildProcess/ChildProcessDetail.cpp
In file included from /home/wrath/GAME/OpenSiv3D/Siv3D/src/Siv3D-Platform/Linux/Siv3D/ChildProcess/ChildProcessDetail.cpp:12:
In file included from /home/wrath/GAME/OpenSiv3D/Linux/../Siv3D/include/Siv3D/FileSystem.hpp:13:
In file included from /home/wrath/GAME/OpenSiv3D/Linux/../Siv3D/include/Siv3D/Common.hpp:14:
In file included from /home/wrath/GAME/OpenSiv3D/Linux/../Siv3D/include/Siv3D/Types.hpp:13:
In file included from /nix/store/j3027vyh2blzvwpn32nvc4fpfhqzi8x9-libcxx-18.1.1-dev/include/c++/v1/cstdint:143:
In file included from /nix/store/j3027vyh2blzvwpn32nvc4fpfhqzi8x9-libcxx-18.1.1-dev/include/c++/v1/__assert:13:
In file included from /nix/store/j3027vyh2blzvwpn32nvc4fpfhqzi8x9-libcxx-18.1.1-dev/include/c++/v1/__assertion_handler:13:
In file included from /nix/store/j3027vyh2blzvwpn32nvc4fpfhqzi8x9-libcxx-18.1.1-dev/include/c++/v1/__config:517:
/nix/store/gzxqm8dyfirbysqjhh78ivam62ll0m87-glibc-2.39-5-dev/include/features.h:414:4: warning: _FORTIFY_SOURCE requires compiling with optimization (-O) [-W#warnings]
  414 | #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
      |    ^
In file included from /home/wrath/GAME/OpenSiv3D/Siv3D/src/Siv3D-Platform/Linux/Siv3D/ChildProcess/ChildProcessDetail.cpp:13:
In file included from /home/wrath/GAME/OpenSiv3D/Siv3D/src/Siv3D-Platform/Linux/Siv3D/ChildProcess/ChildProcessDetail.hpp:14:
In file included from include/boost/process/child.hpp:25:
In file included from include/boost/process/posix.hpp:8:
In file included from include/boost/process/detail/posix/fd.hpp:15:
In file included from include/boost/process/detail/used_handles.hpp:15:
In file included from include/boost/process/detail/posix/asio_fwd.hpp:10:
In file included from include/boost/asio/ts/netfwd.hpp:29:
In file included from include/boost/asio/execution/blocking.hpp:19:
include/boost/asio/detail/type_traits.hpp:89:7: error: no member named 'result_of' in namespace 'std'; did you mean '::boost::result_of'?
   89 | using std::result_of;
      |       ^~~~~
include/boost/utility/result_of.hpp:61:29: note: '::boost::result_of' declared here
   61 | template<typename F> struct result_of;
      |                             ^
1 warning and 1 error generated.

再現方法 | To Reproduce

try to build OpenSiv3D with -std=c++20

ビルド環境 | Develop environment (please complete the following information):

  • OS: nixos (linux)
  • 開発環境 | IDE:
    compiler: llvm-18.1

備考 | Additional context

@Reputeless
Copy link
Member

The Boost version will be upgraded to 1.83.0 in the currently under development Siv3D v0.8.0.
In v0.6.x, it is difficult to update Boost because some features depend on functionalities that were removed in Boost 1.75.0.

@pillowtrucker
Copy link
Author

that's great! thank you

@pillowtrucker
Copy link
Author

I think adding add_compile_definitions(BOOST_ASIO_HAS_STD_INVOKE_RESULT) to https://github.com/Siv3D/OpenSiv3D/blob/main/Linux/CMakeLists.txt fixes the compilation with llvm18 in the meantime

@pillowtrucker
Copy link
Author

yeah that fixed it. I don't know if it's worth adding or mentioning in the readme. I'm probably the only person who is trying to build stuff with llvm18

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants