[MacPorts] #48701: julia @0.3.11 fails building using MacPorts clang

MacPorts noreply at macports.org
Mon Aug 24 14:28:44 PDT 2015


#48701: julia @0.3.11 fails building using MacPorts clang
------------------------+--------------------------------
 Reporter:  braumann@…  |      Owner:  macports-tickets@…
     Type:  defect      |     Status:  new
 Priority:  Normal      |  Milestone:
Component:  ports       |    Version:  2.3.3
 Keywords:              |       Port:  julia
------------------------+--------------------------------
 As I had noticed that clang version 3.0 (tags/Apple/clang-211.10.1)
 shipped with Xcode 4.2 is not capable to build julia (it stops after a
 while complaining about a missing cholmod.h) I came up with the idea to
 use a newer MacPorts clang, e.g. 3.5:

 {{{
 sudo port -d install julia configure.compiler=macports-clang-3.5
 }}}

 In fact, during configuring the main component are being set
 {{{CC=/opt/local/bin/clang-mp-3.5 CXX=/opt/local/bin/clang++-mp-3.5
 FC=/opt/local/bin/gfortran-mp-4.9}}}

 However, julia then expects a non-existing variant of ar:

 /opt/local/bin/clang-ar: No such file or directory

 Instead, julia should take /opt/local/bin/llvm-ar-mp-3.5 (which in turn is
 a shell script pointing to /opt/local/libexec/llvm-3.5/bin/llvm-ar).

 Since I have no idea how to work around this problem on the Portfile
 level, my first attempt was to make a copy of the llvm-ar-mp-3.5 shell
 script under the name clang-ar. To my surprise this did not work, it
 complained about an unknown switch -ru. So I gave up this without doing
 research on the switch variants of ar.

 So my last resort was to symlink a clang-ar to /usr/bin/ar - the latter is
 from Xcode (I suppose), inside /opt/local/bin I called {{{$ sudo ln -s
 /usr/bin/ar clang-ar}}}. This hack worked, and also is "valid" for other
 clang versions, e.g. 3.4 or 3.6!

 However, my experiment ended with a fatal error:

 {{{
 ...
 In file included from codegen.cpp:35:
 In file included from
 /opt/local/libexec/llvm-3.5/include/llvm/ExecutionEngine/ExecutionEngine.h:19:
 In file included from
 /opt/local/libexec/llvm-3.5/include/llvm/ADT/SmallVector.h:17:
 /opt/local/libexec/llvm-3.5/include/llvm/ADT/iterator_range.h:37:29:
 error: no member named 'move' in namespace 'std'
       : begin_iterator(std::move(begin_iterator)),
                        ~~~~~^
 /opt/local/libexec/llvm-3.5/include/llvm/ADT/iterator_range.h:38:27:
 error: no member named 'move' in namespace 'std'
         end_iterator(std::move(end_iterator)) {}
                      ~~~~~^
 /opt/local/libexec/llvm-3.5/include/llvm/ADT/iterator_range.h:49:33:
 error: no member named 'move' in namespace 'std'
   return iterator_range<T>(std::move(x), std::move(y));
                            ~~~~~^
 /opt/local/libexec/llvm-3.5/include/llvm/ADT/iterator_range.h:49:47:
 error: no member named 'move' in namespace 'std'
   return iterator_range<T>(std::move(x), std::move(y));
                                          ~~~~~^
 In file included from codegen.cpp:35:
 In file included from
 /opt/local/libexec/llvm-3.5/include/llvm/ExecutionEngine/ExecutionEngine.h:19:
 In file included from
 /opt/local/libexec/llvm-3.5/include/llvm/ADT/SmallVector.h:20:
 /opt/local/libexec/llvm-3.5/include/llvm/Support/MathExtras.h:21:10: fatal
 error: 'type_traits' file not found
 #include <type_traits>
          ^
 5 errors generated.
 ...
 }}}

 Any ideas?

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


More information about the macports-tickets mailing list