Re-enabled linux tests physics (#5701)

* Re-enabled linux tests physics

* Fix for python load errors on Linux (#5627)

* Explicitly load libpython on Linux

Downstream loads of python modules that weren't linked to libpython would
fail to load because libraries were loaded using the RTLD_LOCAL flag.  This
adds a function that will explicitly load libpython on Linux using the
RTLD_GLOBAL flag.

Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>

* Fix misspelled function name

Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>

* Addressing PR feedback

- Updates naming and location of things.
- Adds load code to a Gem template.
- Updates error checking.

Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>

* Address further feedback

Removes the api function in favor of just having modules inherit off a
PythonLoader class, that way we get RAAI behavior and lifetime management
for free.

Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
Signed-off-by: aljanru <aljanru@amazon.co.uk>

Co-authored-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
This commit is contained in:
AMZN-AlexOteiza
2021-11-17 14:30:41 +00:00
committed by GitHub
parent f245c0a7c2
commit e07cb1f2ed
12 changed files with 95 additions and 2 deletions
@@ -9,12 +9,15 @@
#include <AzCore/Memory/SystemAllocator.h>
#include <AzCore/Module/Module.h>
#include <AzToolsFramework/API/PythonLoader.h>
#include <PythonAssetBuilderSystemComponent.h>
namespace PythonAssetBuilder
{
class PythonAssetBuilderModule
: public AZ::Module
, public AzToolsFramework::EmbeddedPython::PythonLoader
{
public:
AZ_RTTI(PythonAssetBuilderModule, "{35C9457E-54C2-474C-AEBE-5A70CC1D435D}", AZ::Module);