Summary: | >=media-libs/lcms-1.15 doesn't compile with python 2.5 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Patrick McLean <chutzpah> |
Component: | Current packages | Assignee: | Printing Team <printing> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | chris, chriswhite, dsdale24, janjitse, kanelxake, masterdriverz, nesl247, python, ruckc, szabolcs.berecz, teidakankan |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | 149064 | ||
Bug Blocks: | 148333, 155554 | ||
Attachments: | Fix for invalid conversion. |
Description
Patrick McLean
2006-09-22 19:48:15 UTC
Applying http://sourceforge.net/tracker/index.php?func=detail&aid=1552530&group_id=1645&atid=101645 to swig fixes this. ChrisWhite: could that be applied to swig-1.3.29 please? swig-1.3.29-r1 fixes this. Printing herd: can you please add >=dev-lang/swig-1.3.29-r1 to DEPEND if python is in USE? Without swig the bindings are not built, and without at least that version of swig the build fails on python 2.5. I get this on x86-64: ========================================================= make all-am make[2]: Entering directory `/var/tmp/portage/lcms-1.15/work/lcms-1.15/python' /bin/sh ../libtool --tag=CXX --mode=compile x86_64-pc-linux-gnu-g++ -DPACKAGE_NAME=\"lcms\" -DPACKAGE_TARNAME=\"lcms\" -DPACKAGE_VERSION=\"1.15\" -DPACKAGE_STRING=\"lcms\ 1.15\" -DPACKAGE_BUGREPORT=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DSIZEOF_INT=4 -DSIZEOF_UNSIGNED_INT=4 -DSIZEOF_LONG=8 -DSIZEOF_UNSIGNED_LONG=8 -DSIZEOF_LONG_LONG=8 -DSIZEOF_UNSIGNED_LONG_LONG=8 -DHasJPEG=1 -DHasZLIB=1 -DHasTIFF=1 -DHAVE_TIFFCONF_H=1 -I. -I. -I/usr/include/python2.5 -I/usr/include/python2.5 -I/usr/local/include/python2.5 -I../include -I../include -march=nocona -O2 -fomit-frame-pointer -pipe -c -o _lcms_la-lcms_wrap.lo `test -f 'lcms_wrap.cxx' || echo './'`lcms_wrap.cxx mkdir .libs x86_64-pc-linux-gnu-g++ -DPACKAGE_NAME=\"lcms\" -DPACKAGE_TARNAME=\"lcms\" -DPACKAGE_VERSION=\"1.15\" "-DPACKAGE_STRING=\"lcms 1.15\"" -DPACKAGE_BUGREPORT=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DSIZEOF_INT=4 -DSIZEOF_UNSIGNED_INT=4 -DSIZEOF_LONG=8 -DSIZEOF_UNSIGNED_LONG=8 -DSIZEOF_LONG_LONG=8 -DSIZEOF_UNSIGNED_LONG_LONG=8 -DHasJPEG=1 -DHasZLIB=1 -DHasTIFF=1 -DHAVE_TIFFCONF_H=1 -I. -I. -I/usr/include/python2.5 -I/usr/include/python2.5 -I/usr/local/include/python2.5 -I../include -I../include -march=nocona -O2 -fomit-frame-pointer -pipe -c lcms_wrap.cxx -fPIC -DPIC -o .libs/_lcms_la-lcms_wrap.o lcms_wrap.cxx: In function 'int SWIG_AsCharPtrAndSize(PyObject*, char**, size_t*, int*)': lcms_wrap.cxx:2919: error: cannot convert 'int*' to 'Py_ssize_t*' for argument '3' to 'int PyString_AsStringAndSize(PyObject*, char**, Py_ssize_t*)' make[2]: *** [_lcms_la-lcms_wrap.lo] Error 1 make[2]: Leaving directory `/var/tmp/portage/lcms-1.15/work/lcms-1.15/python' make[1]: *** [all] Error 2 make[1]: Leaving directory `/var/tmp/portage/lcms-1.15/work/lcms-1.15/python' make: *** [all-recursive] Error 1 ========================================================= And I have dev-lang/swig-1.3.29-r1 installed (and remerged it with python 2.5). Same error as chris smith. Also getting same error as Chris Smith. ~amd64 also. any news/ideas/confirmations? swig-1.3.30 is out and I created an ebuild for it to test lcms and the problem still remains: x86_64-pc-linux-gnu-g++ -DPACKAGE_NAME=\"lcms\" -DPACKAGE_TARNAME=\"lcms\" -DPACKAGE_VERSION=\"1.16\" "-DPACKAGE_STRING=\"lcms 1.16\"" -DPACKAGE_BUGREPORT=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DSIZEOF_INT=4 -DSIZEOF_UNSIGNED_INT=4 -DSIZEOF_LONG=8 -DSIZEOF_UNSIGNED_LONG=8 -DSIZEOF_LONG_LONG=8 -DSIZEOF_UNSIGNED_LONG_LONG=8 -DHasJPEG=1 -DHasZLIB=1 -DHasTIFF=1 -DHAVE_TIFFCONF_H=1 -I. -I/usr/include/python2.5 -I/usr/include/python2.5 -I../include -I../include -march=nocona -O2 -fomit-frame-pointer -pipe -c lcms_wrap.cxx -fPIC -DPIC -o .libs/_lcms_la-lcms_wrap.o lcms_wrap.cxx: In function 'int SWIG_Python_ConvertFunctionPtr(PyObject*, void**, swig_type_info*)': lcms_wrap.cxx:2051: error: invalid conversion from 'const char*' to 'char*' lcms_wrap.cxx: In function 'int SWIG_AsCharPtrAndSize(PyObject*, char**, size_t*, int*)': lcms_wrap.cxx:2920: error: cannot convert 'int*' to 'Py_ssize_t*' for argument '3' to 'int PyString_AsStringAndSize(PyObject*, char**, Py_ssize_t*)' lcms_wrap.cxx: In function 'void SWIG_Python_FixMethods(PyMethodDef*, swig_const_info*, swig_type_info**, swig_type_info**)': lcms_wrap.cxx:33907: error: invalid conversion from 'const char*' to 'char*' make[1]: *** [_lcms_la-lcms_wrap.lo] Error 1 make[1]: Leaving directory `/var/tmp/portage/media-libs/lcms-1.16/work/lcms-1.16/python' make: *** [all-recursive] Error 1 sorry, must have missed this. thanks, FIXED now This isn't fixed. It still fails on ~amd64, with reemerged swig. python herd: please advice swig-1.3.31 fixes the problem Bumped swig to 1.3.31 and tested that it fixes the amd64 issue. thanks, I bumped the dep in lcms. It would be cool if you could have a look at bug 138647 for python too :) *** Bug 171126 has been marked as a duplicate of this bug. *** People complain that it still doesn't work w/ 1.16 and swig-1.3.31; reopen. Created attachment 113564 [details, diff]
Fix for invalid conversion.
Works for me on ~amd64.
I can confirm that the patch from #16 works for me on ~amd64. i just resynced, and i came across this exact problem. x86 side of things though swig-1.3.31, python-2.5-r1, trying to install lcms-1.16 The patch works with both ~amd64 and ~ppc here. The patch works here on ~x86. so can we get this put into the ebuild/portage system so us little people can use it? I get a compile error here with this patch: lcms_wrap.cxx: In function 'int SWIG_AsCharPtrAndSize(PyObject*, char**, size_t*, int*)': lcms_wrap.cxx:2919: error: 'Py_ssize_t' was not declared in this scope lcms_wrap.cxx:2919: error: expected `;' before 'len' lcms_wrap.cxx:2920: error: 'len' was not declared in this scope In 1.16, instead of patching lcms_wrap.cxx, put in src_unpack: cd python && ./swig_lcms jesus fscking christ! could someone finally fix this? i am tired of this: emerge --remue --skipfirst just infact of lcms ..or you could 'echo =media-libs/lcms-1.16 -python >> /etc/portage/packages.use' (if you do not need the python-bindings) or try one of the fixes in a overlay until this bug is fixed or just stop spamming the bugreport. Now it should be fixed. Sorry for the delay. |