#34231: ImageMagick: should not depend on pango + fix openMP ---------------------------------------+------------------------------------ Reporter: frederic.devernay@… | Owner: ryandesign@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.4 Keywords: haspatch | Port: ImageMagick ---------------------------------------+------------------------------------ Comment(by frederic.devernay@…): IM doesn't create separate threads by itself, so any single threaded IM test will run OK with the OpenMP version. The ImageMagick API doesn't forbid you to call ImageMagick from a different thread than the main thread. I did that, and it crashed EXACTLY as described in the GCC bug report. Sorry, but that happened one or two years ago and I don't have time to reproduce the bug. This is very annoying, and I had a hard time fuguring it out, because GCC 4.2 has not been maintained for several years. Believe me, it always crashes, others have reported this, and the *official* GCC bug says that GCC 4.2 and 4.3 have buggy OpenMP implementation. I thought it was enough to prevent using OpenMP with these compilers. Anybody using OpenMP from the main thread (which is how ALL OpenMP samples are designed) won't even nptice the bug. Everybody using OpenMP from a secondary thread will get a crash. #15945 suggests to enable it for gcc 4.3, which is still wrong. gcc 4.4 (or llvm-gcc or clang) is the minimum version. Check out the official gcc bug mentioned above. Nobody should be able to enable openmp on gcc 4.0, 4.2 or 4.3, because this leads to a buggy IM which will may other ports inconsistently. IMHO adding a variant to be able to enable it on on a buggy gcc is not a good thing, because it may cause bug reports for other ports. And, but the way, IM doesn't really benefit from using OpenMP (do you do intensive image processing using ImageMagick? I don't, although image processing and computer vision is my day job).Turning it off by default on buggy systems, and on by default on working systems is the best option. Why mess things up with variants? It just works or does not work. There's no extra functionnality. fred -- Ticket URL: <https://trac.macports.org/ticket/34231#comment:4> MacPorts <http://www.macports.org/> Ports system for Mac OS