[MacPorts] #34231: ImageMagick: should not depend on pango + fix openMP

MacPorts noreply at macports.org
Sat Apr 28 05:32:24 PDT 2012


#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


More information about the macports-tickets mailing list