[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