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)

imagemagick.fail.log (155.6 KB) - added by kencu (Ken) 7 years ago.
main.log (797.6 KB) - added by ballapete (Peter "Pete" Dyballa) 7 years ago.
main.log from Snow Leopard

Download all attachments as: .zip

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: newassigned

comment:2 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)

Status: assignedaccepted
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 ')'

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.

comment:3 in reply to:  2 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 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)

Attachment: main.log added

main.log from Snow Leopard

comment:12 in reply to:  11 Changed 7 years ago by ballapete (Peter "Pete" Dyballa)

It builds with configure option --disable-opencl.

comment:13 Changed 7 years ago by kencu (Ken)

superseded by 55167 which has a patch

comment:14 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: duplicate
Status: acceptedclosed
Note: See TracTickets for help on using tickets.