[MacPorts] #50983: clang fails with valid OpenMP pragma on py-graph-tool build

MacPorts noreply at macports.org
Mon Mar 28 09:56:51 PDT 2016


#50983: clang fails with valid OpenMP pragma on py-graph-tool build
-------------------------+--------------------------------
 Reporter:  s.t.smith@…  |      Owner:  macports-tickets@…
     Type:  defect       |     Status:  new
 Priority:  Normal       |  Milestone:
Component:  ports        |    Version:  2.3.4
 Keywords:               |       Port:  clang-3.9
-------------------------+--------------------------------
 The clang compile fails with an error on graph-tool with OpenMP enabled.
 The author believes that the OpenMP pragma is valid (I concur).

 Here's how to tickle the bug:

 {{{
 # uninstall existing graph-tool
 sudo port uninstall py-graph-tool py27-graph-tool
 sudo port clean --dist py-graph-tool py27-graph-tool

 # build new graph-tool with OpenMP support
 sudo port install clang-3.9 libomp
 # modify the graph-tool Portfile to --enable-openmp
 sudo vi `port file py-graph-tool`
 <    #configure.args-append --with-boost=${prefix} --exec-
 prefix=${python.prefix}
 >    configure.args-append --with-boost=${prefix} --exec-
 prefix=${python.prefix} --enable-openmp
 # compile graph-tool
 sudo port -d install configure.compiler=macports-clang-3.9
 }}}

 clang error:

 {{{
 In file included from graph_blockmodel.cc:39:
 In file included from ./graph_blockmodel_overlap.hh:24:
 ./graph_blockmodel.hh:2708:43: warning: missing ':' after directive name
 modifier - ignoring [-Wignored-pragmas]
             schedule(runtime) if (parallel)
                                           ^
 ./graph_blockmodel.hh:2708:43: error: expected expression
 In file included from graph_blockmodel.cc:39:
 ./graph_blockmodel_overlap.hh:1337:67: warning: missing ':' after
 directive name modifier - ignoring [-Wignored-pragmas]
             firstprivate(m_entries) schedule(runtime) if (parallel)
                                                                   ^
 ./graph_blockmodel_overlap.hh:1337:67: error: expected expression
 In file included from graph_blockmodel.cc:39:
 In file included from ./graph_blockmodel_overlap.hh:24:
 In file included from ./graph_blockmodel.hh:26:
 }}}

 The code is in
 {{{/opt/local//var/macports/build/_opt_local_var_macports_sources_rsync.macports
 .org_release_tarballs_ports_python_py-graph-tool/py27-graph-tool/work
 /graph-tool-2.13/src/graph/community/graph_blockmodel_overlap.hh}}}:

 {{{
         #pragma omp parallel for default(shared) private(i) \
             firstprivate(m_entries) schedule(runtime) if (parallel)
         for (i = 0; i < N; ++i)
         {
 ...
 }}}

 This appears to be correct, and compiles correctly with gcc on Linux.

-- 
Ticket URL: <https://trac.macports.org/ticket/50983>
MacPorts <https://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list