Установка / компиляция-связывание monetdblite-0.2.0 Python на Windows7 x64
Я пытаюсь использовать monetdblite для Python (последняя версия: 0.2.0) на Windows7 x64.
Я использую 64-разрядную версию Windows7, используя Python 2.7.12 (см. Вывод sys.version):
2.7.12 (v2.7.12: d33e0cf91556, 27 июня 2016 г., 15:24:40) [MSC v.1500 64 бит (AMD64)]
Моя установленная версия пакета Python numpy: 1.11.2
Первоначально я скачал пакет Python monetdblite, используя предложенное:
pip install monetdblite
При попытке импортировать пакет в Python я получил следующую ошибку:
Исключение: не удалось найти файл библиотеки "libmonetdb5. [Dll | so | dylib] в папке C: \ Python27 \ lib \ site-packages \ monetdblite
При проверке этой папки я заметил libmonetdb5.so, который предполагает, что установка pip обеспечила установку Linux.(?)
В результате этой проблемы я прибег к загрузке и компиляции исходного кода для monetdblite python 0.2.0. Я использую стек кросс-компиляции mingw64 с опцией CC=gcc и флагами компиляции AMD64 CFLAGS+=-D.
Для компиляции я пытаюсь использовать Makefile, поставляемый с исходной загрузкой monetdblite, с соответствующими изменениями для среды windows7 x64. Мне удалось успешно перекомпилировать различные объектные файлы *.o в папках отладки исходного дистрибутива.
Тем не менее, у меня возникли некоторые проблемы со связыванием определенных необходимых библиотек Windows с внешними ссылками C (Python или numy of monetdb библиотеки?). Я подозреваю, что проблема связана с необходимостью надлежащим образом назначить переменную MONETDBLITE_PYTHON_LINK_FLAGS в Makefile, однако я не совсем уверен, какие конкретные библиотеки необходимы для компоновки.
Спасибо за любое направление / предложения. Ошибки ссылки (частично усеченные):
c: / Python27 / Lib / site-packages / numpy / core / include / numpy / __ multiarray_api.h: 1451: неопределенная ссылка на __imp_PyImport_ImportModule'
c:/Python27/Lib/site-packages/numpy/core/include/numpy/__multiarray_api.h:1455: undefined reference to
__imp_PyExc_ImportError'
c:/Python27/Lib/site-packages/numpy/core/include/numpy/__multiarray_api.h:1455: неопределенная ссылка на __imp_PyErr_SetString'
c:/Python27/Lib/site-packages/numpy/core/include/numpy/__multiarray_api.h:1458: undefined reference to
__imp_PyObject_GetAttrString'
c:/Python27/Lib/site-packages/numpy/core/include/numpy/__multiarray_api.h:1461: неопределенная ссылка на __imp_PyExc_AttributeError'
c:/Python27/Lib/site-packages/numpy/core/include/numpy/__multiarray_api.h:1461: undefined reference to
__imp_PyErr_SetString'
c:/Python27/Lib/site-packages/numpy/core/include/numpy/__multiarray_api.h:1473: неопределенная ссылка на __imp_PyCObject_Type'
c:/Python27/Lib/site-packages/numpy/core/include/numpy/__multiarray_api.h:1474: undefined reference to
__imp_PyExc_RuntimeError'
c:/Python27/Lib/site-packages/numpy/core/include/numpy/__multiarray_api.h:1474: неопределенная ссылка на __imp_PyErr_SetString'
c:/Python27/Lib/site-packages/numpy/core/include/numpy/__multiarray_api.h:1478: undefined reference to
__imp_PyCObject_AsVoidPtr'
c:/Python27/Lib/site-packages/numpy/core/include/numpy/__multiarray_api.h:1482: неопределенная ссылка на __imp_PyExc_RuntimeError'
c:/Python27/Lib/site-packages/numpy/core/include/numpy/__multiarray_api.h:1482: undefined reference to
__imp_PyErr_SetString'
c:/Python27/Lib/site-packages/numpy/core/include/numpy/__multiarray_api.h:1488: неопределенная ссылка на __imp_PyExc_RuntimeError'
c:/Python27/Lib/site-packages/numpy/core/include/numpy/__multiarray_api.h:1488: undefined reference to
__imp_PyErr_Format'
c:/Python27/Lib/site-packages/numpy/core/include/numpy/__multiarray_api.h:1494: неопределенная ссылка на __imp_PyExc_RuntimeError'
c:/Python27/Lib/site-packages/numpy/core/include/numpy/__multiarray_api.h:1494: undefined reference to
__imp_PyErr_Format'
c:/Python27/Lib/site-packages/numpy/core/include/numpy/__multiarray_api.h:1506: неопределенная ссылка на __imp_PyExc_RuntimeError'
c:/Python27/Lib/site-packages/numpy/core/include/numpy/__multiarray_api.h:1506: undefined reference to
__imp_PyErr_Format'
c:/Python27/Lib/site-packages/numpy/core/include/numpy/__multiarray_api.h:1517: неопределенная ссылка на __imp_PyExc_RuntimeError'
c:/Python27/Lib/site-packages/numpy/core/include/numpy/__multiarray_api.h:1517: undefined reference to
__imp_PyErr_Format'
build/debug/embeddedpy/ translation.o: в функции PyArrayObject_FromScalar':
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/conversion.c:40: undefined reference to
__imp_PyInt_FromLong'
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/converter.c:43: неопределенная ссылка на __imp_PyInt_FromLong'
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/conversion.c:46: undefined reference to
__imp_PyInt_FromLong 'Q: \ scifinsys \ monetdb \ monetdblite-0.2.0 \ src / embeddedpy / translation.c:49: неопределенная ссылка на __imp_PyInt_FromLong'
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/conversion.c:52: undefined reference to
__imp_PyLong_FromLongLong'
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/ translation.c:55: неопределенная ссылка на __imp_PyFloat_FromDouble'
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/conversion.c:58: undefined reference to
__imp_PyFloat_FromDouble'
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/converter.c:66: неопределенная ссылка на __imp_PyUnicodeUCS2_FromString'
build/debug/embeddedpy/conversion.o: In function
PyMaskedArray_FromBAT':
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/converter.c:102: неопределенная ссылка на __imp_PyString_FromString'
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/conversion.c:102: undefined reference to
__imp_PyImport_Import'
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/converter.c:102: неопределенная ссылка на __imp_PyObject_GetAttrString'
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/conversion.c:106: undefined reference to
__imp__Py_NoneStruct'
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/ translation.c:107: неопределенная ссылка на __imp_PyTuple_New'
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/conversion.c:108: undefined reference to
__imp_PyTuple_SetItem'
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/converter.c:110: неопределенная ссылка на __imp_PyTuple_New'
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/conversion.c:111: undefined reference to
__imp_PyTuple_SetItem'
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/converter.c:112: неопределенная ссылка на __imp_PyTuple_SetItem'
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/conversion.c:116: undefined reference to
__imp_PyObject_CallObject'
build/debug/embeddedpy/converter.o: в функции PyArrayObject_FromBAT':
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/conversion.c:178: undefined reference to
__imp__Py_NoneStruct'
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/ translation.c:179: неопределенная ссылка на __imp__Py_NoneStruct'
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/conversion.c:179: undefined reference to
__imp__Py_NoneStruct'
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/converter.c:181: неопределенная ссылка на __imp_PyByteArray_FromStringAndSize'
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/conversion.c:249: undefined reference to
__imp_PyUnicodeUCS2_FromString'
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/converter.c:252: неопределенная ссылка на __imp_PyUnicodeUCS2_FromString'
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/conversion.c:270: undefined reference to
__imp_PyUnicodeUCS2_FromString 'Q: \ scifinsys \ monetdb \ monetdblite-0.2.0 \ src / embeddedpy / translation.c:273: неопределенная ссылка на __imp_PyUnicodeUCS2_FromString'
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/conversion.c:295: undefined reference to
__imp_PyString_FromString'
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/ translation.c:306: неопределенная ссылка на __imp_PyString_FromString'
build/debug/embeddedpy/conversion.o: In function
PyNullMask_FromBAT':
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/ translation.c:411: неопределенная ссылка на __imp__Py_NoneStruct'
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/conversion.c:411: undefined reference to
__imp__Py_NoneStruct'
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/converter.c: 411: неопределенная ссылка на __imp__Py_NoneStruct'
build/debug/embeddedpy/conversion.o: In function
PyDict_CheckForConversion':
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/ translation.c:421: неопределенная ссылка на __imp_PyList_New'
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/conversion.c:421: undefined reference to
__imp_PyDict_Keys'
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/ translation.c:425: неопределенная ссылка на __imp_PyDict_GetItemString'
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/conversion.c:437: undefined reference to
__imp_PyList_Type'
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/converter.c:438: неопределенная ссылка на __imp_PyList_GetItem'
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/conversion.c:439: undefined reference to
__imp_PyList_SetItem'
build/debug/embeddedpy/ translation.o: в функции PyObject_CheckForConversion':
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/conversion.c:465: undefined reference to
__imp_PyType_IsPyScalar'
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/ translation.c:468: неопределенная ссылка на __imp_PyList_New'
Q:\scifinsys\monetdb\monetdblite-0.2.0\src/embeddedpy/conversion.c:469: undefined reference to
__imp_PyList_SetItem"