mgorny created this revision. mgorny added reviewers: ddunbar, beanz. mgorny added a subscriber: cfe-commits.
Add the build llvm_shlib_dir into LD_LIBRARY_PATH before the directory specified as llvm_libs_dir, in order to fix stand-alone builds attempting to use installed clang libraries. In case of stand-alone builds llvm_libs_dir specifies the location of installed LLVM libraries which can also contain an older version (previous build) of clang libraries. Therefore, ensure to specify llvm_shlib_dir (which is always the build tree path) before the potentially-system llvm_libs_dir. https://reviews.llvm.org/D26115 Files: test/lit.cfg Index: test/lit.cfg =================================================================== --- test/lit.cfg +++ test/lit.cfg @@ -102,10 +102,15 @@ path = os.path.pathsep.join(( clang_tools_dir, llvm_tools_dir, config.environment['PATH'])) config.environment['PATH'] = path + # in stand-alone builds, llvm_shlib_dir is clang's build tree + # while llvm_libs_dir is installed LLVM (and possibly older clang) + llvm_shlib_dir = getattr(config, 'llvm_shlib_dir', None) + if not llvm_shlib_dir: + lit_config.fatal('No LLVM shlib dir set!') llvm_libs_dir = getattr(config, 'llvm_libs_dir', None) if not llvm_libs_dir: lit_config.fatal('No LLVM libs dir set!') - path = os.path.pathsep.join((llvm_libs_dir, + path = os.path.pathsep.join((llvm_shlib_dir, llvm_libs_dir, config.environment.get('LD_LIBRARY_PATH',''))) config.environment['LD_LIBRARY_PATH'] = path
Index: test/lit.cfg =================================================================== --- test/lit.cfg +++ test/lit.cfg @@ -102,10 +102,15 @@ path = os.path.pathsep.join(( clang_tools_dir, llvm_tools_dir, config.environment['PATH'])) config.environment['PATH'] = path + # in stand-alone builds, llvm_shlib_dir is clang's build tree + # while llvm_libs_dir is installed LLVM (and possibly older clang) + llvm_shlib_dir = getattr(config, 'llvm_shlib_dir', None) + if not llvm_shlib_dir: + lit_config.fatal('No LLVM shlib dir set!') llvm_libs_dir = getattr(config, 'llvm_libs_dir', None) if not llvm_libs_dir: lit_config.fatal('No LLVM libs dir set!') - path = os.path.pathsep.join((llvm_libs_dir, + path = os.path.pathsep.join((llvm_shlib_dir, llvm_libs_dir, config.environment.get('LD_LIBRARY_PATH',''))) config.environment['LD_LIBRARY_PATH'] = path
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits