Something that has tripped me up numerous times in the past is the need to
do a clean re-install of LLVM when certain things change. For example, a
header file gets moved from one subdirectory to another - since the "make
install" script doesn't remove anything, the old header will still
exist in
the include directory at its old location. Programs which compile against
LLVM that attempt to load the include file from the old location may
actually compile, but then get mysterious runtime errors. Similar problems
can occur with static library files.
I've learned to always install LLVM with a custom prefix, to make it easy to
blow away the old copy - otherwise uninstallation would be difficult,
especially for the tool programs that would otherwise get mixed in with all
the other programs that are installed in $PREFIX/bin. But even with that
precaution, I sometimes don't realize that a clean build and install is
needed.
I don't know if there's a good solution to this problem. For header
files, I
suppose one could leave a tombstone header file with a #error directive in
it, for a limited period of time - but how long? There are lots of LLVM
users out there that don't update very frequently.
I'd be interested in knowing if there's a better workflow that I could
be
using to avoid this problem.
--
-- Talin
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20110904/46f0a090/attachment.html>