Skip to content
This repository has been archived by the owner on Aug 10, 2022. It is now read-only.

could not determine kind of name for C.PyDict_ClearFreeList #38

Open
jaunruh opened this issue Jan 12, 2021 · 16 comments
Open

could not determine kind of name for C.PyDict_ClearFreeList #38

jaunruh opened this issue Jan 12, 2021 · 16 comments

Comments

@jaunruh
Copy link

jaunruh commented Jan 12, 2021

Describe what happened:
When using go get github.com/DataDog/go-python3 I get the response:

# github.com/DataDog/go-python3
../../go/pkg/mod/github.com/!data!dog/[email protected]/dict.go:141:13: could not determine kind of name for C.PyDict_ClearFreeList

But the package seems to work fine nevertheless.

Describe what you expected:
Probably no such error message?

Steps to reproduce the issue:
Simply using go get ...

Note: I use a M1 MacBook

@christian-korneck
Copy link
Contributor

@jaunruh are you maybe using Python 3.9? (The C.PyDict_ClearFreeList function has been removed from the Python C API with Python 3.9). As the README states, go-python3 is currently only compatible with Python 3.7.

It should be possible to install Python 3.7 on macOS (installer from python.org) in parallel to other Python versions. The pkg-config file can be found in /Library/Frameworks/Python.framework/Versions/3.7/lib/pkgconfig.

@hyp530
Copy link

hyp530 commented Jan 20, 2021

@jaunruh are you maybe using Python 3.9? (The C.PyDict_ClearFreeList function has been removed from the Python C API with Python 3.9). As the README states, go-python3 is currently only compatible with Python 3.7.

It should be possible to install Python 3.7 on macOS (installer from python.org) in parallel to other Python versions. The pkg-config file can be found in /Library/Frameworks/Python.framework/Versions/3.7/lib/pkgconfig.

Any quick fix for this if using Python3.9? Thanks.

@christian-korneck
Copy link
Contributor

@hyp530 Any quick fix for this if using Python3.9? Thanks.

As a dirty quick fix I think you can just uncomment the functions that have been removed since Python 3.7. I've done this for Python 3.8 here for my own use. Some more have to be removed for Python 3.9 (as per the py 3.9 release notes).

I think this calls for a PR, the maintainer has signaled here that it would get accepted. (However, I don't think it would a good idea to introduce breaking changes for Py 3.7 users. I guess there would need to be a switch for different Py versions, which I haven't looked into yet as I didn't need it).

@jaunruh
Copy link
Author

jaunruh commented Jan 21, 2021

@jaunruh are you maybe using Python 3.9? (The C.PyDict_ClearFreeList function has been removed from the Python C API with Python 3.9). As the README states, go-python3 is currently only compatible with Python 3.7.

It should be possible to install Python 3.7 on macOS (installer from python.org) in parallel to other Python versions. The pkg-config file can be found in /Library/Frameworks/Python.framework/Versions/3.7/lib/pkgconfig.

No I am aware that go-python3 is only compatible with 3.7. I am using miniconda with a python3.7 environment.
I am softlinking python3.pc into the repo and setting PKG_CONFIG_PATH and LD_LIBRARY_PATH.

Maybe go uses 3.9 for installation purposes? Because I still get the entire setup to work flawlessly. Just the installation process gives the error above.

@christian-korneck
Copy link
Contributor

christian-korneck commented Jan 21, 2021

It sounds a bit like you might have a dirty cache.

When I try on MacOS with go 1.15.6 (and clean go caches) and install with pointing to Python 3.9 I get the same error as you:

$ export PKG_CONFIG_PATH=/Library/Frameworks/Python.framework/Versions/3.9/lib/pkgconfig
$ go get github.com/datadog/go-python3
# github.com/datadog/go-python3
go/src/github.com/datadog/go-python3/dict.go:141:13: could not determine kind of name for C.PyDict_ClearFreeList

To fix this, I need to clean the caches:

The main one is:

rm "$(go env GOPATH)/pkg/darwin_amd64/github.com/datadog/go-python3.a"

but it also doesn't hurt to

go clean github.com/datadog/go-python3
go clean -cache

And reinstall with pointing to the correct Python version (3.7), works now without error message:

export PKG_CONFIG_PATH=/Library/Frameworks/Python.framework/Versions/3.7/lib/pkgconfig
go get github.com/datadog/go-python3

Hope this helps?

@vortex14
Copy link

vortex14 commented Aug 7, 2021

Yes, this instruction worked!

@kermit-sad-frog
Copy link

i have this issue:

github.com/datadog/go-python3
ld: warning: ignoring file /Library/Frameworks/Python.framework/Versions/3.7/lib/libpython3.7m.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64
Undefined symbols for architecture arm64:
  "_PyBool_FromLong", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyBool_FromLong in _x002.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyBool_FromLong)
  "_PyBool_Type", referenced from:
      __cgohack_PyBool_Type in _cgo_main.o
      __go_PyBool_Check in _x027.o
     (maybe you meant: __cgohack_PyBool_Type)
  "_PyByteArray_AsString", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyByteArray_AsString in _x003.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyByteArray_AsString)
  "_PyByteArray_Concat", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyByteArray_Concat in _x003.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyByteArray_Concat)
  "_PyByteArray_FromObject", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyByteArray_FromObject in _x003.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyByteArray_FromObject)
  "_PyByteArray_FromStringAndSize", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyByteArray_FromStringAndSize in _x003.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyByteArray_FromStringAndSize)
  "_PyByteArray_Resize", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyByteArray_Resize in _x003.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyByteArray_Resize)
  "_PyByteArray_Size", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyByteArray_Size in _x003.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyByteArray_Size)
  "_PyByteArray_Type", referenced from:
      __cgohack_PyByteArray_Type in _cgo_main.o
      __go_PyByteArray_Check in _x027.o
      __go_PyByteArray_CheckExact in _x027.o
     (maybe you meant: __cgohack_PyByteArray_Type)
  "_PyBytes_AsString", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyBytes_AsString in _x004.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyBytes_AsString)
  "_PyBytes_Concat", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyBytes_Concat in _x004.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyBytes_Concat, __cgo_64116bc5ea7c_Cfunc_PyBytes_ConcatAndDel )
  "_PyBytes_ConcatAndDel", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyBytes_ConcatAndDel in _x004.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyBytes_ConcatAndDel)
  "_PyBytes_FromObject", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyBytes_FromObject in _x004.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyBytes_FromObject)
  "_PyBytes_FromString", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyBytes_FromString in _x004.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyBytes_FromString)
  "_PyBytes_Size", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyBytes_Size in _x004.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyBytes_Size)
  "_PyBytes_Type", referenced from:
      __cgohack_PyBytes_Type in _cgo_main.o
      __go_PyBytes_CheckExact in _x027.o
     (maybe you meant: __cgohack_PyBytes_Type)
  "_PyCallable_Check", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyCallable_Check in _x018.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyCallable_Check)
  "_PyComplex_FromDoubles", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyComplex_FromDoubles in _x005.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyComplex_FromDoubles)
  "_PyComplex_ImagAsDouble", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyComplex_ImagAsDouble in _x005.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyComplex_ImagAsDouble)
  "_PyComplex_RealAsDouble", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyComplex_RealAsDouble in _x005.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyComplex_RealAsDouble)
  "_PyComplex_Type", referenced from:
      __cgohack_PyComplex_Type in _cgo_main.o
      __go_PyComplex_Check in _x027.o
      __go_PyComplex_CheckExact in _x027.o
     (maybe you meant: __cgohack_PyComplex_Type)
  "_PyDictProxy_New", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyDictProxy_New in _x006.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyDictProxy_New)
  "_PyDict_Clear", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyDict_Clear in _x006.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyDict_ClearFreeList, __cgo_64116bc5ea7c_Cfunc_PyDict_Clear )
  "_PyDict_ClearFreeList", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyDict_ClearFreeList in _x006.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyDict_ClearFreeList)
  "_PyDict_Contains", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyDict_Contains in _x006.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyDict_Contains)
  "_PyDict_Copy", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyDict_Copy in _x006.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyDict_Copy)
  "_PyDict_DelItem", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyDict_DelItem in _x006.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyDict_DelItemString, __cgo_64116bc5ea7c_Cfunc_PyDict_DelItem )
  "_PyDict_DelItemString", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyDict_DelItemString in _x006.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyDict_DelItemString)
  "_PyDict_GetItem", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyDict_GetItem in _x006.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyDict_GetItemWithError, __cgo_64116bc5ea7c_Cfunc_PyDict_GetItemString , __cgo_64116bc5ea7c_Cfunc_PyDict_GetItem )
  "_PyDict_GetItemString", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyDict_GetItemString in _x006.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyDict_GetItemString)
  "_PyDict_GetItemWithError", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyDict_GetItemWithError in _x006.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyDict_GetItemWithError)
  "_PyDict_Items", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyDict_Items in _x006.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyDict_Items)
  "_PyDict_Keys", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyDict_Keys in _x006.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyDict_Keys)
  "_PyDict_New", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyDict_New in _x006.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyDict_New)
  "_PyDict_Next", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyDict_Next in _x006.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyDict_Next)
  "_PyDict_SetDefault", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyDict_SetDefault in _x006.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyDict_SetDefault)
  "_PyDict_SetItem", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyDict_SetItem in _x006.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyDict_SetItem, __cgo_64116bc5ea7c_Cfunc_PyDict_SetItemString )
  "_PyDict_SetItemString", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyDict_SetItemString in _x006.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyDict_SetItemString)
  "_PyDict_Size", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyDict_Size in _x006.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyDict_Size)
  "_PyDict_Type", referenced from:
      __cgohack_PyDict_Type in _cgo_main.o
      __go_PyDict_CheckExact in _x027.o
     (maybe you meant: __cgohack_PyDict_Type)
  "_PyDict_Values", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyDict_Values in _x006.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyDict_Values)
  "_PyErr_BadArgument", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyErr_BadArgument in _x007.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyErr_BadArgument)
  "_PyErr_CheckSignals", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyErr_CheckSignals in _x007.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyErr_CheckSignals)
  "_PyErr_Clear", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyErr_Clear in _x007.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyErr_Clear)
  "_PyErr_ExceptionMatches", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyErr_ExceptionMatches in _x007.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyErr_ExceptionMatches)
  "_PyErr_Fetch", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyErr_Fetch in _x007.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyErr_Fetch)
  "_PyErr_GetExcInfo", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyErr_GetExcInfo in _x007.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyErr_GetExcInfo)
  "_PyErr_GivenExceptionMatches", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyErr_GivenExceptionMatches in _x007.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyErr_GivenExceptionMatches)
  "_PyErr_NewException", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyErr_NewException in _x009.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyErr_NewExceptionWithDoc, __cgo_64116bc5ea7c_Cfunc_PyErr_NewException )
  "_PyErr_NewExceptionWithDoc", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyErr_NewExceptionWithDoc in _x009.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyErr_NewExceptionWithDoc)
  "_PyErr_NoMemory", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyErr_NoMemory in _x007.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyErr_NoMemory)
  "_PyErr_NormalizeException", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyErr_NormalizeException in _x007.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyErr_NormalizeException)
  "_PyErr_Occurred", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyErr_Occurred in _x007.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyErr_Occurred)
  "_PyErr_PrintEx", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyErr_PrintEx in _x007.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyErr_PrintEx)
  "_PyErr_Restore", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyErr_Restore in _x007.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyErr_Restore)
  "_PyErr_SetExcInfo", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyErr_SetExcInfo in _x007.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyErr_SetExcInfo)
  "_PyErr_SetImportError", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyErr_SetImportError in _x007.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyErr_SetImportErrorSubclass, __cgo_64116bc5ea7c_Cfunc_PyErr_SetImportError )
  "_PyErr_SetImportErrorSubclass", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyErr_SetImportErrorSubclass in _x007.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyErr_SetImportErrorSubclass)
  "_PyErr_SetInterrupt", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyErr_SetInterrupt in _x007.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyErr_SetInterrupt)
  "_PyErr_SetNone", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyErr_SetNone in _x007.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyErr_SetNone)
  "_PyErr_SetObject", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyErr_SetObject in _x007.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyErr_SetObject)
  "_PyErr_SetString", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyErr_SetString in _x007.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyErr_SetString)
  "_PyErr_SyntaxLocation", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyErr_SyntaxLocation in _x007.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyErr_SyntaxLocationObject, __cgo_64116bc5ea7c_Cfunc_PyErr_SyntaxLocation , __cgo_64116bc5ea7c_Cfunc_PyErr_SyntaxLocationEx )
  "_PyErr_SyntaxLocationEx", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyErr_SyntaxLocationEx in _x007.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyErr_SyntaxLocationEx)
  "_PyErr_SyntaxLocationObject", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyErr_SyntaxLocationObject in _x007.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyErr_SyntaxLocationObject)
  "_PyErr_WarnEx", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyErr_WarnEx in _x026.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyErr_WarnExplicitObject, __cgo_64116bc5ea7c_Cfunc_PyErr_WarnEx , __cgo_64116bc5ea7c_Cfunc_PyErr_WarnExplicit )
  "_PyErr_WarnExplicit", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyErr_WarnExplicit in _x026.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyErr_WarnExplicitObject, __cgo_64116bc5ea7c_Cfunc_PyErr_WarnExplicit )
  "_PyErr_WarnExplicitObject", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyErr_WarnExplicitObject in _x026.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyErr_WarnExplicitObject)
  "_PyErr_WriteUnraisable", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyErr_WriteUnraisable in _x007.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyErr_WriteUnraisable)
  "_PyEval_GetBuiltins", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyEval_GetBuiltins in _x020.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyEval_GetBuiltins)
  "_PyEval_GetFuncDesc", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyEval_GetFuncDesc in _x020.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyEval_GetFuncDesc)
  "_PyEval_GetFuncName", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyEval_GetFuncName in _x020.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyEval_GetFuncName)
  "_PyEval_GetGlobals", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyEval_GetGlobals in _x020.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyEval_GetGlobals)
  "_PyEval_GetLocals", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyEval_GetLocals in _x020.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyEval_GetLocals)
  "_PyEval_InitThreads", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyEval_InitThreads in _x022.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyEval_InitThreads)
  "_PyEval_ReInitThreads", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyEval_ReInitThreads in _x022.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyEval_ReInitThreads)
  "_PyEval_RestoreThread", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyEval_RestoreThread in _x022.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyEval_RestoreThread)
  "_PyEval_SaveThread", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyEval_SaveThread in _x022.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyEval_SaveThread)
  "_PyEval_ThreadsInitialized", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyEval_ThreadsInitialized in _x022.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyEval_ThreadsInitialized)
  "_PyExc_ArithmeticError", referenced from:
      __cgohack_PyExc_ArithmeticError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_ArithmeticError)
  "_PyExc_AssertionError", referenced from:
      __cgohack_PyExc_AssertionError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_AssertionError)
  "_PyExc_AttributeError", referenced from:
      __cgohack_PyExc_AttributeError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_AttributeError)
  "_PyExc_BaseException", referenced from:
      __cgohack_PyExc_BaseException in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_BaseException)
  "_PyExc_BlockingIOError", referenced from:
      __cgohack_PyExc_BlockingIOError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_BlockingIOError)
  "_PyExc_BrokenPipeError", referenced from:
      __cgohack_PyExc_BrokenPipeError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_BrokenPipeError)
  "_PyExc_BufferError", referenced from:
      __cgohack_PyExc_BufferError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_BufferError)
  "_PyExc_BytesWarning", referenced from:
      __cgohack_PyExc_BytesWarning in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_BytesWarning)
  "_PyExc_ChildProcessError", referenced from:
      __cgohack_PyExc_ChildProcessError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_ChildProcessError)
  "_PyExc_ConnectionAbortedError", referenced from:
      __cgohack_PyExc_ConnectionAbortedError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_ConnectionAbortedError)
  "_PyExc_ConnectionError", referenced from:
      __cgohack_PyExc_ConnectionError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_ConnectionError)
  "_PyExc_ConnectionRefusedError", referenced from:
      __cgohack_PyExc_ConnectionRefusedError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_ConnectionRefusedError)
  "_PyExc_ConnectionResetError", referenced from:
      __cgohack_PyExc_ConnectionResetError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_ConnectionResetError)
  "_PyExc_DeprecationWarning", referenced from:
      __cgohack_PyExc_DeprecationWarning in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_DeprecationWarning)
  "_PyExc_EOFError", referenced from:
      __cgohack_PyExc_EOFError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_EOFError)
  "_PyExc_Exception", referenced from:
      __cgohack_PyExc_Exception in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_Exception)
  "_PyExc_FileExistsError", referenced from:
      __cgohack_PyExc_FileExistsError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_FileExistsError)
  "_PyExc_FileNotFoundError", referenced from:
      __cgohack_PyExc_FileNotFoundError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_FileNotFoundError)
  "_PyExc_FloatingPointError", referenced from:
      __cgohack_PyExc_FloatingPointError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_FloatingPointError)
  "_PyExc_FutureWarning", referenced from:
      __cgohack_PyExc_FutureWarning in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_FutureWarning)
  "_PyExc_GeneratorExit", referenced from:
      __cgohack_PyExc_GeneratorExit in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_GeneratorExit)
  "_PyExc_ImportError", referenced from:
      __cgohack_PyExc_ImportError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_ImportError)
  "_PyExc_ImportWarning", referenced from:
      __cgohack_PyExc_ImportWarning in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_ImportWarning)
  "_PyExc_IndentationError", referenced from:
      __cgohack_PyExc_IndentationError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_IndentationError)
  "_PyExc_IndexError", referenced from:
      __cgohack_PyExc_IndexError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_IndexError)
  "_PyExc_InterruptedError", referenced from:
      __cgohack_PyExc_InterruptedError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_InterruptedError)
  "_PyExc_IsADirectoryError", referenced from:
      __cgohack_PyExc_IsADirectoryError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_IsADirectoryError)
  "_PyExc_KeyError", referenced from:
      __cgohack_PyExc_KeyError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_KeyError)
  "_PyExc_KeyboardInterrupt", referenced from:
      __cgohack_PyExc_KeyboardInterrupt in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_KeyboardInterrupt)
  "_PyExc_LookupError", referenced from:
      __cgohack_PyExc_LookupError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_LookupError)
  "_PyExc_MemoryError", referenced from:
      __cgohack_PyExc_MemoryError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_MemoryError)
  "_PyExc_ModuleNotFoundError", referenced from:
      __cgohack_PyExc_ModuleNotFoundError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_ModuleNotFoundError)
  "_PyExc_NameError", referenced from:
      __cgohack_PyExc_NameError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_NameError)
  "_PyExc_NotADirectoryError", referenced from:
      __cgohack_PyExc_NotADirectoryError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_NotADirectoryError)
  "_PyExc_NotImplementedError", referenced from:
      __cgohack_PyExc_NotImplementedError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_NotImplementedError)
  "_PyExc_OSError", referenced from:
      __cgohack_PyExc_OSError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_OSError)
  "_PyExc_OverflowError", referenced from:
      __cgohack_PyExc_OverflowError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_OverflowError)
  "_PyExc_PendingDeprecationWarning", referenced from:
      __cgohack_PyExc_PendingDeprecationWarning in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_PendingDeprecationWarning)
  "_PyExc_PermissionError", referenced from:
      __cgohack_PyExc_PermissionError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_PermissionError)
  "_PyExc_ProcessLookupError", referenced from:
      __cgohack_PyExc_ProcessLookupError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_ProcessLookupError)
  "_PyExc_RecursionError", referenced from:
      __cgohack_PyExc_RecursionError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_RecursionError)
  "_PyExc_ReferenceError", referenced from:
      __cgohack_PyExc_ReferenceError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_ReferenceError)
  "_PyExc_ResourceWarning", referenced from:
      __cgohack_PyExc_ResourceWarning in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_ResourceWarning)
  "_PyExc_RuntimeError", referenced from:
      __cgohack_PyExc_RuntimeError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_RuntimeError)
  "_PyExc_RuntimeWarning", referenced from:
      __cgohack_PyExc_RuntimeWarning in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_RuntimeWarning)
  "_PyExc_StopAsyncIteration", referenced from:
      __cgohack_PyExc_StopAsyncIteration in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_StopAsyncIteration)
  "_PyExc_StopIteration", referenced from:
      __cgohack_PyExc_StopIteration in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_StopIteration)
  "_PyExc_SyntaxError", referenced from:
      __cgohack_PyExc_SyntaxError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_SyntaxError)
  "_PyExc_SyntaxWarning", referenced from:
      __cgohack_PyExc_SyntaxWarning in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_SyntaxWarning)
  "_PyExc_SystemError", referenced from:
      __cgohack_PyExc_SystemError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_SystemError)
  "_PyExc_SystemExit", referenced from:
      __cgohack_PyExc_SystemExit in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_SystemExit)
  "_PyExc_TabError", referenced from:
      __cgohack_PyExc_TabError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_TabError)
  "_PyExc_TimeoutError", referenced from:
      __cgohack_PyExc_TimeoutError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_TimeoutError)
  "_PyExc_TypeError", referenced from:
      __cgohack_PyExc_TypeError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_TypeError)
  "_PyExc_UnboundLocalError", referenced from:
      __cgohack_PyExc_UnboundLocalError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_UnboundLocalError)
  "_PyExc_UnicodeDecodeError", referenced from:
      __cgohack_PyExc_UnicodeDecodeError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_UnicodeDecodeError)
  "_PyExc_UnicodeEncodeError", referenced from:
      __cgohack_PyExc_UnicodeEncodeError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_UnicodeEncodeError)
  "_PyExc_UnicodeError", referenced from:
      __cgohack_PyExc_UnicodeError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_UnicodeError)
  "_PyExc_UnicodeTranslateError", referenced from:
      __cgohack_PyExc_UnicodeTranslateError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_UnicodeTranslateError)
  "_PyExc_UnicodeWarning", referenced from:
      __cgohack_PyExc_UnicodeWarning in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_UnicodeWarning)
  "_PyExc_UserWarning", referenced from:
      __cgohack_PyExc_UserWarning in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_UserWarning)
  "_PyExc_ValueError", referenced from:
      __cgohack_PyExc_ValueError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_ValueError)
  "_PyExc_Warning", referenced from:
      __cgohack_PyExc_Warning in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_Warning)
  "_PyExc_ZeroDivisionError", referenced from:
      __cgohack_PyExc_ZeroDivisionError in _cgo_main.o
     (maybe you meant: __cgohack_PyExc_ZeroDivisionError)
  "_PyException_GetCause", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyException_GetCause in _x009.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyException_GetCause)
  "_PyException_GetContext", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyException_GetContext in _x009.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyException_GetContext)
  "_PyException_GetTraceback", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyException_GetTraceback in _x009.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyException_GetTraceback)
  "_PyException_SetCause", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyException_SetCause in _x009.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyException_SetCause)
  "_PyException_SetContext", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyException_SetContext in _x009.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyException_SetContext)
  "_PyException_SetTraceback", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyException_SetTraceback in _x009.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyException_SetTraceback)
  "_PyFloat_AsDouble", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyFloat_AsDouble in _x010.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyFloat_AsDouble)
  "_PyFloat_ClearFreeList", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyFloat_ClearFreeList in _x010.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyFloat_ClearFreeList)
  "_PyFloat_FromDouble", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyFloat_FromDouble in _x010.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyFloat_FromDouble)
  "_PyFloat_FromString", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyFloat_FromString in _x010.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyFloat_FromString)
  "_PyFloat_GetInfo", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyFloat_GetInfo in _x010.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyFloat_GetInfo)
  "_PyFloat_GetMax", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyFloat_GetMax in _x010.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyFloat_GetMax)
  "_PyFloat_GetMin", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyFloat_GetMin in _x010.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyFloat_GetMin)
  "_PyFloat_Type", referenced from:
      __cgohack_PyFloat_Type in _cgo_main.o
      __go_PyFloat_Check in _x027.o
      __go_PyFloat_CheckExact in _x027.o
     (maybe you meant: __cgohack_PyFloat_Type)
  "_PyGILState_Check", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyGILState_Check in _x022.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyGILState_Check)
  "_PyGILState_Ensure", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyGILState_Ensure in _x022.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyGILState_Ensure)
  "_PyGILState_GetThisThreadState", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyGILState_GetThisThreadState in _x022.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyGILState_GetThisThreadState)
  "_PyGILState_Release", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyGILState_Release in _x022.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyGILState_Release)
  "_PyImport_AddModule", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyImport_AddModule in _x013.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyImport_AddModuleObject, __cgo_64116bc5ea7c_Cfunc_PyImport_AddModule )
  "_PyImport_AddModuleObject", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyImport_AddModuleObject in _x013.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyImport_AddModuleObject)
  "_PyImport_ExecCodeModule", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyImport_ExecCodeModule in _x013.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyImport_ExecCodeModuleWithPathnames, __cgo_64116bc5ea7c_Cfunc_PyImport_ExecCodeModule , __cgo_64116bc5ea7c_Cfunc_PyImport_ExecCodeModuleEx , __cgo_64116bc5ea7c_Cfunc_PyImport_ExecCodeModuleObject )
  "_PyImport_ExecCodeModuleEx", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyImport_ExecCodeModuleEx in _x013.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyImport_ExecCodeModuleEx)
  "_PyImport_ExecCodeModuleObject", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyImport_ExecCodeModuleObject in _x013.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyImport_ExecCodeModuleObject)
  "_PyImport_ExecCodeModuleWithPathnames", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyImport_ExecCodeModuleWithPathnames in _x013.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyImport_ExecCodeModuleWithPathnames)
  "_PyImport_GetImporter", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyImport_GetImporter in _x013.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyImport_GetImporter)
  "_PyImport_GetMagicNumber", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyImport_GetMagicNumber in _x013.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyImport_GetMagicNumber)
  "_PyImport_GetMagicTag", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyImport_GetMagicTag in _x013.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyImport_GetMagicTag)
  "_PyImport_GetModule", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyImport_GetModule in _x013.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyImport_GetModule, __cgo_64116bc5ea7c_Cfunc_PyImport_GetModuleDict )
  "_PyImport_GetModuleDict", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyImport_GetModuleDict in _x013.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyImport_GetModuleDict)
  "_PyImport_Import", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyImport_Import in _x013.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyImport_ImportModuleLevel, __cgo_64116bc5ea7c_Cfunc_PyImport_ImportFrozenModuleObject , __cgo_64116bc5ea7c_Cfunc_PyImport_Import , __cgo_64116bc5ea7c_Cfunc_PyImport_ImportFrozenModule , __cgo_64116bc5ea7c_Cfunc_PyImport_ImportModule , __cgo_64116bc5ea7c_Cfunc_PyImport_ImportModuleLevelObject )
  "_PyImport_ImportFrozenModule", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyImport_ImportFrozenModule in _x013.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyImport_ImportFrozenModuleObject, __cgo_64116bc5ea7c_Cfunc_PyImport_ImportFrozenModule )
  "_PyImport_ImportFrozenModuleObject", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyImport_ImportFrozenModuleObject in _x013.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyImport_ImportFrozenModuleObject)
  "_PyImport_ImportModule", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyImport_ImportModule in _x013.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyImport_ImportModuleLevel, __cgo_64116bc5ea7c_Cfunc_PyImport_ImportModule , __cgo_64116bc5ea7c_Cfunc_PyImport_ImportModuleLevelObject )
  "_PyImport_ImportModuleLevel", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyImport_ImportModuleLevel in _x013.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyImport_ImportModuleLevel, __cgo_64116bc5ea7c_Cfunc_PyImport_ImportModuleLevelObject )
  "_PyImport_ImportModuleLevelObject", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyImport_ImportModuleLevelObject in _x013.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyImport_ImportModuleLevelObject)
  "_PyImport_ReloadModule", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyImport_ReloadModule in _x013.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyImport_ReloadModule)
  "_PyList_Append", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyList_Append in _x016.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyList_Append)
  "_PyList_AsTuple", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyList_AsTuple in _x016.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyList_AsTuple)
  "_PyList_ClearFreeList", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyList_ClearFreeList in _x016.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyList_ClearFreeList)
  "_PyList_GetItem", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyList_GetItem in _x016.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyList_GetItem)
  "_PyList_GetSlice", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyList_GetSlice in _x016.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyList_GetSlice)
  "_PyList_Insert", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyList_Insert in _x016.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyList_Insert)
  "_PyList_New", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyList_New in _x016.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyList_New)
  "_PyList_Reverse", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyList_Reverse in _x016.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyList_Reverse)
  "_PyList_SetItem", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyList_SetItem in _x016.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyList_SetItem)
  "_PyList_SetSlice", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyList_SetSlice in _x016.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyList_SetSlice)
  "_PyList_Size", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyList_Size in _x016.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyList_Size)
  "_PyList_Sort", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyList_Sort in _x016.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyList_Sort)
  "_PyList_Type", referenced from:
      __cgohack_PyList_Type in _cgo_main.o
      __go_PyList_CheckExact in _x027.o
     (maybe you meant: __cgohack_PyList_Type)
  "_PyLong_AsDouble", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyLong_AsDouble in _x014.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyLong_AsDouble)
  "_PyLong_AsLong", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyLong_AsLong in _x014.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyLong_AsLongLongAndOverflow, __cgo_64116bc5ea7c_Cfunc_PyLong_AsLongLong , __cgo_64116bc5ea7c_Cfunc_PyLong_AsLongAndOverflow , __cgo_64116bc5ea7c_Cfunc_PyLong_AsLong )
  "_PyLong_AsLongAndOverflow", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyLong_AsLongAndOverflow in _x014.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyLong_AsLongAndOverflow)
  "_PyLong_AsLongLong", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyLong_AsLongLong in _x014.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyLong_AsLongLongAndOverflow, __cgo_64116bc5ea7c_Cfunc_PyLong_AsLongLong )
  "_PyLong_AsLongLongAndOverflow", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyLong_AsLongLongAndOverflow in _x014.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyLong_AsLongLongAndOverflow)
  "_PyLong_AsUnsignedLong", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyLong_AsUnsignedLong in _x014.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyLong_AsUnsignedLongMask, __cgo_64116bc5ea7c_Cfunc_PyLong_AsUnsignedLongLongMask , __cgo_64116bc5ea7c_Cfunc_PyLong_AsUnsignedLong , __cgo_64116bc5ea7c_Cfunc_PyLong_AsUnsignedLongLong )
  "_PyLong_AsUnsignedLongLong", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyLong_AsUnsignedLongLong in _x014.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyLong_AsUnsignedLongLongMask, __cgo_64116bc5ea7c_Cfunc_PyLong_AsUnsignedLongLong )
  "_PyLong_AsUnsignedLongLongMask", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyLong_AsUnsignedLongLongMask in _x014.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyLong_AsUnsignedLongLongMask)
  "_PyLong_AsUnsignedLongMask", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyLong_AsUnsignedLongMask in _x014.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyLong_AsUnsignedLongMask)
  "_PyLong_FromDouble", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyLong_FromDouble in _x014.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyLong_FromDouble)
  "_PyLong_FromLong", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyLong_FromLong in _x014.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyLong_FromLongLong, __cgo_64116bc5ea7c_Cfunc_PyLong_FromLong )
  "_PyLong_FromLongLong", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyLong_FromLongLong in _x014.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyLong_FromLongLong)
  "_PyLong_FromString", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyLong_FromString in _x014.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyLong_FromString)
  "_PyLong_FromUnicodeObject", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyLong_FromUnicodeObject in _x014.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyLong_FromUnicodeObject)
  "_PyLong_FromUnsignedLong", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyLong_FromUnsignedLong in _x014.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyLong_FromUnsignedLongLong, __cgo_64116bc5ea7c_Cfunc_PyLong_FromUnsignedLong )
  "_PyLong_FromUnsignedLongLong", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyLong_FromUnsignedLongLong in _x014.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyLong_FromUnsignedLongLong)
  "_PyLong_Type", referenced from:
      __cgohack_PyLong_Type in _cgo_main.o
      __go_PyLong_CheckExact in _x027.o
     (maybe you meant: __cgohack_PyLong_Type)
  "_PyMem_Free", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyMem_Free in _x015.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyMem_Free)
  "_PyMem_RawFree", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyMem_RawFree in _x012.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyMem_RawFree)
  "_PyModule_GetDict", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyModule_GetDict in _x017.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyModule_GetDict)
  "_PyModule_GetFilenameObject", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyModule_GetFilenameObject in _x017.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyModule_GetFilenameObject)
  "_PyModule_GetName", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyModule_GetName in _x017.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyModule_GetName, __cgo_64116bc5ea7c_Cfunc_PyModule_GetNameObject )
  "_PyModule_GetNameObject", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyModule_GetNameObject in _x017.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyModule_GetNameObject)
  "_PyModule_New", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyModule_New in _x017.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyModule_NewObject, __cgo_64116bc5ea7c_Cfunc_PyModule_New )
  "_PyModule_NewObject", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyModule_NewObject in _x017.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyModule_NewObject)
  "_PyModule_Type", referenced from:
      __cgohack_PyModule_Type in _cgo_main.o
      __go_PyModule_Check in _x027.o
      __go_PyModule_CheckExact in _x027.o
     (maybe you meant: __cgohack_PyModule_Type)
  "_PyObject_ASCII", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyObject_ASCII in _x018.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyObject_ASCII)
  "_PyObject_Bytes", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyObject_Bytes in _x018.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyObject_Bytes)
  "_PyObject_Call", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyObject_Call in _x018.o
     (maybe you meant: __go_PyObject_CallMethodObjArgs, __cgo_64116bc5ea7c_Cfunc__go_PyObject_CallFunctionObjArgs , __cgo_64116bc5ea7c_Cfunc_PyObject_CallObject , __cgo_64116bc5ea7c_Cfunc_PyObject_Call , __cgo_64116bc5ea7c_Cfunc__go_PyObject_CallMethodObjArgs , __go_PyObject_CallFunctionObjArgs )
  "_PyObject_CallFunctionObjArgs", referenced from:
      __go_PyObject_CallFunctionObjArgs in _x028.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc__go_PyObject_CallFunctionObjArgs, __go_PyObject_CallFunctionObjArgs )
  "_PyObject_CallMethodObjArgs", referenced from:
      __go_PyObject_CallMethodObjArgs in _x028.o
     (maybe you meant: __go_PyObject_CallMethodObjArgs, __cgo_64116bc5ea7c_Cfunc__go_PyObject_CallMethodObjArgs )
  "_PyObject_CallObject", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyObject_CallObject in _x018.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyObject_CallObject)
  "_PyObject_DelItem", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyObject_DelItem in _x018.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyObject_DelItem)
  "_PyObject_Dir", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyObject_Dir in _x018.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyObject_Dir)
  "_PyObject_GetAttr", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyObject_GetAttr in _x018.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyObject_GetAttr, __cgo_64116bc5ea7c_Cfunc_PyObject_GetAttrString )
  "_PyObject_GetAttrString", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyObject_GetAttrString in _x018.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyObject_GetAttrString)
  "_PyObject_GetItem", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyObject_GetItem in _x018.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyObject_GetItem)
  "_PyObject_GetIter", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyObject_GetIter in _x018.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyObject_GetIter)
  "_PyObject_HasAttr", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyObject_HasAttr in _x018.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyObject_HasAttrString, __cgo_64116bc5ea7c_Cfunc_PyObject_HasAttr )
  "_PyObject_HasAttrString", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyObject_HasAttrString in _x018.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyObject_HasAttrString)
  "_PyObject_Hash", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyObject_Hash in _x018.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyObject_Hash, __cgo_64116bc5ea7c_Cfunc_PyObject_HashNotImplemented )
  "_PyObject_HashNotImplemented", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyObject_HashNotImplemented in _x018.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyObject_HashNotImplemented)
  "_PyObject_IsInstance", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyObject_IsInstance in _x018.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyObject_IsInstance)
  "_PyObject_IsSubclass", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyObject_IsSubclass in _x018.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyObject_IsSubclass)
  "_PyObject_IsTrue", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyObject_IsTrue in _x018.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyObject_IsTrue)
  "_PyObject_LengthHint", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyObject_LengthHint in _x018.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyObject_LengthHint)
  "_PyObject_Not", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyObject_Not in _x018.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyObject_Not)
  "_PyObject_Repr", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyObject_Repr in _x018.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyObject_Repr)
  "_PyObject_RichCompare", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyObject_RichCompare in _x018.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyObject_RichCompare, __cgo_64116bc5ea7c_Cfunc_PyObject_RichCompareBool )
  "_PyObject_RichCompareBool", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyObject_RichCompareBool in _x018.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyObject_RichCompareBool)
  "_PyObject_SetAttr", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyObject_SetAttr in _x018.o
      __go_PyObject_DelAttr in _x027.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyObject_SetAttrString, __cgo_64116bc5ea7c_Cfunc_PyObject_SetAttr )
  "_PyObject_SetAttrString", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyObject_SetAttrString in _x018.o
      __go_PyObject_DelAttrString in _x027.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyObject_SetAttrString)
  "_PyObject_SetItem", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyObject_SetItem in _x018.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyObject_SetItem)
  "_PyObject_Size", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyObject_Length in _x018.o
  "_PyObject_Str", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyObject_Str in _x018.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyObject_Str)
  "_PyObject_Type", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyObject_Type in _x018.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyObject_Type, __go_PyObject_TypeCheck )
  "_PyRun_AnyFileExFlags", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyRun_AnyFileFlags in _x012.o
  "_PyRun_SimpleStringFlags", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyRun_SimpleStringFlags in _x012.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyRun_SimpleStringFlags)
  "_PySignal_SetWakeupFd", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PySignal_SetWakeupFd in _x008.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PySignal_SetWakeupFd)
  "_PySys_AddWarnOption", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PySys_AddWarnOption in _x021.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PySys_AddWarnOption)
  "_PySys_AddXOption", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PySys_AddXOption in _x021.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PySys_AddXOption)
  "_PySys_GetObject", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PySys_GetObject in _x021.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PySys_GetObject)
  "_PySys_GetXOptions", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PySys_GetXOptions in _x021.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PySys_GetXOptions)
  "_PySys_ResetWarnOptions", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PySys_ResetWarnOptions in _x021.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PySys_ResetWarnOptions)
  "_PySys_SetArgv", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PySys_SetArgv in _x015.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PySys_SetArgvEx, __cgo_64116bc5ea7c_Cfunc_PySys_SetArgv )
  "_PySys_SetArgvEx", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PySys_SetArgvEx in _x015.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PySys_SetArgvEx)
  "_PySys_SetObject", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PySys_SetObject in _x021.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PySys_SetObject)
  "_PySys_SetPath", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PySys_SetPath in _x021.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PySys_SetPath)
  "_PyThreadState_Get", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyThreadState_Get in _x022.o
      __go_Py_EnterRecursiveCall in _x027.o
      __go_Py_LeaveRecursiveCall in _x027.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyThreadState_Get)
  "_PyThreadState_Swap", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyThreadState_Swap in _x022.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyThreadState_Swap)
  "_PyTuple_GetItem", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyTuple_GetItem in _x023.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyTuple_GetItem)
  "_PyTuple_GetSlice", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyTuple_GetSlice in _x023.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyTuple_GetSlice)
  "_PyTuple_New", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyTuple_New in _x023.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyTuple_New)
  "_PyTuple_SetItem", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyTuple_SetItem in _x023.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyTuple_SetItem)
  "_PyTuple_Size", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyTuple_Size in _x023.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyTuple_Size)
  "_PyTuple_Type", referenced from:
      __cgohack_PyTuple_Type in _cgo_main.o
      __go_PyTuple_CheckExact in _x027.o
     (maybe you meant: __cgohack_PyTuple_Type)
  "_PyType_IsSubtype", referenced from:
      __go_PyFloat_Check in _x027.o
      __go_PyComplex_Check in _x027.o
      __go_PyByteArray_Check in _x027.o
      __go_PyModule_Check in _x027.o
      __go_PyObject_TypeCheck in _x027.o
  "_PyType_Type", referenced from:
      __cgohack_PyType_Type in _cgo_main.o
      __go_PyType_CheckExact in _x027.o
     (maybe you meant: __cgohack_PyType_Type)
  "_PyUnicode_AsUTF8", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyUnicode_AsUTF8 in _x025.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyUnicode_AsUTF8)
  "_PyUnicode_CopyCharacters", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyUnicode_CopyCharacters in _x025.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyUnicode_CopyCharacters)
  "_PyUnicode_Fill", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyUnicode_Fill in _x025.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyUnicode_Fill)
  "_PyUnicode_FromEncodedObject", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyUnicode_FromEncodedObject in _x025.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyUnicode_FromEncodedObject)
  "_PyUnicode_FromString", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyUnicode_FromString in _x025.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyUnicode_FromString)
  "_PyUnicode_GetLength", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyUnicode_GetLength in _x025.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyUnicode_GetLength)
  "_PyUnicode_New", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyUnicode_New in _x025.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyUnicode_New)
  "_PyUnicode_ReadChar", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyUnicode_ReadChar in _x025.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyUnicode_ReadChar)
  "_PyUnicode_Substring", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyUnicode_Substring in _x025.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyUnicode_Substring)
  "_PyUnicode_Type", referenced from:
      __cgohack_PyUnicode_Type in _cgo_main.o
      __go_PyUnicode_CheckExact in _x027.o
     (maybe you meant: __cgohack_PyUnicode_Type)
  "_PyUnicode_WriteChar", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyUnicode_WriteChar in _x025.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyUnicode_WriteChar)
  "_Py_DecRef", referenced from:
      __cgo_64116bc5ea7c_Cfunc_Py_DecRef in _x018.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_Py_DecRef)
  "_Py_DecodeLocale", referenced from:
      __cgo_64116bc5ea7c_Cfunc_Py_DecodeLocale in _x012.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_Py_DecodeLocale)
  "_Py_EncodeLocale", referenced from:
      __cgo_64116bc5ea7c_Cfunc_Py_EncodeLocale in _x015.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_Py_EncodeLocale)
  "_Py_Finalize", referenced from:
      __cgo_64116bc5ea7c_Cfunc_Py_Finalize in _x015.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_Py_FinalizeEx, __cgo_64116bc5ea7c_Cfunc_Py_Finalize )
  "_Py_FinalizeEx", referenced from:
      __cgo_64116bc5ea7c_Cfunc_Py_FinalizeEx in _x015.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_Py_FinalizeEx)
  "_Py_GetBuildInfo", referenced from:
      __cgo_64116bc5ea7c_Cfunc_Py_GetBuildInfo in _x015.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_Py_GetBuildInfo)
  "_Py_GetCompiler", referenced from:
      __cgo_64116bc5ea7c_Cfunc_Py_GetCompiler in _x015.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_Py_GetCompiler)
  "_Py_GetCopyright", referenced from:
      __cgo_64116bc5ea7c_Cfunc_Py_GetCopyright in _x015.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_Py_GetCopyright)
  "_Py_GetExecPrefix", referenced from:
      __cgo_64116bc5ea7c_Cfunc_Py_GetExecPrefix in _x015.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_Py_GetExecPrefix)
  "_Py_GetPath", referenced from:
      __cgo_64116bc5ea7c_Cfunc_Py_GetPath in _x015.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_Py_GetPath)
  "_Py_GetPlatform", referenced from:
      __cgo_64116bc5ea7c_Cfunc_Py_GetPlatform in _x015.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_Py_GetPlatform)
  "_Py_GetPrefix", referenced from:
      __cgo_64116bc5ea7c_Cfunc_Py_GetPrefix in _x015.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_Py_GetPrefix)
  "_Py_GetProgramFullPath", referenced from:
      __cgo_64116bc5ea7c_Cfunc_Py_GetProgramFullPath in _x015.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_Py_GetProgramFullPath)
  "_Py_GetProgramName", referenced from:
      __cgo_64116bc5ea7c_Cfunc_Py_GetProgramName in _x015.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_Py_GetProgramName)
  "_Py_GetPythonHome", referenced from:
      __cgo_64116bc5ea7c_Cfunc_Py_GetPythonHome in _x015.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_Py_GetPythonHome)
  "_Py_GetVersion", referenced from:
      __cgo_64116bc5ea7c_Cfunc_Py_GetVersion in _x015.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_Py_GetVersion)
  "_Py_IncRef", referenced from:
      __cgo_64116bc5ea7c_Cfunc_Py_IncRef in _x018.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_Py_IncRef)
  "_Py_Initialize", referenced from:
      __cgo_64116bc5ea7c_Cfunc_Py_Initialize in _x015.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_Py_InitializeEx, __cgo_64116bc5ea7c_Cfunc_Py_Initialize )
  "_Py_InitializeEx", referenced from:
      __cgo_64116bc5ea7c_Cfunc_Py_InitializeEx in _x015.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_Py_InitializeEx)
  "_Py_IsInitialized", referenced from:
      __cgo_64116bc5ea7c_Cfunc_Py_IsInitialized in _x015.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_Py_IsInitialized)
  "_Py_Main", referenced from:
      __cgo_64116bc5ea7c_Cfunc_Py_Main in _x012.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_Py_Main)
  "_Py_ReprEnter", referenced from:
      __cgo_64116bc5ea7c_Cfunc_Py_ReprEnter in _x018.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_Py_ReprEnter)
  "_Py_ReprLeave", referenced from:
      __cgo_64116bc5ea7c_Cfunc_Py_ReprLeave in _x018.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_Py_ReprLeave)
  "_Py_SetPath", referenced from:
      __cgo_64116bc5ea7c_Cfunc_Py_SetPath in _x015.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_Py_SetPath)
  "_Py_SetProgramName", referenced from:
      __cgo_64116bc5ea7c_Cfunc_Py_SetProgramName in _x015.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_Py_SetProgramName)
  "_Py_SetPythonHome", referenced from:
      __cgo_64116bc5ea7c_Cfunc_Py_SetPythonHome in _x015.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_Py_SetPythonHome)
  "_Py_SetStandardStreamEncoding", referenced from:
      __cgo_64116bc5ea7c_Cfunc_Py_SetStandardStreamEncoding in _x015.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_Py_SetStandardStreamEncoding)
  "__PyErr_BadInternalCall", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyErr_BadInternalCall in _x007.o
  "__Py_CheckRecursionLimit", referenced from:
      __go_Py_EnterRecursiveCall in _x027.o
      __go_Py_LeaveRecursiveCall in _x027.o
  "__Py_CheckRecursiveCall", referenced from:
      __go_Py_EnterRecursiveCall in _x027.o
  "__Py_FalseStruct", referenced from:
      __cgo_64116bc5ea7c_Cmacro_Py_False in _x002.o
  "__Py_NoneStruct", referenced from:
      __cgo_64116bc5ea7c_Cmacro_Py_None in _x018.o
  "__Py_TrueStruct", referenced from:
      __cgo_64116bc5ea7c_Cmacro_Py_True in _x002.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

@christian-korneck
Copy link
Contributor

@ozhuravel-prx could it be that you‘re on an M1 (arm64) Mac and try to go build an arm64 executable but your Python installation is actually amd64?

Does it work if you build with something like
GOOS=darwin GOARCH=amd64 go build?

@kermit-sad-frog
Copy link

kermit-sad-frog commented Sep 12, 2021

yes, i'm m1 user. I have tried to execute your command, and this is what i got:

➜  gopython GOOS=darwin GOARCH=amd64 go build   
package gopython: build constraints exclude all Go files in /Users/admin/Documents/develop/testproj/gopython
➜  gopython go get github.com/datadog/go-python3

# github.com/datadog/go-python3
ld: warning: ignoring file /Library/Frameworks/Python.framework/Versions/3.7/lib/libpython3.7m.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64
Undefined symbols for architecture arm64:
"_PyBool_FromLong", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyBool_FromLong in _x002.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyBool_FromLong)
     ....

@christian-korneck
Copy link
Contributor

The error reads like you’re still building for GOARCH=arm64. Can you double check that the env var is set correctly to match the architecture of your Python binaries?

@kermit-sad-frog
Copy link

Could you help me with this? How I can check and set env variables to match amd64 python binaries?

@christian-korneck
Copy link
Contributor

ah sorry, crosscompile with cgo might not work. Can you try to install/use the amd64 golang binaries? (instead of the arm64 ones)

@kermit-sad-frog
Copy link

this helped, thank you.

is there any way to run python 3.8 with go-python or only 3.7?

@christian-korneck
Copy link
Contributor

christian-korneck commented Sep 12, 2021

is there any way to run python 3.8 with go-python or only 3.7?

I had success running go-python3 with Python 3.8 on Win, Mac (only tried amd64), Linux after having removed the binding for the PyEval_ReInitThreads function, which has been removed from the Python C API starting with Python 3.8.

I have done this for my own use here. (This fork works with exactly Python 3.8. More changes like this would need to be done for Python 3.9 and newer).

@iron-js
Copy link

iron-js commented Oct 13, 2021

yes, i'm m1 user. I have tried to execute your command, and this is what i got:

➜  gopython GOOS=darwin GOARCH=amd64 go build   
package gopython: build constraints exclude all Go files in /Users/admin/Documents/develop/testproj/gopython
➜  gopython go get github.com/datadog/go-python3

# github.com/datadog/go-python3
ld: warning: ignoring file /Library/Frameworks/Python.framework/Versions/3.7/lib/libpython3.7m.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64
Undefined symbols for architecture arm64:
"_PyBool_FromLong", referenced from:
      __cgo_64116bc5ea7c_Cfunc_PyBool_FromLong in _x002.o
     (maybe you meant: __cgo_64116bc5ea7c_Cfunc_PyBool_FromLong)
     ....

I have the same problem. Have you solved it?

@christian-korneck
Copy link
Contributor

I have the same problem. Have you solved it?

I think a quick solution was to use the Golang darwin_amd64 binaries (instead of the darwin_arm64 ones).

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants