← Back to team overview

pyexiv2-developers team mailing list archive

Re: Many errors attempting to compile pyexiv2 in Cygwin

 

Hi Brandon,

I’ve never attempted to build pyexiv2 under Cygwin, so I can’t tell whether it’s supposed to work… That said, there are windows binaries available from https://launchpad.net/pyexiv2/+download. Have you tried using those? They were built on older versions of windows, not sure they would work on windows 10, but probably worth a try. Those were cross-built for windows on linux (see https://bazaar.launchpad.net/~osomon/pyexiv2/pyexiv2-0.3/view/head:/cross-compile.sh).

Note that pyexiv2 has been deprecated in favour of GExiv2 (https://wiki.gnome.org/Projects/gexiv2) for quite some time, and it’s not being maintained any longer. If it’s an option I’d recommend using GExiv2 instead.

HTH,

 Olivier


Le 26/03/2016 22:19, Brandon Taylor a écrit :
I’m attempting to compile pyexiv2 in Cygwin, which is probably not what
I’m supposed to do if I want pyexiv2 in Windows, but I need pyexiv2 in
order to run a Linux program in Windows. Here’s the output that the
command “scons” generates:

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x2c): undefined reference
to `PyEval_SaveThread'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x2c): relocation
truncated to fit: R_X86_64_PC32 against undefined symbol `PyEval_SaveThread'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0xd6): undefined reference
to `PyEval_RestoreThread'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0xd6): relocation
truncated to fit: R_X86_64_PC32 against undefined symbol
`PyEval_RestoreThread'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x484): undefined
reference to `PyEval_SaveThread'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x484): relocation
truncated to fit: R_X86_64_PC32 against undefined symbol `PyEval_SaveThread'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x542): undefined
reference to `PyEval_RestoreThread'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x542): relocation
truncated to fit: R_X86_64_PC32 against undefined symbol
`PyEval_RestoreThread'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x669): undefined
reference to `PyEval_SaveThread'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x669): relocation
truncated to fit: R_X86_64_PC32 against undefined symbol `PyEval_SaveThread'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x698): undefined
reference to `PyEval_RestoreThread'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x698): relocation
truncated to fit: R_X86_64_PC32 against undefined symbol
`PyEval_RestoreThread'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x1adc): undefined
reference to `PyEval_SaveThread'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x1adc): relocation
truncated to fit: R_X86_64_PC32 against undefined symbol `PyEval_SaveThread'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x1c40): undefined
reference to `PyEval_RestoreThread'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x1c40): relocation
truncated to fit: R_X86_64_PC32 against undefined symbol
`PyEval_RestoreThread'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4b3d): undefined
reference to `__imp_PyExc_RuntimeError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4b3d): relocation
truncated to fit: R_X86_64_PC32 against undefined symbol
`__imp_PyExc_RuntimeError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4b4c): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4b4c): relocation
truncated to fit: R_X86_64_PC32 against undefined symbol `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4b58): undefined
reference to `__imp_PyExc_IOError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4b58): additional
relocation overflows omitted from the output

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4b67): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4b73): undefined
reference to `__imp_PyExc_KeyError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4b82): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4b8e): undefined
reference to `__imp_PyExc_KeyError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4b9d): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4ba9): undefined
reference to `__imp_PyExc_KeyError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4bb8): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4bc4): undefined
reference to `__imp_PyExc_KeyError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4bd3): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4bdf): undefined
reference to `__imp_PyExc_ValueError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4bee): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4bfa): undefined
reference to `__imp_PyExc_IOError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4c09): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4c15): undefined
reference to `__imp_PyExc_IOError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4c24): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4c30): undefined
reference to `__imp_PyExc_IOError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4c3f): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4c4b): undefined
reference to `__imp_PyExc_IOError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4c5a): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4c66): undefined
reference to `__imp_PyExc_IOError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4c75): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4c81): undefined
reference to `__imp_PyExc_IOError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4c90): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4c9c): undefined
reference to `__imp_PyExc_IOError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4cab): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4cb7): undefined
reference to `__imp_PyExc_IOError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4cc6): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4cd2): undefined
reference to `__imp_PyExc_IOError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4ce1): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4ced): undefined
reference to `__imp_PyExc_IOError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4cfc): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4d08): undefined
reference to `__imp_PyExc_IOError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4d17): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4d23): undefined
reference to `__imp_PyExc_IOError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4d32): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4d3e): undefined
reference to `__imp_PyExc_IOError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4d4d): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4d59): undefined
reference to `__imp_PyExc_KeyError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4d68): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4d74): undefined
reference to `__imp_PyExc_IOError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4d83): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4d8f): undefined
reference to `__imp_PyExc_IOError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4d9e): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4daa): undefined
reference to `__imp_PyExc_ValueError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4db9): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4dc5): undefined
reference to `__imp_PyExc_ValueError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4dd4): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4de0): undefined
reference to `__imp_PyExc_ValueError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4def): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4dfb): undefined
reference to `__imp_PyExc_IOError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4e0a): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4e16): undefined
reference to `__imp_PyExc_ValueError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4e25): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4e31): undefined
reference to `__imp_PyExc_IOError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4e40): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4e4c): undefined
reference to `__imp_PyExc_KeyError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4e5b): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4e67): undefined
reference to `__imp_PyExc_KeyError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4e76): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4e82): undefined
reference to `__imp_PyExc_ValueError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4e91): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4e9d): undefined
reference to `__imp_PyExc_TypeError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4eac): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4eb8): undefined
reference to `__imp_PyExc_TypeError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4ec7): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4ed3): undefined
reference to `__imp_PyExc_RuntimeError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4ee2): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4eee): undefined
reference to `__imp_PyExc_ValueError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4efd): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4f09): undefined
reference to `__imp_PyExc_ValueError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4f18): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4f24): undefined
reference to `__imp_PyExc_ValueError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4f33): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4f3f): undefined
reference to `__imp_PyExc_KeyError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4f4e): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4f5a): undefined
reference to `__imp_PyExc_ValueError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4f69): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4f75): undefined
reference to `__imp_PyExc_KeyError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4f84): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4f90): undefined
reference to `__imp_PyExc_ValueError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4f9f): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4fab): undefined
reference to `__imp_PyExc_TypeError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4fba): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4fc6): undefined
reference to `__imp_PyExc_IOError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4fd5): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4fe1): undefined
reference to `__imp_PyExc_IOError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4ff3): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x4fff): undefined
reference to `__imp_PyExc_KeyError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x5011): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x501d): undefined
reference to `__imp_PyExc_KeyError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x502f): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x503b): undefined
reference to `__imp_PyExc_ValueError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x504d): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x5056): undefined
reference to `__imp_PyExc_KeyError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x5068): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x5071): undefined
reference to `__imp_PyExc_KeyError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x5083): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x508c): undefined
reference to `__imp_PyExc_KeyError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x509e): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x50a7): undefined
reference to `__imp_PyExc_RuntimeError'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text+0x50b6): undefined
reference to `PyErr_SetString'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text$_ZN5boost6python9converter13arg_to_pythonIjEC1ERKj[_ZN5boost6python9converter13arg_to_pythonIjEC1ERKj]+0x34):
undefined reference to `PyLong_FromUnsignedLong'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text$_ZN5boost6python9converter13arg_to_pythonIjEC1ERKj[_ZN5boost6python9converter13arg_to_pythonIjEC1ERKj]+0x49):
undefined reference to `PyInt_FromLong'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text$_ZN5boost6python9converter13arg_to_pythonISsEC1ERKSs[_ZN5boost6python9converter13arg_to_pythonISsEC1ERKSs]+0x40):
undefined reference to `PyString_FromStringAndSize'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text$_ZN5boost6python3api6objectC2Ev[_ZN5boost6python3api6objectC2Ev]+0xf):
undefined reference to `__imp__Py_NoneStruct'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text$_ZN5boost6python3lenERKNS0_3api6objectE[_ZN5boost6python3lenERKNS0_3api6objectE]+0x1c):
undefined reference to `PyObject_Size'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text$_ZN5boost6python3lenERKNS0_3api6objectE[_ZN5boost6python3lenERKNS0_3api6objectE]+0x25):
undefined reference to `PyErr_Occurred'

build/exiv2wrapper.os:exiv2wrapper.cpp:(.text$_ZN5boost6python10make_tupleIjjEENS0_5tupleERKT_RKT0_[_ZN5boost6python10make_tupleIjjEENS0_5tupleERKT_RKT0_]+0x20):
undefined reference to `PyTuple_New'

build/exiv2wrapper_python.os:exiv2wrapper_python.cpp:(.text$_ZN5boost6python6detail4noneEv[_ZN5boost6python6detail4noneEv]+0x7):
undefined reference to `__imp__Py_NoneStruct'

build/exiv2wrapper_python.os:exiv2wrapper_python.cpp:(.text$_ZN5boost6python6detail4noneEv[_ZN5boost6python6detail4noneEv]+0x15):
undefined reference to `__imp__Py_NoneStruct'

build/exiv2wrapper_python.os:exiv2wrapper_python.cpp:(.text$_ZN5boost6python6detail4noneEv[_ZN5boost6python6detail4noneEv]+0x1f):
undefined reference to `__imp__Py_NoneStruct'

build/exiv2wrapper_python.os:exiv2wrapper_python.cpp:(.text$_ZNK5boost6python15to_python_valueIRKbEclES3_[_ZNK5boost6python15to_python_valueIRKbEclES3_]+0x1e):
undefined reference to `PyBool_FromLong'

build/exiv2wrapper_python.os:exiv2wrapper_python.cpp:(.text$_ZNK5boost6python15to_python_valueIRKbE10get_pytypeEv[_ZNK5boost6python15to_python_valueIRKbE10get_pytypeEv]+0xb):
undefined reference to `__imp_PyBool_Type'

build/exiv2wrapper_python.os:exiv2wrapper_python.cpp:(.text$_ZNK5boost6python15to_python_valueIRKiEclES3_[_ZNK5boost6python15to_python_valueIRKiEclES3_]+0x1c):
undefined reference to `PyInt_FromLong'

build/exiv2wrapper_python.os:exiv2wrapper_python.cpp:(.text$_ZNK5boost6python15to_python_valueIRKiE10get_pytypeEv[_ZNK5boost6python15to_python_valueIRKiE10get_pytypeEv]+0xb):
undefined reference to `__imp_PyInt_Type'

build/exiv2wrapper_python.os:exiv2wrapper_python.cpp:(.text$_ZN5boost6python9converter13arg_to_pythonIiEC1ERKi[_ZN5boost6python9converter13arg_to_pythonIiEC1ERKi]+0x1c):
undefined reference to `PyInt_FromLong'

build/exiv2wrapper_python.os:exiv2wrapper_python.cpp:(.text$_ZNK5boost6python15to_python_valueIRjEclERKj[_ZNK5boost6python15to_python_valueIRjEclERKj]+0x34):
undefined reference to `PyLong_FromUnsignedLong'

build/exiv2wrapper_python.os:exiv2wrapper_python.cpp:(.text$_ZNK5boost6python15to_python_valueIRjEclERKj[_ZNK5boost6python15to_python_valueIRjEclERKj]+0x46):
undefined reference to `PyInt_FromLong'

build/exiv2wrapper_python.os:exiv2wrapper_python.cpp:(.text$_ZNK5boost6python15to_python_valueIRjE10get_pytypeEv[_ZNK5boost6python15to_python_valueIRjE10get_pytypeEv]+0xb):
undefined reference to `__imp_PyInt_Type'

build/exiv2wrapper_python.os:exiv2wrapper_python.cpp:(.text$_ZNK5boost6python15to_python_valueIRKjEclES3_[_ZNK5boost6python15to_python_valueIRKjEclES3_]+0x34):
undefined reference to `PyLong_FromUnsignedLong'

build/exiv2wrapper_python.os:exiv2wrapper_python.cpp:(.text$_ZNK5boost6python15to_python_valueIRKjEclES3_[_ZNK5boost6python15to_python_valueIRKjEclES3_]+0x46):
undefined reference to `PyInt_FromLong'

build/exiv2wrapper_python.os:exiv2wrapper_python.cpp:(.text$_ZNK5boost6python15to_python_valueIRKjE10get_pytypeEv[_ZNK5boost6python15to_python_valueIRKjE10get_pytypeEv]+0xb):
undefined reference to `__imp_PyInt_Type'

build/exiv2wrapper_python.os:exiv2wrapper_python.cpp:(.text$_ZNK5boost6python15to_python_valueIRSsEclERKSs[_ZNK5boost6python15to_python_valueIRSsEclERKSs]+0x40):
undefined reference to `PyString_FromStringAndSize'

build/exiv2wrapper_python.os:exiv2wrapper_python.cpp:(.text$_ZNK5boost6python15to_python_valueIRSsE10get_pytypeEv[_ZNK5boost6python15to_python_valueIRSsE10get_pytypeEv]+0xb):
undefined reference to `__imp_PyString_Type'

build/exiv2wrapper_python.os:exiv2wrapper_python.cpp:(.text$_ZNK5boost6python15to_python_valueIRKSsEclES3_[_ZNK5boost6python15to_python_valueIRKSsEclES3_]+0x40):
undefined reference to `PyString_FromStringAndSize'

build/exiv2wrapper_python.os:exiv2wrapper_python.cpp:(.text$_ZNK5boost6python15to_python_valueIRKSsE10get_pytypeEv[_ZNK5boost6python15to_python_valueIRKSsE10get_pytypeEv]+0xb):
undefined reference to `__imp_PyString_Type'

build/exiv2wrapper_python.os:exiv2wrapper_python.cpp:(.text$_ZN5boost6python5scopeC1Ev[_ZN5boost6python5scopeC1Ev]+0x24):
undefined reference to `__imp__Py_NoneStruct'

build/exiv2wrapper_python.os:exiv2wrapper_python.cpp:(.text$_ZN5boost6python10make_tupleIiiiEENS0_5tupleERKT_RKT0_RKT1_[_ZN5boost6python10make_tupleIiiiEENS0_5tupleERKT_RKT0_RKT1_]+0x24):
undefined reference to `PyTuple_New'

build/exiv2wrapper_python.os:exiv2wrapper_python.cpp:(.text$_ZN5boost6python9converter22shared_ptr_from_pythonIN12exiv2wrapper7ExifTagEE11convertibleEP7_object[_ZN5boost6python9converter22shared_ptr_from_pythonIN12exiv2wrapper7ExifTagEE11convertibleEP7_object]+0xf):
undefined reference to `__imp__Py_NoneStruct'

build/exiv2wrapper_python.os:exiv2wrapper_python.cpp:(.text$_ZN5boost6python9converter22shared_ptr_from_pythonIN12exiv2wrapper7IptcTagEE11convertibleEP7_object[_ZN5boost6python9converter22shared_ptr_from_pythonIN12exiv2wrapper7IptcTagEE11convertibleEP7_object]+0xf):
undefined reference to `__imp__Py_NoneStruct'

build/exiv2wrapper_python.os:exiv2wrapper_python.cpp:(.text$_ZN5boost6python9converter22shared_ptr_from_pythonIN12exiv2wrapper6XmpTagEE11convertibleEP7_object[_ZN5boost6python9converter22shared_ptr_from_pythonIN12exiv2wrapper6XmpTagEE11convertibleEP7_object]+0xf):
undefined reference to `__imp__Py_NoneStruct'

build/exiv2wrapper_python.os:exiv2wrapper_python.cpp:(.text$_ZN5boost6python9converter22shared_ptr_from_pythonIN12exiv2wrapper7PreviewEE11convertibleEP7_object[_ZN5boost6python9converter22shared_ptr_from_pythonIN12exiv2wrapper7PreviewEE11convertibleEP7_object]+0xf):
undefined reference to `__imp__Py_NoneStruct'

build/exiv2wrapper_python.os:exiv2wrapper_python.cpp:(.text$_ZN5boost6python9converter22shared_ptr_from_pythonIN12exiv2wrapper5ImageEE11convertibleEP7_object[_ZN5boost6python9converter22shared_ptr_from_pythonIN12exiv2wrapper5ImageEE11convertibleEP7_object]+0xf):
undefined reference to `__imp__Py_NoneStruct'

build/exiv2wrapper_python.os:exiv2wrapper_python.cpp:(.text$_ZN5boost6python9converter13pyobject_typeINS0_4dictEXadL_Z11PyDict_TypeEEE5checkEP7_object[_ZN5boost6python9converter13pyobject_typeINS0_4dictEXadL_Z11PyDict_TypeEEE5checkEP7_object]+0xf):
undefined reference to `__imp_PyDict_Type'

build/exiv2wrapper_python.os:exiv2wrapper_python.cpp:(.text$_ZN5boost6python9converter13pyobject_typeINS0_4dictEXadL_Z11PyDict_TypeEEE5checkEP7_object[_ZN5boost6python9converter13pyobject_typeINS0_4dictEXadL_Z11PyDict_TypeEEE5checkEP7_object]+0x1b):
undefined reference to `PyObject_IsInstance'

build/exiv2wrapper_python.os:exiv2wrapper_python.cpp:(.text$_ZN5boost6python9converter13pyobject_typeINS0_4listEXadL_Z11PyList_TypeEEE5checkEP7_object[_ZN5boost6python9converter13pyobject_typeINS0_4listEXadL_Z11PyList_TypeEEE5checkEP7_object]+0xf):
undefined reference to `__imp_PyList_Type'

build/exiv2wrapper_python.os:exiv2wrapper_python.cpp:(.text$_ZN5boost6python9converter13pyobject_typeINS0_4listEXadL_Z11PyList_TypeEEE5checkEP7_object[_ZN5boost6python9converter13pyobject_typeINS0_4listEXadL_Z11PyList_TypeEEE5checkEP7_object]+0x1b):
undefined reference to `PyObject_IsInstance'

build/exiv2wrapper_python.os:exiv2wrapper_python.cpp:(.text$_ZN5boost6python9converter13pyobject_typeINS0_5tupleEXadL_Z12PyTuple_TypeEEE10get_pytypeEv[_ZN5boost6python9converter13pyobject_typeINS0_5tupleEXadL_Z12PyTuple_TypeEEE10get_pytypeEv]+0x7):
undefined reference to `__imp_PyTuple_Type'

build/exiv2wrapper_python.os:exiv2wrapper_python.cpp:(.text$_ZN5boost6python9converter13pyobject_typeINS0_4listEXadL_Z11PyList_TypeEEE10get_pytypeEv[_ZN5boost6python9converter13pyobject_typeINS0_4listEXadL_Z11PyList_TypeEEE10get_pytypeEv]+0x7):
undefined reference to `__imp_PyList_Type'

build/exiv2wrapper_python.os:exiv2wrapper_python.cpp:(.text$_ZN5boost6python9converter13pyobject_typeINS0_4dictEXadL_Z11PyDict_TypeEEE10get_pytypeEv[_ZN5boost6python9converter13pyobject_typeINS0_4dictEXadL_Z11PyDict_TypeEEE10get_pytypeEv]+0x7):
undefined reference to `__imp_PyDict_Type'

collect2: error: ld returned 1 exit status

scons: *** [build/cygexiv2python.dll] Error 1

scons: building terminated because of errors.

First of all, what do I need to do so that SCons will build pyexiv2
correctly under Cygwin, if indeed it will build under Cygwin at all?

And if it /won’t/ build under Cygwin, would a “native” build work better
with the program I want to run?

Brandon Taylor



References