JetBrains / UnrealLink

Apache License 2.0
128 stars 24 forks source link

Compile fail: 'rd::detail::WiredRdTaskImpl<T,S>': inherits 'rd::RdBindableBase::rd::RdBindableBase::get_protocol' via dominance #255

Closed dinibu closed 1 year ago

dinibu commented 1 year ago

Getting this compile error when trying to install UnrealLink via Rider into Engine on Unreal 5.2 source (downloaded from GitHub).

I did look through the UnrealLink source code, AFAICT there specific warning from MSVC should be disabled via a pragma to disable for C4250 warning in RdReactiveBase.h. The pragma is guarded but it looks like it should be working, it's gated on _MSC_VER which should be defined as per MS docs for predefined preprocessor macros.

Open to suggestions and things to try to help resolve this issue! Thanks for any time and attention given to look at this.

Full log below:

Running AutomationTool...
Using bundled DotNet SDK version: 6.0.302
Starting AutomationTool...
Parsing command line: BuildPlugin -Unversioned -Plugin="C:\Users\User\AppData\Local\Temp\UnrealLink\Wosyhex\RiderLink.uplugin" -Package="C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut"
Initializing script modules...
Total script module initialization time: 0.78 s.
Executing commands...
Copying 394 file(s) using max 64 thread(s)
Reading plugin from C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\RiderLink.uplugin...
Building plugin for host platforms: Win64
Running: C:\dev\UnrealEngine\Engine\Binaries\ThirdParty\DotNet\6.0.302\windows\dotnet.exe "C:\dev\UnrealEngine\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll" UnrealEditor Win64 Development -Project="C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\HostProject.uproject" -plugin="C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\RiderLink.uplugin" -noubtmakefiles -manifest="C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Saved\Manifest-UnrealEditor-Win64-Development.xml" -nohotreload -log="C:\dev\UnrealEngine\Engine\Programs\AutomationTool\Saved\Logs\UBT-UnrealEditor-Win64-Development.txt"
Log file: C:\dev\UnrealEngine\Engine\Programs\AutomationTool\Saved\Logs\UBT-UnrealEditor-Win64-Development.txt
Using 'git status' to determine working set for adaptive non-unity build (C:\dev\UnrealEngine).
Parsing headers for UnrealEditor
  Running Internal UnrealHeaderTool "C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\HostProject.uproject" "C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Intermediate\Build\Win64\UnrealEditor\Development\UnrealEditor.uhtmanifest" -WarningsAsErrors
Total of 0 written
Reflection code generated for UnrealEditor in 5.2265767 seconds
Writing manifest to C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Saved\Manifest-UnrealEditor-Win64-Development.xml
Building UnrealEditor...
Using Visual Studio 2022 14.36.32532 toolchain (C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532) and Windows 10.0.22000.0 SDK (C:\Program Files (x86)\Windows Kits\10).
Determining max actions to execute in parallel (8 physical cores, 16 logical cores)
  Executing up to 8 processes, one per physical core
  Requested 1.5 GB free memory per action, 6.68 GB available: limiting max parallel actions to 4
Building 76 actions with 4 processes...
[1/76] Compile [x64] InternScheduler.cpp
[2/76] Compile [x64] countdownlatch.cpp
[3/76] Compile [x64] ISerializersOwner.cpp
[4/76] Compile [x64] SimpleSocket.cpp
[5/76] Compile [x64] RD.cpp
[6/76] Compile [x64] PkgInputStream.cpp
[7/76] Compile [x64] ByteBufferAsyncProcessor.cpp
[8/76] Compile [x64] stdout_sinks.cpp
[9/76] Compile [x64] SequentialLifetimes.cpp
[10/76] Compile [x64] IRdWireable.cpp
[11/76] Compile [x64] SocketWire.cpp
[12/76] Compile [x64] InternRoot.cpp
[13/76] Compile [x64] IScheduler.cpp
[14/76] Compile [x64] RdExtBase.cpp
[15/76] Compile [x64] WireUtil.cpp
[16/76] Compile [x64] LifetimeDefinition.cpp
[17/76] Compile [x64] PassiveSocket.cpp
[18/76] Compile [x64] RName.cpp
[19/76] Compile [x64] ExtWire.cpp
[20/76] Compile [x64] Serializers.cpp
[21/76] Compile [x64] SimpleScheduler.cpp
[22/76] Compile [x64] RdReactiveBase.cpp
[23/76] Compile [x64] IProtocol.cpp
[24/76] Compile [x64] color_sinks.cpp
[25/76] Compile [x64] ActiveSocket.cpp
[26/76] Compile [x64] fmt.cpp
[27/76] Compile [x64] Lifetime.cpp
[28/76] Compile [x64] RdId.cpp
[29/76] Compile [x64] LifetimeImpl.cpp
[30/76] Compile [x64] Protocol.cpp
[31/76] Compile [x64] DateTime.cpp
[32/76] Compile [x64] RdTextBuffer.cpp
[33/76] Compile [x64] SingleThreadScheduler.cpp
[34/76] Compile [x64] SynchronousScheduler.cpp
[35/76] Compile [x64] spdlog.cpp
[36/76] Compile [x64] Buffer.cpp
[37/76] Compile [x64] thirdparty.cpp
[38/76] Compile [x64] hashing.cpp
[39/76] Compile [x64] SignalCookie.cpp
[40/76] Compile [x64] thread_util.cpp
[41/76] Compile [x64] ISerializable.cpp
[42/76] Compile [x64] WireBase.cpp
[43/76] Compile [x64] file_sinks.cpp
[44/76] Compile [x64] IUnknownInstance.cpp
[45/76] Compile [x64] Polymorphic.cpp
[46/76] Compile [x64] Identities.cpp
[47/76] Compile [x64] cfg.cpp
[48/76] Compile [x64] PumpScheduler.cpp
[49/76] Compile [x64] RdBindableBase.cpp
[50/76] Compile [x64] RdAny.cpp
[51/76] Compile [x64] DefaultAbstractDeclaration.cpp
[52/76] Compile [x64] MessageBroker.cpp
[53/76] Compile [x64] SingleThreadSchedulerBase.cpp
[54/76] Compile [x64] async.cpp
[55/76] Compile [x64] SerializationCtx.cpp
[56/76] Compile [x64] RiderShaderInfo.cpp
[57/76] Compile [x64] Module.RiderLink.cpp
[58/76] Compile [x64] RiderLC.cpp
[59/76] Link [x64] UnrealEditor-RD.lib
   Creating library C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Intermediate\Build\Win64\x64\UnrealEditor\Development\RD\UnrealEditor-RD.lib and object C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Intermediate\Build\Win64\x64\UnrealEditor\Development\RD\UnrealEditor-RD.exp
[60/76] Link [x64] UnrealEditor-RD.dll
   Creating library C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Intermediate\Build\Win64\x64\UnrealEditor\Development\RD\UnrealEditor-RD.suppressed.lib and object C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Intermediate\Build\Win64\x64\UnrealEditor\Development\RD\UnrealEditor-RD.suppressed.exp
[61/76] Link [x64] UnrealEditor-RiderShaderInfo.dll
   Creating library C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Intermediate\Build\Win64\x64\UnrealEditor\Development\RiderShaderInfo\UnrealEditor-RiderShaderInfo.suppressed.lib and object C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Intermediate\Build\Win64\x64\UnrealEditor\Development\RiderShaderInfo\UnrealEditor-RiderShaderInfo.suppressed.exp
[62/76] Link [x64] UnrealEditor-RiderShaderInfo.lib
   Creating library C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Intermediate\Build\Win64\x64\UnrealEditor\Development\RiderShaderInfo\UnrealEditor-RiderShaderInfo.lib and object C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Intermediate\Build\Win64\x64\UnrealEditor\Development\RiderShaderInfo\UnrealEditor-RiderShaderInfo.exp
[63/76] Link [x64] UnrealEditor-RiderLink.lib
   Creating library C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Intermediate\Build\Win64\x64\UnrealEditor\Development\RiderLink\UnrealEditor-RiderLink.lib and object C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Intermediate\Build\Win64\x64\UnrealEditor\Development\RiderLink\UnrealEditor-RiderLink.exp
[64/76] Link [x64] UnrealEditor-RiderLC.lib
   Creating library C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Intermediate\Build\Win64\x64\UnrealEditor\Development\RiderLC\UnrealEditor-RiderLC.lib and object C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Intermediate\Build\Win64\x64\UnrealEditor\Development\RiderLC\UnrealEditor-RiderLC.exp
[65/76] Link [x64] UnrealEditor-RiderLink.dll
   Creating library C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Intermediate\Build\Win64\x64\UnrealEditor\Development\RiderLink\UnrealEditor-RiderLink.suppressed.lib and object C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Intermediate\Build\Win64\x64\UnrealEditor\Development\RiderLink\UnrealEditor-RiderLink.suppressed.exp
[66/76] Compile [x64] Module.RiderLogging.cpp
[67/76] Link [x64] UnrealEditor-RiderLogging.lib
   Creating library C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Intermediate\Build\Win64\x64\UnrealEditor\Development\RiderLogging\UnrealEditor-RiderLogging.lib and object C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Intermediate\Build\Win64\x64\UnrealEditor\Development\RiderLogging\UnrealEditor-RiderLogging.exp
[68/76] Link [x64] UnrealEditor-RiderLC.dll
   Creating library C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Intermediate\Build\Win64\x64\UnrealEditor\Development\RiderLC\UnrealEditor-RiderLC.suppressed.lib and object C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Intermediate\Build\Win64\x64\UnrealEditor\Development\RiderLC\UnrealEditor-RiderLC.suppressed.exp
[69/76] Compile [x64] Module.RiderBlueprint.cpp
C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Source\RD\src\rd_framework_cpp\src\main\task\WiredRdTaskImpl.h(67): error C4250: 'rd::detail::WiredRdTaskImpl<T,S>': inherits 'rd::RdBindableBase::rd::RdBindableBase::get_protocol' via dominance
        with
        [
            T=bool,
            S=rd::Polymorphic<bool,void>
        ]
C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Source\RD\src\rd_framework_cpp\src\main\base\RdBindableBase.h(29): note: see declaration of 'rd::RdBindableBase::get_protocol'
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\INCLUDE\xmemory(2096): note: see reference to class template instantiation 'rd::detail::WiredRdTaskImpl<T,S>' being compiled
        with
        [
            T=bool,
            S=rd::Polymorphic<bool,void>
        ]
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\INCLUDE\memory(2105): note: see reference to class template instantiation 'std::_Wrap<_Ty>' being compiled
        with
        [
            _Ty=rd::detail::WiredRdTaskImpl<bool,rd::Polymorphic<bool,void>>
        ]
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\INCLUDE\memory(2764): note: see reference to class template instantiation 'std::_Ref_count_obj2<_Ty>' being compiled
        with
        [
            _Ty=rd::detail::WiredRdTaskImpl<bool,rd::Polymorphic<bool,void>>
        ]
C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Source\RD\src\rd_framework_cpp\src\main\task\WiredRdTask.h(21): note: see reference to function template instantiation 'std::shared_ptr<rd::detail::WiredRdTaskImpl<T,S>> std::make_shared<rd::detail::WiredRdTaskImpl<T,S>,rd::Lifetime&,const rd::RdReactiveBase&,rd::RdId&,rd::IScheduler*&,rd::Property<rd::RdTaskResult<T,S>>*&>(rd::Lifetime &,const rd::RdReactiveBase &,rd::RdId &,rd::IScheduler *&,rd::Property<rd::RdTaskResult<T,S>> *&)' being compiled
        with
        [
            T=bool,
            S=rd::Polymorphic<bool,void>
        ]
C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Source\RD\src\rd_framework_cpp\src\main\task\WiredRdTask.h(20): note: while compiling class template member function 'rd::WiredRdTask<TRes,ResSer>::WiredRdTask(rd::Lifetime,const rd::RdReactiveBase &,rd::RdId,rd::IScheduler *)'
        with
        [
            TRes=bool,
            ResSer=rd::Polymorphic<bool,void>
        ]
C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Source\RD\src\rd_framework_cpp\src\main\task\RdCall.h(120): note: see the first reference to 'rd::WiredRdTask<TRes,ResSer>::WiredRdTask' in 'rd::RdCall<int32_t,bool,rd::Polymorphic<T,void>,rd::Polymorphic<bool,void>>::start_internal'
        with
        [
            TRes=bool,
            ResSer=rd::Polymorphic<bool,void>
        ]
        and
        [
            T=int
        ]
C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Source\RD\src\rd_framework_cpp\src\main\task\RdCall.h(74): note: see the first reference to 'rd::RdCall<int32_t,bool,rd::Polymorphic<T,void>,rd::Polymorphic<bool,void>>::start_internal' in 'rd::RdCall<int32_t,bool,rd::Polymorphic<T,void>,rd::Polymorphic<bool,void>>::sync'
        with
        [
            T=int
        ]
C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Source\RiderBlueprint\Private\RiderBlueprint.cpp(31): note: see the first reference to 'rd::RdCall<int32_t,bool,rd::Polymorphic<T,void>,rd::Polymorphic<bool,void>>::sync' in 'AllowSetForeGroundForEditor'
        with
        [
            T=int
        ]
C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Source\RiderBlueprint\Private\RiderBlueprint.cpp(31): note: see reference to class template instantiation 'rd::WiredRdTask<TRes,ResSer>' being compiled
        with
        [
            TRes=bool,
            ResSer=rd::Polymorphic<bool,void>
        ]
C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Source\RD\src\rd_framework_cpp\src\main\task\WiredRdTaskImpl.h(67): error C4250: 'rd::detail::WiredRdTaskImpl<T,S>': inherits 'rd::RdBindableBase::rd::RdBindableBase::get_serialization_context' via dominance
        with
        [
            T=bool,
            S=rd::Polymorphic<bool,void>
        ]
C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Source\RD\src\rd_framework_cpp\src\main\base\RdBindableBase.h(60): note: see declaration of 'rd::RdBindableBase::get_serialization_context'
C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Source\RD\src\rd_framework_cpp\src\main\task\WiredRdTaskImpl.h(67): error C4250: 'rd::detail::WiredRdTaskImpl<T,S>': inherits 'rd::RdBindableBase::rd::RdBindableBase::get_location' via dominance
        with
        [
            T=bool,
            S=rd::Polymorphic<bool,void>
        ]
C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Source\RD\src\rd_framework_cpp\src\main\base\RdBindableBase.h(50): note: see declaration of 'rd::RdBindableBase::get_location'
C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Source\RD\src\rd_framework_cpp\src\main\task\WiredRdTaskImpl.h(67): error C4250: 'rd::detail::WiredRdTaskImpl<T,S>': inherits 'rd::RdBindableBase::rd::RdBindableBase::set_id' via dominance
        with
        [
            T=bool,
            S=rd::Polymorphic<bool,void>
        ]
C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Source\RD\src\rd_framework_cpp\src\main\base\RdBindableBase.h(54): note: see declaration of 'rd::RdBindableBase::set_id'
C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Source\RD\src\rd_framework_cpp\src\main\task\WiredRdTaskImpl.h(67): error C4250: 'rd::detail::WiredRdTaskImpl<T,S>': inherits 'rd::RdBindableBase::rd::RdBindableBase::get_id' via dominance
        with
        [
            T=bool,
            S=rd::Polymorphic<bool,void>
        ]
C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Source\RD\src\rd_framework_cpp\src\main\base\RdBindableBase.h(52): note: see declaration of 'rd::RdBindableBase::get_id'
C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Source\RD\src\rd_framework_cpp\src\main\task\WiredRdTaskImpl.h(67): error C4250: 'rd::detail::WiredRdTaskImpl<T,S>': inherits 'rd::RdBindableBase::rd::RdBindableBase::bind' via dominance
        with
        [
            T=bool,
            S=rd::Polymorphic<bool,void>
        ]
C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Source\RD\src\rd_framework_cpp\src\main\base\RdBindableBase.h(56): note: see declaration of 'rd::RdBindableBase::bind'
C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Source\RD\src\rd_framework_cpp\src\main\task\WiredRdTaskImpl.h(67): error C4250: 'rd::detail::WiredRdTaskImpl<T,S>': inherits 'rd::RdBindableBase::rd::RdBindableBase::identify' via dominance
        with
        [
            T=bool,
            S=rd::Polymorphic<bool,void>
        ]
C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Source\RD\src\rd_framework_cpp\src\main\base\RdBindableBase.h(58): note: see declaration of 'rd::RdBindableBase::identify'
[70/76] Link [x64] UnrealEditor-RiderBlueprint.lib cancelled
[71/76] Link [x64] UnrealEditor-RiderBlueprint.dll cancelled
[72/76] Link [x64] UnrealEditor-RiderLogging.dll cancelled
[73/76] Compile [x64] RiderGameControl.cpp
[74/76] Link [x64] UnrealEditor-RiderGameControl.lib
   Creating library C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Intermediate\Build\Win64\x64\UnrealEditor\Development\RiderGameControl\UnrealEditor-RiderGameControl.lib and object C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Intermediate\Build\Win64\x64\UnrealEditor\Development\RiderGameControl\UnrealEditor-RiderGameControl.exp
[75/76] Link [x64] UnrealEditor-RiderGameControl.dll
   Creating library C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Intermediate\Build\Win64\x64\UnrealEditor\Development\RiderGameControl\UnrealEditor-RiderGameControl.suppressed.lib and object C:\Users\User\AppData\Local\Temp\UnrealLink\Rejakut\HostProject\Plugins\RiderLink\Intermediate\Build\Win64\x64\UnrealEditor\Development\RiderGameControl\UnrealEditor-RiderGameControl.suppressed.exp
[76/76] WriteMetadata UnrealEditor.target cancelled
Took 122.66564220000001s to run dotnet.exe, ExitCode=6
UnrealBuildTool failed. See log for more details. (C:\dev\UnrealEngine\Engine\Programs\AutomationTool\Saved\Logs\UBT-UnrealEditor-Win64-Development.txt)
AutomationTool executed for 0h 2m 4s
AutomationTool exiting with ExitCode=6 (6)
BUILD FAILED
Failed to build RiderLink plugin for C:\dev\UnrealEngine
Failed to build RiderLink plugin
DecoyRS commented 1 year ago

The fix is already available in JetBrains marketplace. Settings > Plugins > UnrealLink > update