<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/54070>54070</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            no analyzer checkers or packages are associated with 'example.MainCallChecker'  when I use libMainCallChecker.so
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          for-just-we
      </td>
    </tr>
</table>

<pre>
    I build MainCallChecker in [SampleAnalyzer](https://github.com/llvm/llvm-project/tree/main/clang/lib/Analysis/plugins/SampleAnalyzer) out-of-tree with CMake,  when I use compiled checker plugin to test test_files. clang report error:

```
error: unable to load plugin 'libMainCallChecker.so': 'libMainCallChecker.so: undefined symbol: _ZN4llvm18format_object_base4homeEv'
error: no analyzer checkers or packages are associated with 'example.MainCallChecker'
note: use -analyzer-disable-all-checks to disable all static analyzer checkers
```

The content in my Cmakelists.txt is

```
set(LLVM_LINK_COMPONENTS
        Support
        )

set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/SampleAnalyzerPlugin.exports)

add_library(MainCallChecker MODULE
        MainCallChecker.cpp
        )

#set_target_properties(MainCallChecker PROPERTIES
#        CXX_VISIBILITY_PRESET hidden
#        )

target_include_directories(MainCallChecker
        INTERFACE
        ${CMAKE_CURRENT_SOURCE_DIR}
        )

target_link_libraries(MainCallChecker
        PRIVATE
        clangAnalysis
        clangAST
        clangStaticAnalyzerCore
        clangStaticAnalyzerFrontend
        )

install(TARGETS MainCallChecker DESTINATION lib)
```

How could I fix this error?
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJytVduOozgQ_RryYiWiyY088JAmZBdNbgK61TMvyEAleNrByDaTznz9Fk7SmqSzPbPSImRD2a5z6rhczkRx9EKSNYwXZElZ5VPO_RLyV5CEVcQaPsZ0X3OYVpQff4K0hjPLcUuta2X1p5Yzx3fHdNlkvVzs8YfzH5euW0vxHXKNv1oCYLdHBOxyTqtdO4ll2BrXiin8rHmzY1X7dYPqTIhodFdsu60nckBE4i_pKzr1CTmUUJGQNAoIkqgZh4Lk5yBOLokWRIPSpkm3OEP1iKFBJNRCagJSCtmGZM8s-9KO7PNrfi9TSFPRjEPrkwtaXCAsZ4wB3YjYUwLt7aJ_HTYOC9iyCmmr4z4TvLWl31aDVsUHdyvknupUZK2YaUYVDEqxh-BH6_maWSUIPWt2UUARgSrQ_JXuQBEqgVClRM6oRjgjJLqBN6N374beO0AlNBiiKHH3gtAtmGqF6OKCrkFTrSZnK0ErUZpqln_kdFffU5uU7S5WGirdZuD-SPw9bjRnSquefkOj-mSPFGC6uYvF8zJdhKsvqb9ebtarYJXEp3FyfuKmbrf92ohp9qvrX3wFL5t1lASzNP66fFwv0nm4CHD6wBo_-svplyD1n6IIUdJ4_RT5QToLI2s8-5DHG5MpPXhrsdUNHC2KFDNEUnlE2NvDuFzPnhbBNd_bZMrr-tOALKePMaWayh12eDprkJqBugO3idabIErCIH5fenHqv7ykz2EcPoaLMPmabqIgDhJSsqKA6sPkGwZnaFblvCkgLZjElBbyLofrUMJVEkTzqR_cRvi7PfhMkDMdzqrXs_R_wGQThc_T5IaHqSXvlezOUJzcscbmeFyywxcSfjtpLs3ZKD6NC2uoRvoYSTKN_gqS-ENtnwVxEq6mSbheEVOGJ3eP06n9WxzwSDZ4RYRky96ILpm6FMx5p_D6xaQ_oR3NNAfv_y9BVwX-bg3tNJJ7__lSYko17XbPhwN7bHdKz55sqdt3tq7TnwwH7sgd5vAwyvPtaDScuO62w2kGXHl4K1qOU8GBGBf4jddih3mO7bTv0B7YD864N4QBjIbOyHnoF6OJ61gDG_AG5L2WR0_IXUd6hlLW7BQOnkrc-yBqxHYVgIFD_7TRpZAe3gbd743S3QN0DLxn6P8DVq5sTA">