[MacPorts] #53673: clang: use llvm-dsymutil

MacPorts noreply at macports.org
Fri Mar 3 12:35:27 UTC 2017


#53673: clang: use llvm-dsymutil
-------------------------------------------------+-------------------------
  Reporter:  Ionic                               |      Owner:  jeremyhu
      Type:  defect                              |     Status:  new
  Priority:  Normal                              |  Milestone:
 Component:  ports                               |    Version:
Resolution:                                      |   Keywords:
      Port:  clang-3.3 clang-3.4 clang-3.5       |
  clang-3.6 clang-3.7 clang-3.8 clang-3.9        |
  clang-4.0 clang-devel                          |
-------------------------------------------------+-------------------------

Comment (by Ionic):

 That's great news! Just adding a symlink is little maintenance work.


 >3.7 and earlier might be a bit tricky.  As a workaround, I suggest you
 try this to see if it causes the 3.7 driver to use llvm-3.9's dsymutil:
 >   sudo ln -s /opt/local/bin/llvm-dsymutil-mp-3.9 /usr/local/bin/dsymutil

 (Answering here instead of on the mailing list.)
 Yes, that works. Also with `${prefix}/bin`.

 I have found a tiny bug in llvm-dsymutil (I think), but that probably
 won't cause any harm:

 {{{
 % rm -rf test.dSYM; touch test.dSYM
 % clang++-mp-3.7 -std=c++11 -gdwarf-4 test.cpp -o test -v
 [...]
  "/opt/local/bin/dsymutil" -o test.dSYM test
 error: cannot create directory test.dSYM/Contents/Resources/DWARF: Not a
 directory
 clang: error: dsymutil command failed with exit code 1 (use -v to see
 invocation)
 }}}

 Funnily, the file is also deleted, so a second run will work fine.

 Baseline is that it seems to work, though.

 More importantly though, this also works:

 {{{
 # ln -sv /opt/local/bin/llvm-dsymutil-mp-3.9
 /opt/local/libexec/llvm-3.7/bin/dsymutil
 '/opt/local/libexec/llvm-3.7/bin/dsymutil' -> '/opt/local/bin/llvm-
 dsymutil-mp-3.9'
 % clang++-mp-3.7 -std=c++11 -gdwarf-4 test.cpp -o test -v
 [...]
  "/opt/local/libexec/llvm-3.7/bin/dsymutil" -o test.dSYM test
 }}}

--
Ticket URL: <https://trac.macports.org/ticket/53673#comment:2>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list