Message ID | 20190823191417.8748-1-juju@cotds.org |
---|---|
State | Accepted |
Headers | show |
Series | [1/1] package/imagemagick: disable opencl | expand |
>>>>> "Julien" == Julien Olivain <juju@cotds.org> writes: > Some packages installs libOpenCL without declaring > BR2_PACKAGE_PROVIDES_LIBOPENCL (e.g. imx-gpu-viv). ImageMagick will > detect the library and will require libtool. Since libtool is not in > dependencies, build might fail. > To prevent that situation, this patch explicitly disable opencl > support. > Signed-off-by: Julien Olivain <juju@cotds.org> > --- > package/imagemagick/imagemagick.mk | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > diff --git a/package/imagemagick/imagemagick.mk b/package/imagemagick/imagemagick.mk > index 0bac0b4fc3..58c8637efc 100644 > --- a/package/imagemagick/imagemagick.mk > +++ b/package/imagemagick/imagemagick.mk > @@ -18,10 +18,13 @@ ifeq ($(BR2_INSTALL_LIBSTDCPP)$(BR2_USE_WCHAR),yy) > IMAGEMAGICK_CONFIG_SCRIPTS += Magick++-config > endif > -IMAGEMAGICK_CONF_ENV = ac_cv_sys_file_offset_bits=64 > +IMAGEMAGICK_CONF_ENV = \ > + ac_cv_sys_file_offset_bits=64 \ > + ax_cv_check_cl_libcl=no Why is this needed? From a quick look at m4/ax_opencl.m4, this only seems to be used when we do not pass --disable-opencl?
Hi Peter, On 2019-08-25 09:04, Peter Korsgaard wrote: >>>>>> "Julien" == Julien Olivain <juju@cotds.org> writes: > > > Some packages installs libOpenCL without declaring > > BR2_PACKAGE_PROVIDES_LIBOPENCL (e.g. imx-gpu-viv). ImageMagick will > > detect the library and will require libtool. Since libtool is not in > > dependencies, build might fail. > > > To prevent that situation, this patch explicitly disable opencl > > support. > > > Signed-off-by: Julien Olivain <juju@cotds.org> > > --- > > package/imagemagick/imagemagick.mk | 6 +++++- > > 1 file changed, 5 insertions(+), 1 deletion(-) > > > diff --git a/package/imagemagick/imagemagick.mk > b/package/imagemagick/imagemagick.mk > > index 0bac0b4fc3..58c8637efc 100644 > > --- a/package/imagemagick/imagemagick.mk > > +++ b/package/imagemagick/imagemagick.mk > > @@ -18,10 +18,13 @@ ifeq > ($(BR2_INSTALL_LIBSTDCPP)$(BR2_USE_WCHAR),yy) > > IMAGEMAGICK_CONFIG_SCRIPTS += Magick++-config > > endif > > > -IMAGEMAGICK_CONF_ENV = ac_cv_sys_file_offset_bits=64 > > +IMAGEMAGICK_CONF_ENV = \ > > + ac_cv_sys_file_offset_bits=64 \ > > + ax_cv_check_cl_libcl=no > > Why is this needed? From a quick look at m4/ax_opencl.m4, this only > seems to be used when we do not pass --disable-opencl? For some reasons, just passing --disable-opencl will not set $ax_cv_check_cl_libcl to "no", but to an empty string, when tested at: https://github.com/ImageMagick/ImageMagick/blob/7.0.8-59/configure.ac#L1725 This test will still enable the need of libltdl. Forcing ax_cv_check_cl_libcl to "no" is a workaround this behavior. Do you want me to add this comment in the .mk file and update the patch? Best regards, Julien.
On Fri, 23 Aug 2019 21:14:17 +0200 Julien Olivain <juju@cotds.org> wrote: > Some packages installs libOpenCL without declaring > BR2_PACKAGE_PROVIDES_LIBOPENCL (e.g. imx-gpu-viv). ImageMagick will > detect the library and will require libtool. Since libtool is not in > dependencies, build might fail. > > To prevent that situation, this patch explicitly disable opencl > support. > > Signed-off-by: Julien Olivain <juju@cotds.org> FYI, I've started looking into this. First, there is an upstream commit that fixes using disable_opencl instead of enable_opencl. Then I fixed up the configure.ac to use the "no_cl" variable that the OpenCL M4 macro defines. But then even with --disable-opencl, the build fails because MAGICKCORE__OPENCL is defined. I'm still trying to figure out why. Thomas
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@bootlin.com> writes: > On Fri, 23 Aug 2019 21:14:17 +0200 > Julien Olivain <juju@cotds.org> wrote: >> Some packages installs libOpenCL without declaring >> BR2_PACKAGE_PROVIDES_LIBOPENCL (e.g. imx-gpu-viv). ImageMagick will >> detect the library and will require libtool. Since libtool is not in >> dependencies, build might fail. >> >> To prevent that situation, this patch explicitly disable opencl >> support. >> >> Signed-off-by: Julien Olivain <juju@cotds.org> > FYI, I've started looking into this. First, there is an upstream commit > that fixes using disable_opencl instead of enable_opencl. Then I fixed > up the configure.ac to use the "no_cl" variable that the OpenCL M4 > macro defines. But then even with --disable-opencl, the build fails > because MAGICKCORE__OPENCL is defined. I'm still trying to figure out > why. I don't see that issue any more (In fact, the only references to that symbol seems to be in Magick{Core,Wand}/studio.h), and the IMAGEMAGICK_CONV_ENV tweak isn't needed any more, so I dropped that and committed - Thanks.
>>>>> "Peter" == Peter Korsgaard <peter@korsgaard.com> writes: >>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@bootlin.com> writes: >> On Fri, 23 Aug 2019 21:14:17 +0200 >> Julien Olivain <juju@cotds.org> wrote: >>> Some packages installs libOpenCL without declaring >>> BR2_PACKAGE_PROVIDES_LIBOPENCL (e.g. imx-gpu-viv). ImageMagick will >>> detect the library and will require libtool. Since libtool is not in >>> dependencies, build might fail. >>> >>> To prevent that situation, this patch explicitly disable opencl >>> support. >>> >>> Signed-off-by: Julien Olivain <juju@cotds.org> >> FYI, I've started looking into this. First, there is an upstream commit >> that fixes using disable_opencl instead of enable_opencl. Then I fixed >> up the configure.ac to use the "no_cl" variable that the OpenCL M4 >> macro defines. But then even with --disable-opencl, the build fails >> because MAGICKCORE__OPENCL is defined. I'm still trying to figure out >> why. > I don't see that issue any more (In fact, the only references to that > symbol seems to be in Magick{Core,Wand}/studio.h), and the > IMAGEMAGICK_CONV_ENV tweak isn't needed any more, so I dropped that and > committed - Thanks. Committed to 2019.02.x and 2019.11.x, thanks.
diff --git a/package/imagemagick/imagemagick.mk b/package/imagemagick/imagemagick.mk index 0bac0b4fc3..58c8637efc 100644 --- a/package/imagemagick/imagemagick.mk +++ b/package/imagemagick/imagemagick.mk @@ -18,10 +18,13 @@ ifeq ($(BR2_INSTALL_LIBSTDCPP)$(BR2_USE_WCHAR),yy) IMAGEMAGICK_CONFIG_SCRIPTS += Magick++-config endif -IMAGEMAGICK_CONF_ENV = ac_cv_sys_file_offset_bits=64 +IMAGEMAGICK_CONF_ENV = \ + ac_cv_sys_file_offset_bits=64 \ + ax_cv_check_cl_libcl=no IMAGEMAGICK_CONF_OPTS = \ --program-transform-name='s,,,' \ + --disable-opencl \ --disable-openmp \ --without-djvu \ --without-dps \ @@ -152,6 +155,7 @@ IMAGEMAGICK_CONF_OPTS += --without-bzlib endif HOST_IMAGEMAGICK_CONF_OPTS = \ + --disable-opencl \ --disable-openmp \ --without-djvu \ --without-dps \
Some packages installs libOpenCL without declaring BR2_PACKAGE_PROVIDES_LIBOPENCL (e.g. imx-gpu-viv). ImageMagick will detect the library and will require libtool. Since libtool is not in dependencies, build might fail. To prevent that situation, this patch explicitly disable opencl support. Signed-off-by: Julien Olivain <juju@cotds.org> --- package/imagemagick/imagemagick.mk | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)