Repository navigation
Build on Linux and UE 4.20 #648
Description
Activity
U use UE 4 an python 3.6 and I have exactly the same problem.
'x86_64-linux-gnu/python3.6m/pyconfig.h' file not found # include <x86_64-linux-gnu/python3.6m/pyconfig.h>You may need to install the corresponding python3.x-dev package from apt-get.
sudo apt-get install python3-5-devorsudo apt-get install python3.5m-devshould install the missing headers for python3.5, same for 3.6 but with python3.6 and python3.6m. I don't remember whether you need the 'm' or not.I forgot to mention that the package in my case is installed and the file
pyconfig.hexist, i think that is a code generation like cmake bad config, but i can't link the file@mrpropellers install python 3.5-dev doesn't work.
Python3.5m-devpackage does not exist.To me it's the same @danRobot. I do have
pyconfig.hinstalled
I'm wondering might it be related toclangversion?If the headers exist but they aren't being found on compile then it's likely '/usr/include' isn't in your include path for some reason. You might be able to get away with just adding the line
PublicIncludePaths.Add("/usr/include");
to the UnrealEnginePython.Build.cs file in Plugins/UnrealEnginePython/Source/UnrealEnginePython inside theelse if (Target.Platform == UnrealTargetPlatform.Linux)conditional (around line ~250). This would be kind of a hack, but worth trying.Thanks for the advice, it works for including
pyconfig.h, but it produces a new error:/usr/include/locale.h:135:11: fatal error: 'bits/types/locale_t.h' file not foundI tried to fix it, i install the necessary packages, so got another error:
__locale_t.h:28:8: error: redefinition of '__locale_struct'and noticed that UE has their own libraries definitions. and got in conflict with the rest of files in /usr/include directory, there is a way to include only the file in question? just like
PublicIncludePaths.Add("/usr/include/x86_64-linux-gnu/python3.6m/pyconfig.h");(its doesn't work)A quick hack to unblock yourself:
Symbolic link (in my case/usr/include/x86_64-linux-gnu/python3.6m) into ModuleDirectory (Plugins/UnrealEnginePython/Source/UnrealEnginePython/Include/x86_64-linux-gnu). You will end up with something like this:$ ls -lR .: x86_64-linux-gnu ./x86_64-linux-gnu: python3.6m -> /usr/include/x86_64-linux-gnu/python3.6mThen add this path, so pyconfig.h can be found.
PublicIncludePaths.Add(Path.Combine(ModuleDirectory, "Include"));This should avoid adding
/usr/includewhich will conflict with several internal UE4 includes.Reacted by Bruno Xavier , Mathieu Bernard, friolero and Jaecheol, SimThanks, it works for me
@rozgo This worked for me
Closing the issue...
I'm trying to set up the plugin on
Ubuntu 16and onUE 4.20I'm getting this error below:
Someone knows what is causing this issue?