Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 500414 - dev-python/pythonmagick-0.9.8 PYTHON_TARGETS=python2_7 - _Image.cpp:96:48: error: no matching function for call to ‘boost::python::class_<Magick::Image>::def(const char [8], <unresolved overloaded function type>)’
Summary: dev-python/pythonmagick-0.9.8 PYTHON_TARGETS=python2_7 - _Image.cpp:96:48: er...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Python Gentoo Team
URL:
Whiteboard:
Keywords: PATCH
Depends on:
Blocks:
 
Reported: 2014-02-05 19:45 UTC by megabaks
Modified: 2014-03-25 11:33 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,50.97 KB, text/plain)
2014-02-05 19:46 UTC, megabaks
Details
new ebuild (pythonmagick-0.9.9.ebuild,1.04 KB, text/plain)
2014-02-05 19:47 UTC, megabaks
Details
resolve overload (gentoo500414a.patch,1.39 KB, patch)
2014-03-09 10:21 UTC, Martin von Gagern
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description megabaks 2014-02-05 19:45:25 UTC
after migration on PYTHON_TARGETS="python2_7 python3_3"  can't build dev-python/pythonmagick-0.9.8


Reproducible: Always
Comment 1 megabaks 2014-02-05 19:46:06 UTC
Created attachment 369634 [details]
build.log
Comment 2 megabaks 2014-02-05 19:47:14 UTC
Created attachment 369638 [details]
new ebuild

new ebuild with EAPI 5, python-r1 eclass, bump up to 0.9.9
Comment 3 Jeroen Roovers (RETIRED) gentoo-dev 2014-02-06 02:30:09 UTC
Comment on attachment 369638 [details]
new ebuild

--- pythonmagick-0.9.8.ebuild   2013-04-24 17:47:15.648601055 +0200
+++ -   2014-02-06 03:29:46.333086152 +0100
@@ -2,15 +2,10 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Header: /var/cvsroot/gentoo-x86/dev-python/pythonmagick/pythonmagick-0.9.8.ebuild,v 1.4 2013/04/23 05:35:51 patrick Exp $
-EAPI="4"
-PYTHON_DEPEND="*:2.6"
-SUPPORT_PYTHON_ABIS="1"
-RESTRICT_PYTHON_ABIS="2.5 *-jython 2.7-pypy-*"
-PYTHON_EXPORT_PHASE_FUNCTIONS="1"
+EAPI="5"
+PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3} )
-WANT_AUTOMAKE="1.12"
-
-inherit autotools eutils python
+inherit python-r1
 MY_PN="PythonMagick"
 MY_P="${MY_PN}-${PV}"
@@ -24,48 +19,29 @@
 KEYWORDS="~amd64 ~ppc ~x86"
 IUSE=""
-RDEPEND=">=dev-libs/boost-1.48[python]
-       >=media-gfx/imagemagick-6.4"
+RDEPEND="dev-libs/boost[${PYTHON_USEDEP}]
+               media-gfx/imagemagick"
 DEPEND="${RDEPEND}
-       virtual/pkgconfig
-       "
+       virtual/pkgconfig"
 S="${WORKDIR}/${MY_P}"
-PYTHON_CXXFLAGS=("2.* + -fno-strict-aliasing")
-
 src_prepare() {
-       epatch "${FILESDIR}/${PN}-0.9.1-use_active_python_version.patch"
-       epatch "${FILESDIR}/${PN}-0.9.2-fix_detection_of_python_includedir.patch"
-
-       sed -e "s/AM_PATH_PYTHON(3.1)/AM_PATH_PYTHON(2.6)/" -i configure.ac || die "sed failed"
-
-       eautoreconf
-
-       python_clean_py-compile_files
-
-       python_src_prepare
+       python_copy_sources
 }
 src_configure() {
        configuration() {
-               sed -e "s/-lboost_python/-lboost_python-${PYTHON_ABI}/" -i Makefile.in
-               econf \
-                       --disable-static \
-                       --with-boost-python="boost_python-${PYTHON_ABI}"
+               sed -e "s/-lboost_python /-lboost_python-${EPYTHON#python} /" -i Makefile.in
+               econf
        }
-       python_execute_function -s configuration
+       python_foreach_impl run_in_build_dir configuration
 }
-src_install() {
-       python_src_install
-       python_clean_installation_image
+src_compile() {
+       python_foreach_impl run_in_build_dir default
 }
-pkg_postinst() {
-       python_mod_optimize PythonMagick
-}
-
-pkg_postrm() {
-       python_mod_cleanup PythonMagick
+src_install() {
+       python_foreach_impl run_in_build_dir default
 }
Comment 4 megabaks 2014-02-18 14:54:47 UTC
any news?
Comment 5 megabaks 2014-03-07 19:41:53 UTC
ping
Comment 6 Martin von Gagern 2014-03-09 10:21:27 UTC
Created attachment 372170 [details, diff]
resolve overload

Problem is that recent versions of imagemagick added overloaded versions of Image::compare, so the code doesn't know which one the name refers to. An explicit cast makes that clear, and the one used in this patch is the original one, so it will work for older versions and preserve compatibility.
Comment 7 Ian Delaney (RETIRED) gentoo-dev 2014-03-25 11:33:18 UTC
(In reply to Martin von Gagern from comment #6)
> Created attachment 372170 [details, diff] [details, diff]
> resolve overload
> 
> Problem is that recent versions of imagemagick added overloaded versions of
> Image::compare, so the code doesn't know which one the name refers to. An
> explicit cast makes that clear, and the one used in this patch is the
> original one, so it will work for older versions and preserve compatibility.

$ ebuild pythonmagick-0.9.8.ebuild install

yields

==============================================================
>>> Completed installing pythonmagick-0.9.8 into /mnt/gen2/TmpDir/portage/dev-python/pythonmagick-0.9.8/image/

strip: x86_64-pc-linux-gnu-strip --strip-unneeded -R .comment -R .GCC.command.line -R .note.gnu.gold-version
   usr/lib64/python2.7/site-packages/PythonMagick/_PythonMagick.so
   usr/lib64/python3.2/site-packages/PythonMagick/_PythonMagick.so

perfect. Well done Martin. Someone care to revbump -> a python-r1 eclass?

  25 Mar 2014; Ian Delaney <idella4@gentoo.org>
  +files/pythonmagick-0.9.8-build.patch, pythonmagick-0.9.8.ebuild:
  Patched to fix build issue, fixes Byg #500414 by megabaks, patch by M. von
  Gagern