./configure --enable-shared
make -s -j2
if (!Linux)
{
PythonHome = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "python-3.11.3-embed-amd64");
PythonDLL = "python311.dll";
PythonPath = $"{PythonHome}/Lib";
path = PythonHome + ";" + Environment.GetEnvironmentVariable("PATH", EnvironmentVariableTarget.Process);
}
else
{
PythonHome = "/home/user/cli/Python-3.11.3";
PythonPath = $"{PythonHome}/Lib";
PythonDLL = $"libpython3.11.so";
path = PythonHome + ":" + Environment.GetEnvironmentVariable("PATH", EnvironmentVariableTarget.Process);
}
Environment.SetEnvironmentVariable("PATH", path, EnvironmentVariableTarget.Process);
Console.WriteLine("PATH = " + Environment.GetEnvironmentVariable("PATH", EnvironmentVariableTarget.Process));
Environment.SetEnvironmentVariable("PYTHONHOME", PythonHome, EnvironmentVariableTarget.Process);
Console.WriteLine("PYTHONHOME = " + Environment.GetEnvironmentVariable("PYTHONHOME", EnvironmentVariableTarget.Process));
Environment.SetEnvironmentVariable("PYTHONPATH", PythonPath, EnvironmentVariableTarget.Process);
Console.WriteLine("PYTHONPATH = " + Environment.GetEnvironmentVariable("PYTHONPATH", EnvironmentVariableTarget.Process));
Environment.SetEnvironmentVariable("PYTHONNET_PYDLL", PythonDLL, EnvironmentVariableTarget.Process);
Console.WriteLine("PYTHONNET_PYDLL = " + Environment.GetEnvironmentVariable("PYTHONNET_PYDLL", EnvironmentVariableTarget.Process));
if (Linux)
{
Runtime.PythonDLL = PythonDLL;
PythonEngine.PythonHome = PythonHome;
PythonEngine.PythonPath = PythonPath;
}
Console.WriteLine("Initializing.");
PythonEngine.Initialize();
Console.WriteLine("Allowing threads.");
PythonEngine.BeginAllowThreads();
Console.WriteLine("Initialized.");
No NET exception is thrown. It simply segfaults during initialization.
PATH = /home/user/cli/Python-3.11.3:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
PYTHONHOME = /home/user/cli/Python-3.11.3
PYTHONPATH = /home/user/cli/Python-3.11.3/Lib
PYTHONNET_PYDLL = libpython3.11.so
Initializing.
Segmentation fault (core dumped)
Environment
Details
--enable-sharedflag. To compile Python 3.11.3 I'm using the following commands:No NET exception is thrown. It simply segfaults during initialization.