brifsttar / OpenDRIVE

Unreal Engine OpenDRIVE plugin
Mozilla Public License 2.0
149 stars 30 forks source link

Which version of UnrealEngine builds this plugin successfully? #9

Open rdyro opened 1 year ago

rdyro commented 1 year ago

Hi!

I'm trying to get this plugin to compile with the CARLA fork of the UnrealEngine version 4.26 on Linux. My environment is:

Linux DESKTOPRD 5.15.0-52-generic #58~20.04.1-Ubuntu SMP Thu Oct 13 13:09:46 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

First, I tried placing the fully-submodule-initialized copy of this repo under a Plugins folder in an Unreal Project and opening the project with UE4Editor. The editor first asks:

The following modules are missing or build with a different engine version:

OpenDRIVE
OpenDRIVELoader
OpenDRIVEEditor

Would you like to rebuild them now?
Yes/No

After pressing Yes, I get:

Engine modules are out of date, and cannot be compiled while the engine is running. Please build through your IDE.

Next, I placed the fully-submodule-initialized copy of this repo under UnrealEngine/Engine/Plugins, but I'm receiving the following compile errors:

bash "/mnt/SmallStorage/UnrealEngine/Engine/Build/BatchFiles/Linux/Build.sh" CrashReportClient Linux Shipping  
bash "/mnt/SmallStorage/UnrealEngine/Engine/Build/BatchFiles/Linux/Build.sh" CrashReportClientEditor Linux Shipping  
bash "/mnt/SmallStorage/UnrealEngine/Engine/Build/BatchFiles/Linux/Build.sh" ShaderCompileWorker Linux Development  
bash "/mnt/SmallStorage/UnrealEngine/Engine/Build/BatchFiles/Linux/Build.sh" UnrealLightmass Linux Development  
bash "/mnt/SmallStorage/UnrealEngine/Engine/Build/BatchFiles/Linux/Build.sh" UnrealFrontend Linux Development  
bash "/mnt/SmallStorage/UnrealEngine/Engine/Build/BatchFiles/Linux/Build.sh" UE4Editor Linux Development  
bash "/mnt/SmallStorage/UnrealEngine/Engine/Build/BatchFiles/Linux/Build.sh" UnrealInsights Linux Development  
Fixing inconsistent case in filenames.
Setting up Mono
Fixing inconsistent case in filenames.
Fixing inconsistent case in filenames.
Setting up Mono
Setting up Mono
Fixing inconsistent case in filenames.
Setting up Mono
Fixing inconsistent case in filenames.
Fixing inconsistent case in filenames.
Setting up Mono
Setting up Mono
Fixing inconsistent case in filenames.
Setting up Mono
Running command : Engine/Binaries/DotNET/UnrealBuildTool.exe UE4Editor Linux Development
Running command : Engine/Binaries/DotNET/UnrealBuildTool.exe CrashReportClientEditor Linux Shipping
Running command : Engine/Binaries/DotNET/UnrealBuildTool.exe CrashReportClient Linux Shipping
Running command : Engine/Binaries/DotNET/UnrealBuildTool.exe UnrealFrontend Linux Development
Running command : Engine/Binaries/DotNET/UnrealBuildTool.exe UnrealLightmass Linux Development
Running command : Engine/Binaries/DotNET/UnrealBuildTool.exe ShaderCompileWorker Linux Development
Running command : Engine/Binaries/DotNET/UnrealBuildTool.exe UnrealInsights Linux Development
Using 'git status' to determine working set for adaptive non-unity build (/mnt/SmallStorage/UnrealEngine).
Using 'git status' to determine working set for adaptive non-unity build (/mnt/SmallStorage/UnrealEngine).
Using 'git status' to determine working set for adaptive non-unity build (/mnt/SmallStorage/UnrealEngine).
Using 'git status' to determine working set for adaptive non-unity build (/mnt/SmallStorage/UnrealEngine).
Using 'git status' to determine working set for adaptive non-unity build (/mnt/SmallStorage/UnrealEngine).
Using 'git status' to determine working set for adaptive non-unity build (/mnt/SmallStorage/UnrealEngine).
Invalidating makefile for UnrealLightmass (OpenDRIVE.uplugin has been added)
Using 'git status' to determine working set for adaptive non-unity build (/mnt/SmallStorage/UnrealEngine).
Invalidating makefile for UnrealFrontend (OpenDRIVE.uplugin has been added)
Invalidating makefile for CrashReportClient (OpenDRIVE.uplugin has been added)
Invalidating makefile for ShaderCompileWorker (OpenDRIVE.uplugin has been added)
Invalidating makefile for UnrealInsights (OpenDRIVE.uplugin has been added)
Invalidating makefile for CrashReportClientEditor (OpenDRIVE.uplugin has been added)
Invalidating makefile for UE4Editor (OpenDRIVE.uplugin has been added)
------- Build details --------
Using toolchain located at '/mnt/SmallStorage/UnrealEngine/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v17_clang-10.0.1-centos7/x86_64-unknown-linux-gnu'.
Using clang (/mnt/SmallStorage/UnrealEngine/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v17_clang-10.0.1-centos7/x86_64-unknown-linux-gnu/bin/clang++) version '10.0.1' (string), 10 (major), 0 (minor), 1 (patch)
Using bundled libc++ standard C++ library.
Using lld linker
Using llvm-ar : /mnt/SmallStorage/UnrealEngine/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v17_clang-10.0.1-centos7/x86_64-unknown-linux-gnu/bin/llvm-ar
Using fast way to relink  circularly dependent libraries (no FixDeps).
------------------------------
------- Build details --------
Using toolchain located at '/mnt/SmallStorage/UnrealEngine/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v17_clang-10.0.1-centos7/x86_64-unknown-linux-gnu'.
Using clang (/mnt/SmallStorage/UnrealEngine/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v17_clang-10.0.1-centos7/x86_64-unknown-linux-gnu/bin/clang++) version '10.0.1' (string), 10 (major), 0 (minor), 1 (patch)
Using bundled libc++ standard C++ library.
Using lld linker
Using llvm-ar : /mnt/SmallStorage/UnrealEngine/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v17_clang-10.0.1-centos7/x86_64-unknown-linux-gnu/bin/llvm-ar
Using fast way to relink  circularly dependent libraries (no FixDeps).
------------------------------
------- Build details --------
Using toolchain located at '/mnt/SmallStorage/UnrealEngine/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v17_clang-10.0.1-centos7/x86_64-unknown-linux-gnu'.
Using clang (/mnt/SmallStorage/UnrealEngine/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v17_clang-10.0.1-centos7/x86_64-unknown-linux-gnu/bin/clang++) version '10.0.1' (string), 10 (major), 0 (minor), 1 (patch)
Using bundled libc++ standard C++ library.
Using lld linker
Using llvm-ar : /mnt/SmallStorage/UnrealEngine/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v17_clang-10.0.1-centos7/x86_64-unknown-linux-gnu/bin/llvm-ar
Using fast way to relink  circularly dependent libraries (no FixDeps).
------------------------------
------- Build details --------
Using toolchain located at '/mnt/SmallStorage/UnrealEngine/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v17_clang-10.0.1-centos7/x86_64-unknown-linux-gnu'.
Using clang (/mnt/SmallStorage/UnrealEngine/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v17_clang-10.0.1-centos7/x86_64-unknown-linux-gnu/bin/clang++) version '10.0.1' (string), 10 (major), 0 (minor), 1 (patch)
Using bundled libc++ standard C++ library.
Using lld linker
Using llvm-ar : /mnt/SmallStorage/UnrealEngine/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v17_clang-10.0.1-centos7/x86_64-unknown-linux-gnu/bin/llvm-ar
Using fast way to relink  circularly dependent libraries (no FixDeps).
------------------------------
------- Build details --------
Using toolchain located at '/mnt/SmallStorage/UnrealEngine/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v17_clang-10.0.1-centos7/x86_64-unknown-linux-gnu'.
Using clang (/mnt/SmallStorage/UnrealEngine/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v17_clang-10.0.1-centos7/x86_64-unknown-linux-gnu/bin/clang++) version '10.0.1' (string), 10 (major), 0 (minor), 1 (patch)
Using bundled libc++ standard C++ library.
Using lld linker
Using llvm-ar : /mnt/SmallStorage/UnrealEngine/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v17_clang-10.0.1-centos7/x86_64-unknown-linux-gnu/bin/llvm-ar
Using fast way to relink  circularly dependent libraries (no FixDeps).
------------------------------
------- Build details --------
Using toolchain located at '/mnt/SmallStorage/UnrealEngine/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v17_clang-10.0.1-centos7/x86_64-unknown-linux-gnu'.
Using clang (/mnt/SmallStorage/UnrealEngine/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v17_clang-10.0.1-centos7/x86_64-unknown-linux-gnu/bin/clang++) version '10.0.1' (string), 10 (major), 0 (minor), 1 (patch)
Using bundled libc++ standard C++ library.
Using lld linker
Using llvm-ar : /mnt/SmallStorage/UnrealEngine/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v17_clang-10.0.1-centos7/x86_64-unknown-linux-gnu/bin/llvm-ar
Using fast way to relink  circularly dependent libraries (no FixDeps).
------------------------------
/mnt/SmallStorage/UnrealEngine/Engine/Source/Runtime/CoreUObject/Private/Serialization/TextReferenceCollector.cpp(1): error: Expected TextReferenceCollector.h to be first header included.
/mnt/SmallStorage/UnrealEngine/Engine/Source/Runtime/CoreUObject/Private/Serialization/TextReferenceCollector.cpp(1): error: Expected TextReferenceCollector.h to be first header included.
/mnt/SmallStorage/UnrealEngine/Engine/Source/Runtime/CoreUObject/Private/Serialization/TextReferenceCollector.cpp(1): error: Expected TextReferenceCollector.h to be first header included.
/mnt/SmallStorage/UnrealEngine/Engine/Source/Runtime/CoreUObject/Private/Serialization/TextReferenceCollector.cpp(1): error: Expected TextReferenceCollector.h to be first header included.
Target is up to date
/mnt/SmallStorage/UnrealEngine/Engine/Source/Runtime/CoreUObject/Private/Serialization/TextReferenceCollector.cpp(1): error: Expected TextReferenceCollector.h to be first header included.
Target is up to date
Total execution time: 2.92 seconds
Total execution time: 2.93 seconds
Target is up to date
Total execution time: 2.96 seconds
/mnt/SmallStorage/UnrealEngine/Engine/Source/Runtime/CoreUObject/Private/Serialization/TextReferenceCollector.cpp(1): error: Expected TextReferenceCollector.h to be first header included.
Target is up to date
Total execution time: 3.01 seconds
Target is up to date
Total execution time: 3.03 seconds
Target is up to date
Total execution time: 3.11 seconds
Invalidating makefile for UnrealHeaderTool (OpenDRIVE.uplugin has been added)
------- Build details --------
Using toolchain located at '/mnt/SmallStorage/UnrealEngine/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v17_clang-10.0.1-centos7/x86_64-unknown-linux-gnu'.
Using clang (/mnt/SmallStorage/UnrealEngine/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v17_clang-10.0.1-centos7/x86_64-unknown-linux-gnu/bin/clang++) version '10.0.1' (string), 10 (major), 0 (minor), 1 (patch)
Using bundled libc++ standard C++ library.
Using lld linker
Using llvm-ar : /mnt/SmallStorage/UnrealEngine/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v17_clang-10.0.1-centos7/x86_64-unknown-linux-gnu/bin/llvm-ar
Using fast way to relink  circularly dependent libraries (no FixDeps).
------------------------------
/mnt/SmallStorage/UnrealEngine/Engine/Source/Runtime/CoreUObject/Private/Serialization/TextReferenceCollector.cpp(1): error: Expected TextReferenceCollector.h to be first header included.
Parsing headers for UE4Editor
  Running UnrealHeaderTool UE4Editor "/mnt/SmallStorage/UnrealEngine/Engine/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/UE4Editor.uhtmanifest" -LogCmds="loginit warning, logexit warning, logdatabase error" -Unattended -WarningsAsErrors -abslog="/mnt/SmallStorage/UnrealEngine/Engine/Programs/UnrealBuildTool/Log_UHT.txt"
/mnt/SmallStorage/UnrealEngine/Engine/Plugins/OpenDRIVE/Source/OpenDRIVE/Public/JunctionSignSpawner.h(19) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
/mnt/SmallStorage/UnrealEngine/Engine/Plugins/OpenDRIVE/Source/OpenDRIVE/Public/JunctionSignSpawner.h(22) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
/mnt/SmallStorage/UnrealEngine/Engine/Plugins/OpenDRIVE/Source/OpenDRIVE/Public/OpenDriveTrajectory.h(20) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
/mnt/SmallStorage/UnrealEngine/Engine/Plugins/OpenDRIVE/Source/OpenDRIVE/Public/RoadDecalSpawner.h(17) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
/mnt/SmallStorage/UnrealEngine/Engine/Plugins/OpenDRIVE/Source/OpenDRIVE/Public/TrafficLight.h(36) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
/mnt/SmallStorage/UnrealEngine/Engine/Plugins/OpenDRIVE/Source/OpenDRIVE/Public/TrafficLight.h(39) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
/mnt/SmallStorage/UnrealEngine/Engine/Plugins/OpenDRIVE/Source/OpenDRIVE/Public/TrafficLight.h(49) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
/mnt/SmallStorage/UnrealEngine/Engine/Plugins/OpenDRIVE/Source/OpenDRIVE/Public/TrafficLight.h(52) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
/mnt/SmallStorage/UnrealEngine/Engine/Plugins/OpenDRIVE/Source/OpenDRIVE/Public/TrafficLightController.h(16) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
/mnt/SmallStorage/UnrealEngine/Engine/Plugins/OpenDRIVE/Source/OpenDRIVE/Public/TrafficLightController.h(21) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
/mnt/SmallStorage/UnrealEngine/Engine/Plugins/OpenDRIVE/Source/OpenDRIVE/Public/TrafficLightController.h(26) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
/mnt/SmallStorage/UnrealEngine/Engine/Plugins/OpenDRIVE/Source/OpenDRIVE/Public/TrafficLightController.h(31) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
/mnt/SmallStorage/UnrealEngine/Engine/Plugins/OpenDRIVE/Source/OpenDRIVE/Public/TrafficLightController.h(36) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
/mnt/SmallStorage/UnrealEngine/Engine/Plugins/OpenDRIVE/Source/OpenDRIVE/Public/TrafficLightController.h(41) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
/mnt/SmallStorage/UnrealEngine/Engine/Plugins/OpenDRIVE/Source/OpenDRIVEEditor/Public/OpenDrive2Landscape.h(25) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
make: *** [Makefile:1008: UE4Editor] Error 6

I repeated the process on Windows 10 (on the same machine) with VisualStudio 2019 and got the exact same outputs.

Could you advise on how to build your plugin correctly?

Best regards, Robert

brifsttar commented 1 year ago

Hi Robert,

Your issue looks very similar to #8. The plugin currently doesn't support Linux out of the box (I'll update the readme later to reflect that). It probably could work on Linux, but some work is required (it's discussed in #8 ).

The plugin also doesn't build alongside CARLA, as there are duplicate classes name. The easiest workaround is to delete my plugin's ATrafficLightController, as it probably has less downstream effects than deleting CARLA's (this is also discussed in #8 ).

As for Windows, it should build. We've been successfully using it on 4.26 -> 5.1. Are you sure the output log is identical? I think the "explicit Category specifier" error is Unix only (I'll still fix it later anyway), so I'd be surprised to see it on Windows.

rdyro commented 1 year ago

Thanks for the quick response!

I'll give building CARLA alongside Unreal a try, I'll keep you updated.

Thank you in advance for updating the installation instructions!

rdyro commented 1 year ago

I tested the combined Carla + Unreal setup on Windows (following the CARLA docs) with the master version of CARLA.

Unfortunately, I'm running into the same issues as mentioned in #8 .

I'm not currently sure how to proceed (I've tried a couple easy fixes like removing the TrafficLight files from OpenDRIVE).

Could you specify which version of Carla and Unreal engine is this plugin tested on? Thanks!

brifsttar commented 1 year ago

Could you specify which version of Carla and Unreal engine is this plugin tested on? Thanks!

This plugin has never been tested alongside CARLA. It has been tested on UE4.26 to 5.0.

Could you maybe share more about the issue you encounter? In #8 , once the OP deleted the ATrafficLightController class, they encountered an issue that, as far as I know, only occurs on Linux.

If the issue is related to missing RoadManager files, make sure you have properly initialized the plugin's submodule (git submodule update --init --recursive).

rdyro commented 1 year ago

Thank you for all of your responses, this is very helpful!

On windows, with Visual Studio 2019, I attempted to build UnrealEngine 4.27.2 (from EpicGames) with the plugin correctly initialized under Engine\Plugins.

These are the build errors I'm getting:

Build started...
1>------ Build started: Project: UE4, Configuration: Development_Editor x64 ------
1>Creating makefile for UE4Editor (no existing makefile)
1>Parsing headers for UE4Editor
1>  Running UnrealHeaderTool UE4Editor "C:\Users\rdyro\Desktop\UE4\Engine\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor.uhtmanifest" -LogCmds="loginit warning, logexit warning, logdatabase error" -Unattended -WarningsAsErrors -abslog="C:\Users\rdyro\Desktop\UE4\Engine\Programs\UnrealBuildTool\Log_UHT.txt"
1>LogInit: Display: Loading text-based GConfig....
1>C:/Users/rdyro/Desktop/UE4/Engine/Plugins/OpenDRIVE/Source/OpenDRIVE/Public/JunctionSignSpawner.h(19) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
1>C:/Users/rdyro/Desktop/UE4/Engine/Plugins/OpenDRIVE/Source/OpenDRIVE/Public/JunctionSignSpawner.h(22) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
1>C:/Users/rdyro/Desktop/UE4/Engine/Plugins/OpenDRIVE/Source/OpenDRIVE/Public/OpenDriveTrajectory.h(20) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
1>C:/Users/rdyro/Desktop/UE4/Engine/Plugins/OpenDRIVE/Source/OpenDRIVE/Public/RoadDecalSpawner.h(17) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
1>C:/Users/rdyro/Desktop/UE4/Engine/Plugins/OpenDRIVE/Source/OpenDRIVE/Public/TrafficLight.h(36) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
1>C:/Users/rdyro/Desktop/UE4/Engine/Plugins/OpenDRIVE/Source/OpenDRIVE/Public/TrafficLight.h(39) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
1>C:/Users/rdyro/Desktop/UE4/Engine/Plugins/OpenDRIVE/Source/OpenDRIVE/Public/TrafficLight.h(49) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
1>C:/Users/rdyro/Desktop/UE4/Engine/Plugins/OpenDRIVE/Source/OpenDRIVE/Public/TrafficLight.h(52) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
1>C:/Users/rdyro/Desktop/UE4/Engine/Plugins/OpenDRIVE/Source/OpenDRIVE/Public/TrafficLightController.h(16) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
1>C:/Users/rdyro/Desktop/UE4/Engine/Plugins/OpenDRIVE/Source/OpenDRIVE/Public/TrafficLightController.h(21) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
1>C:/Users/rdyro/Desktop/UE4/Engine/Plugins/OpenDRIVE/Source/OpenDRIVE/Public/TrafficLightController.h(26) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
1>C:/Users/rdyro/Desktop/UE4/Engine/Plugins/OpenDRIVE/Source/OpenDRIVE/Public/TrafficLightController.h(31) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
1>C:/Users/rdyro/Desktop/UE4/Engine/Plugins/OpenDRIVE/Source/OpenDRIVE/Public/TrafficLightController.h(36) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
1>C:/Users/rdyro/Desktop/UE4/Engine/Plugins/OpenDRIVE/Source/OpenDRIVE/Public/TrafficLightController.h(41) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
1>C:/Users/rdyro/Desktop/UE4/Engine/Plugins/OpenDRIVE/Source/OpenDRIVEEditor/Public/OpenDrive2Landscape.h(25) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.MakeFile.Targets(45,5): error MSB3073: The command "..\..\Build\BatchFiles\Build.bat -Target="UE4Editor Win64 Development" -Target="ShaderCompileWorker Win64 Development -Quiet" -WaitMutex -FromMsBuild" exited with code 6.
1>Done building project "UE4.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 2 up-to-date, 0 skipped ==========

The explicit Category specifiers errors were actually the same ones when building UnrealEngine (non-CARLA version) under Ubuntu 20.04.

Have you encountered these errors before?

brifsttar commented 1 year ago

Have you encountered these errors before?

No, but something tells me that it's related to the fact that you installed the plugin into the engine directory instead of the project directory. It's not something I ever tested, so that could be it. Maybe try to move the plugin to the project directory and see if that helps.

In any case, I'll try to fix those explicit Category specifier is required errors tomorrow (they're quite easy), or at the very least by the end of the week. I'm not sure why they cause an error for some users and not others, but the errors just enforce a good practice that I should be implementing anyway. So that fix should at least solve one problem. I'll ping you once it's pushed.

rdyro commented 1 year ago

I just built UnrealEngine 4.27.2 on Windows 10 with VisualStudio 2019 and I'm getting the same error as on linux:

The following modules are missing or build with a different engine version:

OpenDRIVE
OpenDRIVELoader
OpenDRIVEEditor

Would you like to rebuild them now?
Yes/No

After pressing Yes, I get:

Engine modules are out of date, and cannot be compiled while the engine is running. Please build through your IDE.

I followed the following steps:

  1. created a project
  2. closed UE4Editor
  3. copied the fully initialized OpenDRIVE repo into a new folder under the project root Plugins, so that the structure was Plugins\OpenDRIVE
  4. launched UE4Editor and opened the project

Have you encountered this before?

brifsttar commented 1 year ago

Have you encountered this before?

No, but the last message is fairly explicit: the plugin needs to be rebuilt from the IDE. If you don't have a solution file (.sln) for your project, you can generate one by right clicking the .uproject and selecting Generate Visual Studio project files. This probably requires a C++ project though.