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

Cpp17 trial #6175

Draft
wants to merge 5 commits into
base: master
Choose a base branch
from
Draft

Cpp17 trial #6175

wants to merge 5 commits into from

Conversation

jvbsl
Copy link
Contributor

@jvbsl jvbsl commented Jul 13, 2023

I wanted to try to get it to cpp 17, but have no working windows environment, and azure still did not give me any building time.

So I'll try to use your azure build, I hope that is ok

@Krzmbrzl
Copy link
Member

Krzmbrzl commented Jul 14, 2023

C:\PROGRA~1\MICROS~2\2022\ENTERP~1\VC\Tools\MSVC\1435~1.322\bin\HostX64\x64\cl.exe  /nologo /TP -DICE_STATIC_LIBS -DMUMBLE_BUILD_YEAR=2023 -DMUMBLE_TARGET_ARCH=\"x64\" -DMUMBLE_TARGET_OS=\"windows\" -DMUMBLE_VERSION=1.6.0 -DMUMBLE_VERSION_MAJOR=1 -DMUMBLE_VERSION_MINOR=6 -DMUMBLE_VERSION_PATCH=0 -DMURMUR -DNOMINMAX -DQT_ACCESSIBILITY_SUPPORT_LIB -DQT_CORE_LIB -DQT_EVENTDISPATCHER_SUPPORT_LIB -DQT_FONTDATABASE_SUPPORT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_RESTRICTED_CAST_FROM_ASCII -DQT_SQL_LIB -DQT_SVG_LIB -DQT_THEME_SUPPORT_LIB -DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS -DQT_WIDGETS_LIB -DQT_WINDOWSUIAUTOMATION_SUPPORT_LIB -DQT_XML_LIB -DTRACY_ON_DEMAND -DUNICODE -DUSE_ICE -DUSE_QSSLDIFFIEHELLMANPARAMETERS -DUSE_ZEROCONF -DWIN32_LEAN_AND_MEAN -D_SCL_SECURE_NO_WARNINGS -D_SILENCE_CXX17_UNCAUGHT_EXCEPTION_DEPRECATION_WARNING -D_USE_MATH_DEFINES -D_WIN32_WINNT=0x0601 -ID:\a\1\b\src\murmur\mumble-server_autogen\include -ID:\a\1\s\src\murmur -ID:\a\1\s\src -ID:\a\1\s\3rdparty\qqbonjour -ID:\a\1\b\src\murmur -ID:\a\1\b\src -external:IC:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include -external:IC:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\qt5 -external:IC:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\qt5\QtCore -external:IC:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\tools\qt5\mkspecs\win32-msvc -external:IC:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\qt5\QtNetwork -external:IC:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\qt5\QtXml -external:ID:\a\1\s\3rdparty\tracy\public -external:ID:\a\1\s\3rdparty\gsl\include -external:IC:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\qt5\QtSql -external:IC:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\qt5\QtWidgets -external:IC:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\qt5\QtGui -external:IC:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\qt5\QtSvg -external:IC:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\qt5\QtEventDispatcherSupport -external:IC:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\qt5\QtFontDatabaseSupport -external:IC:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\qt5\QtThemeSupport -external:IC:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\qt5\QtAccessibilitySupport -external:IC:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\qt5\QtWindowsUIAutomationSupport -external:W0 /DWIN32 /D_WINDOWS /GR /EHsc /O2 /Ob2 /DNDEBUG -std:c++17 -MD /GL /Ox /fp:fast /bigobj /GR /Zi /Zo /Oy- /WX /showIncludes /Fosrc\murmur\CMakeFiles\mumble-server.dir\Unity\unity_0_cxx.cxx.obj /Fdsrc\murmur\CMakeFiles\mumble-server.dir\ /FS -c D:\a\1\b\src\murmur\CMakeFiles\mumble-server.dir\Unity\unity_0_cxx.cxx
C:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\Ice/Proxy.h(3171): error C2039: 'binary_function': is not a member of 'std'
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.35.32215\include\sstream(20): note: see declaration of 'std'
C:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\Ice/Proxy.h(3171): error C2504: 'binary_function': base class undefined
C:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\Ice/Proxy.h(3171): error C2143: syntax error: missing ',' before '<'
C:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\Ice/Proxy.h(3184): error C2039: 'binary_function': is not a member of 'std'
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.35.32215\include\sstream(20): note: see declaration of 'std'
C:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\Ice/Proxy.h(3184): error C2504: 'binary_function': base class undefined
C:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\Ice/Proxy.h(3184): error C2143: syntax error: missing ',' before '<'
C:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\Ice/Proxy.h(3197): error C2039: 'binary_function': is not a member of 'std'
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.35.32215\include\sstream(20): note: see declaration of 'std'
C:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\Ice/Proxy.h(3197): error C2504: 'binary_function': base class undefined
C:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\Ice/Proxy.h(3197): error C2143: syntax error: missing ',' before '<'
C:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\Ice/Proxy.h(3210): error C2039: 'binary_function': is not a member of 'std'
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.35.32215\include\sstream(20): note: see declaration of 'std'
C:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\Ice/Proxy.h(3210): error C2504: 'binary_function': base class undefined
C:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\Ice/Proxy.h(3210): error C2143: syntax error: missing ',' before '<'
C:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\IceUtil/Functional.h(22): error C2143: syntax error: missing ',' before '<'
C:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\IceUtil/Functional.h(34): note: see reference to class template instantiation 'IceUtilInternal::MemFun<R,T,H>' being compiled
C:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\IceUtil/Functional.h(37): error C2143: syntax error: missing ',' before '<'
C:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\IceUtil/Functional.h(49): note: see reference to class template instantiation 'IceUtilInternal::MemFun1<R,T,H,A>' being compiled
C:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\IceUtil/Functional.h(52): error C2143: syntax error: missing ',' before '<'
C:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\IceUtil/Functional.h(64): note: see reference to class template instantiation 'IceUtilInternal::VoidMemFun<T,H>' being compiled
C:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\IceUtil/Functional.h(67): error C2143: syntax error: missing ',' before '<'
C:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\IceUtil/Functional.h(79): note: see reference to class template instantiation 'IceUtilInternal::VoidMemFun1<T,H,A>' being compiled
C:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\IceUtil/Functional.h(82): error C2143: syntax error: missing ',' before '<'
C:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\IceUtil/Functional.h(94): note: see reference to class template instantiation 'IceUtilInternal::SecondMemFun<R,K,T,H>' being compiled
C:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\IceUtil/Functional.h(97): error C2143: syntax error: missing ',' before '<'
C:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\IceUtil/Functional.h(109): note: see reference to class template instantiation 'IceUtilInternal::SecondMemFun1<R,K,T,H,A>' being compiled
C:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\IceUtil/Functional.h(112): error C2143: syntax error: missing ',' before '<'
C:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\IceUtil/Functional.h(244): note: see reference to class template instantiation 'IceUtilInternal::SecondConstVoidMemFun<K,T,H>' being compiled
C:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\IceUtil/Functional.h(247): error C2143: syntax error: missing ',' before '<'
C:\hostedtoolcache\windows\MumbleBuild\windows-static-1.5.x~2022-05-17~cd7e2c9.x64\installed\x64-windows-static-md\include\IceUtil/Functional.h(259): note: see reference to class template instantiation 'IceUtilInternal::SecondConstVoidMemFun1<K,T,H,A>' being compiled

So I'll try to use your azure build, I hope that is ok

Sure :)

@jvbsl
Copy link
Contributor Author

jvbsl commented Jul 14, 2023

The access to the logs is public, so I can see them as well so you did not need to post them, but thanks anyway ;)

@jvbsl
Copy link
Contributor Author

jvbsl commented Jul 14, 2023

Well too bad the build environment is cached, and therefore cannot use my ice fork vcpkg port changes, any easy way to workaround that?
And btw. MacOS seems to get horrible too, as we would either need to ignore the deprecated errors for opengl(my guess would be that they are promoted from warnings), or need to implement a metal overlay instead of an opengl one, any idea what would be preferred?

@Krzmbrzl
Copy link
Member

any easy way to workaround that?

Not really. The CI can't build all dependencies on-the-fly so we have to use a pre-built env.

And btw. MacOS seems to get horrible too, as we would either need to ignore the deprecated errors for opengl(my guess would be that they are promoted from warnings), or need to implement a metal overlay instead of an opengl one, any idea what would be preferred?

Personally, I always wanted to separate the Overlay out into a separate plugin or something like that (in a standalone repo).
Then we could handle that independently from main Mumble.
For now though, I think simply not setting -Werror for the overlay should be fine (or even suppressing the deprecation warnings)

@jvbsl
Copy link
Contributor Author

jvbsl commented Jul 15, 2023

alright, it did build now with my manipulated build environment(I downloaded the old one and copied new ice files over that, but it got a whole 1GB bigger, don't exactly know what I did wrong^^)

Any idea how these build environments are created in a clean way?

I'm now gonna open a PR for our ice fork, which basically just made it up to date to the original repository.

Can't really test it on windows because the master branch is already broken:
#6177

@Krzmbrzl
Copy link
Member

Any idea how these build environments are created in a clean way?

They are built via vcpkg and then bundled using vcpkg export. You can use our vcpkg fork for that, which also contains a port for our custom Ice fork: https://github.com/mumble-voip/vcpkg

Sorry for the late response. I kind ignored this PR assuming that you were just playing around with different compile options 🙈

@jvbsl
Copy link
Contributor Author

jvbsl commented Dec 30, 2023

Well in the meantime I experimented using VCPKG binary cache which works fine as well, and would be perhaps be a preferred approach, because it is gonna be easier to update targeted packages.
But currently I'm waiting for some vcpkg package changes, so that we don't need special forks for zeroc-ice or vcpkg in general.

Edit:

Sorry for the late response. I kind ignored this PR assuming that you were just playing around with different compile options 🙈

Well it still is just experimental, that's why it is a draft, so no worries there

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

Successfully merging this pull request may close these issues.

None yet

2 participants