Opened 7 years ago
Closed 7 years ago
#55042 closed defect (duplicate)
ImageMagick @6.9.9-19: build failure due to magick/opencl-private.h:78:23: error: expected ')'
Reported by: | kencu (Ken) | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | ryandesign (Ryan Carsten Schmidt), ballapete (Peter "Pete" Dyballa) | |
Port: | ImageMagick |
Description
build fails on 10.6 / libc++ / clang-3.9 and clang-3.7 due to errors related to opencl. Looks like something to do with newer clangs, opencl, and possibly libcxx.
adding --disable-opencl
to configure.args fixes build.
ImageMagick @6.9.9-19_0+x11 (active) platform='darwin 10' archs='x86_64' date='2017-10-08T19:51:35-0700'
Attachments (2)
Change History (16)
Changed 7 years ago by kencu (Ken)
Attachment: | imagemagick.fail.log added |
---|
comment:1 Changed 7 years ago by kencu (Ken)
Owner: | set to ryandesign |
---|---|
Status: | new → assigned |
comment:2 follow-up: 3 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)
Status: | assigned → accepted |
---|---|
Summary: | ImageMagick @6.9.9-19 : build failure due to magick/opencl-private.h:78:23: error: expected ')' → ImageMagick @6.9.9-19: build failure due to magick/opencl-private.h:78:23: error: expected ')' |
comment:3 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to ryandesign:
it looks like the difference is that in 6.9.9-11 the default was to disable OpenCL support, and in 6.9.9-19 the default is to enable it.
https://github.com/ImageMagick/ImageMagick/commit/1fee04ec393f6bc5011aaaf821206960c46bffe9
comment:4 Changed 7 years ago by kencu (Ken)
It's certainly easy enough to disable opencl. I wonder if, in the end, this applies to other builds on other newer systems as well, and if there's some way to make it actually work...
comment:5 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)
Do you want to report the bug to them? For now, I'll just disable OpenCL on the systems where it fails to build.
comment:6 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)
Actually I'm not sure if OpenCL gets used even on Sierra. My configure output is:
checking CL/cl.h usability... no checking CL/cl.h presence... no checking for CL/cl.h... no checking OpenCL/cl.h usability... yes checking OpenCL/cl.h presence... yes checking for OpenCL/cl.h... yes checking windows.h usability... no checking windows.h presence... no checking for windows.h... no checking for OpenCL library... no
comment:7 Changed 7 years ago by kencu (Ken)
will do. I have found that MacPorts clang.x tends to push the envelope more than Apple's clang does...
comment:8 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)
The build succeeds for me on Sierra, but I don't think OpenCL is being used. Do you think it is being used on your Snow Leopard build?
comment:9 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)
Well no obviously it's not being used since you disable it.
But I don't see that there's a difference caused by different clang versions here. I just see a project using OpenCL code that doesn't work on macOS.
comment:10 Changed 7 years ago by ballapete (Peter "Pete" Dyballa)
Cc: | ballapete added |
---|
comment:11 follow-up: 12 Changed 7 years ago by ballapete (Peter "Pete" Dyballa)
On Mac OS X 10.6.8, Snow Leopard, the same errors happen.
Changed 7 years ago by ballapete (Peter "Pete" Dyballa)
main.log from Snow Leopard
comment:12 Changed 7 years ago by ballapete (Peter "Pete" Dyballa)
It builds with configure
option --disable-opencl
.
comment:14 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → duplicate |
---|---|
Status: | accepted → closed |
Since as far as I know the port built successfully on Snow Leopard before, I wondered how they had changed their OpenCL code to be incompatible with Snow Leopard, but it looks like the difference is that in 6.9.9-11 the default was to disable OpenCL support, and in 6.9.9-19 the default is to enable it. So I'd guess the OpenCL code never worked on Snow Leopard but we never tried it.