ro created this revision. ro added a reviewer: rsmith. Herald added a subscriber: fedor.sergeev.
libclang.so fails to link on Solaris: Undefined first referenced symbol in file clang_getCompletionFixIt /var/gcc/llvm/obj/local/tools/clang/tools/libclang/libclang.exports clang_getTokenLocation /var/gcc/llvm/obj/local/tools/clang/tools/libclang/libclang.exports clang_getToken /var/gcc/llvm/obj/local/tools/clang/tools/libclang/libclang.exports clang_getTemplateCursorKind /var/gcc/llvm/obj/local/tools/clang/tools/libclang/libclang.exports clang_getTUResourceUsageName /var/gcc/llvm/obj/local/tools/clang/tools/libclang/libclang.exports clang_getCompletionChunkKind /var/gcc/llvm/obj/local/tools/clang/tools/libclang/libclang.exports clang_getCompletionChunkText /var/gcc/llvm/obj/local/tools/clang/tools/libclang/libclang.exports clang_getSpellingLocation /var/gcc/llvm/obj/local/tools/clang/tools/libclang/libclang.exports clang_getCompletionParent /var/gcc/llvm/obj/local/tools/clang/tools/libclang/libclang.exports clang_getCompletionChunkCompletionString /var/gcc/llvm/obj/local/tools/clang/tools/libclang/libclang.exports clang_getCompletionPriority /var/gcc/llvm/obj/local/tools/clang/tools/libclang/libclang.exports clang_getCompletionNumFixIts /var/gcc/llvm/obj/local/tools/clang/tools/libclang/libclang.exports clang_getTokenExtent /var/gcc/llvm/obj/local/tools/clang/tools/libclang/libclang.exports clang_getCompletionNumAnnotations /var/gcc/llvm/obj/local/tools/clang/tools/libclang/libclang.exports clang_getTokenKind /var/gcc/llvm/obj/local/tools/clang/tools/libclang/libclang.exports ld: fatal: symbol referencing errors collect2: error: ld returned 1 exit status make[2]: *** [tools/clang/tools/libclang/CMakeFiles/libclang.dir/build.make:651: lib/libclang.so.7] Error 1 It turns out that this is caused by https://reviews.llvm.org/D46862: it added a couple of CRs (^M) to some lines. Solaris ld takes them to be part of the symbol names, which of course are missing from the input objects. GNU ld handles this just fine. Fixed by removing the CRs. Bootstrapped on i386-pc-solaris2.11. I guess this is obvious. Repository: rC Clang https://reviews.llvm.org/D48423 Files: tools/libclang/libclang.exports Index: tools/libclang/libclang.exports =================================================================== --- tools/libclang/libclang.exports +++ tools/libclang/libclang.exports @@ -168,14 +168,14 @@ clang_getCompletionAnnotation clang_getCompletionAvailability clang_getCompletionBriefComment -clang_getCompletionChunkCompletionString -clang_getCompletionChunkKind -clang_getCompletionChunkText -clang_getCompletionNumFixIts -clang_getCompletionFixIt -clang_getCompletionNumAnnotations -clang_getCompletionParent -clang_getCompletionPriority +clang_getCompletionChunkCompletionString +clang_getCompletionChunkKind +clang_getCompletionChunkText +clang_getCompletionNumFixIts +clang_getCompletionFixIt +clang_getCompletionNumAnnotations +clang_getCompletionParent +clang_getCompletionPriority clang_getCursor clang_getCursorAvailability clang_getCursorCompletionString @@ -259,13 +259,13 @@ clang_getResultType clang_getSkippedRanges clang_getSpecializedCursorTemplate -clang_getSpellingLocation -clang_getTUResourceUsageName -clang_getTemplateCursorKind -clang_getToken -clang_getTokenExtent -clang_getTokenKind -clang_getTokenLocation +clang_getSpellingLocation +clang_getTUResourceUsageName +clang_getTemplateCursorKind +clang_getToken +clang_getTokenExtent +clang_getTokenKind +clang_getTokenLocation clang_getTokenSpelling clang_getTranslationUnitCursor clang_getTranslationUnitSpelling
Index: tools/libclang/libclang.exports =================================================================== --- tools/libclang/libclang.exports +++ tools/libclang/libclang.exports @@ -168,14 +168,14 @@ clang_getCompletionAnnotation clang_getCompletionAvailability clang_getCompletionBriefComment -clang_getCompletionChunkCompletionString -clang_getCompletionChunkKind -clang_getCompletionChunkText -clang_getCompletionNumFixIts -clang_getCompletionFixIt -clang_getCompletionNumAnnotations -clang_getCompletionParent -clang_getCompletionPriority +clang_getCompletionChunkCompletionString +clang_getCompletionChunkKind +clang_getCompletionChunkText +clang_getCompletionNumFixIts +clang_getCompletionFixIt +clang_getCompletionNumAnnotations +clang_getCompletionParent +clang_getCompletionPriority clang_getCursor clang_getCursorAvailability clang_getCursorCompletionString @@ -259,13 +259,13 @@ clang_getResultType clang_getSkippedRanges clang_getSpecializedCursorTemplate -clang_getSpellingLocation -clang_getTUResourceUsageName -clang_getTemplateCursorKind -clang_getToken -clang_getTokenExtent -clang_getTokenKind -clang_getTokenLocation +clang_getSpellingLocation +clang_getTUResourceUsageName +clang_getTemplateCursorKind +clang_getToken +clang_getTokenExtent +clang_getTokenKind +clang_getTokenLocation clang_getTokenSpelling clang_getTranslationUnitCursor clang_getTranslationUnitSpelling
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits