Re: clang_parseTransitionUnit2 gives error
Sven Brauch <mail-ITmcY+a7/[email protected]> Fri, 15 Apr 2022 01:02:54 +0200
| Newsgroups | gmane.comp.kde.devel.kdevelop |
|---|---|
| Message-ID | <[email protected]> |
Hi,
which solution did you try? The actual answer (not the comments) sounds
plausible, we have heard of similar issues before, but that might not be
easy to do on your system.
Maybe you can get further info with LD_DEBUG=libs set and checking if
indeed two different versions of libclang are loaded along the road?
Greetings,
Sven
On 4/14/22 23:26, Enes Albay wrote:
>
> I guess I found the reason for the error. Clang works if I comment out
> the line "QApplication app(argc, argv);" Otherwise It gives error like this:
>
> $ ./helloworld
> 4
> Unable to parse translation unit. Quitting.
>
> As far as I understand this bug is related to this one
> https://stackoverflow.com/questions/17953156/cannot-use-libclang-with-qt
> <https://stackoverflow.com/questions/17953156/cannot-use-libclang-with-qt>
>
> But the solution suggested in stackoverflow does not work for me. Do you
> have any idea ?
>
> /******************MAIN **************************/
> #include <QApplication>
> #include "clang-c/Index.h"
>
> #include <iostream>
> using namespace std;
>
> int main (int argc, char *argv[])
> {
> QApplication app(argc, argv);
> CXIndex index = clang_createIndex(0, 0);
> CXTranslationUnit unit = nullptr;
>
> CXErrorCode code = clang_parseTranslationUnit2(
> index,
> "/media/enes/MyFiles/programming/cpp/cmakeExamples/ex1/main.cpp",
> nullptr, 0,
> nullptr, 0,
> CXTranslationUnit_None, &unit);
>
> cerr << code << endl;
> if (code != CXError_Success) {
> cerr << "Unable to parse translation unit. Quitting." << endl;
> exit(-1);
> }
>
> return 0;
> }
>
>
> # CMakeLists.txt
>
> cmake_minimum_required(VERSION 3.0)
>
> project (helloworld)
>
> set(LLVM_ROOT /usr/lib/llvm-13)
> set(QT_MIN_VERSION "5.15.2")
>
> # Find Qt modules
> find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
> Core # QCommandLineParser, QStringLiteral
> Widgets # QApplication
> )
>
> find_program(LLVM_CONFIG_EXECUTABLE NAMES llvm-config HINTS
> ${LLVM_ROOT}/bin DOC "llvm-config executable" NO_DEFAULT_PATH)
> message(${LLVM_CONFIG_EXECUTABLE})
> set(Clang_DIR /usr/lib/llvm-13/cmake)
>
> # Find CMake file for Clang
> find_package(Clang REQUIRED)
>
> execute_process(
> COMMAND ${LLVM_CONFIG_EXECUTABLE} --includedir
> OUTPUT_VARIABLE LLVM_INCLUDE_DIRS
> OUTPUT_STRIP_TRAILING_WHITESPACE
> )
>
> message(${LLVM_INCLUDE_DIRS})
>
> execute_process(
> COMMAND ${LLVM_CONFIG_EXECUTABLE} --libdir
> OUTPUT_VARIABLE LLVM_LIBRARY_DIRS
> OUTPUT_STRIP_TRAILING_WHITESPACE
> )
>
> include_directories(${LLVM_INCLUDE_DIRS})
>
> set(helloworld_SRCS main.cpp)
> add_executable(helloworld ${helloworld_SRCS})
> target_link_libraries(helloworld
> Qt5::Widgets
> /usr/lib/llvm-13/lib/libclang.so
> /usr/lib/llvm-13/lib/libclang-cpp.so.13
> )
> ~
>
>
>
> On Tue, Apr 12, 2022 at 6:37 PM Milian Wolff <[email protected]
> <mailto:[email protected]>> wrote:
>
> On Tuesday, April 12, 2022 5:33:38 PM CEST Enes Albay wrote:
> > I found something. After removing clang and llvm from my system I
> get the
> > following error which is the same as before removing clang.
> >
> > I think the actual problem is clang_parseTranslationUnit2 can not
> call
> > clang even before removing clang
> >
> > Is there a way to verify such a situation?
>
> We use libclang directly, not clang. Try to ldd on the
> kdevclangsupport or use
> gdb and `info shared` to see where it loads that from. You didn't
> remove all
> of that yet apparently.
>
> --
> Milian Wolff
> http://milianw.de <http://milianw.de>
>
>
>
>
> --
> Enes Albay
OpenPGP_0xA4AAD0019BE03F15.asc
(application/pgp-keys, 3.1 KB)
-----BEGIN PGP PUBLIC KEY BLOCK----- xsFNBGBuHysBEADM7qNy2FAW5RO9UTDDdyn8fNuq5cRgLT3FJspKZOKpDbqKtuyr dmXIDuWbepntsGkbsVI2M9tczn1/4qo0Vp42CnElAftVGB0tTQFb9AlZ9sO9xoPh GbmOFhI1XGneb8KrYpYW2H8/U28d+N+IhcOenqEq9JxVA/DZEepKS2d/owioiCDI al7t6yMU7kdCCNVetIfgcPtwAbUK3yLZpYYdsCxXdrpFt+dzS5SG97s3TJhlRIDv 6BRy+QIkpmB+IKAnTJ9vrOZp3qPwdDDc7BfgRMCBvH2DCdNTdZexB1XpQY6v+ZmH /KklBW2eR/6quZe70dG0jLy3jWPY2YbFSo7wvaXI1wnF4fYJoCs9f3tMqWbNlusk CIjQy1jUl7EQ0cDKQ5mvWTbavcPBFJm98UcW6zNGH9cmmwdL7N3oJ6OPrW3DoiDe RCxCNClJD6tKdwKHEOnoaIbgDUhsdoNF9Q+karLYXskKQ/0GrwP0sMxu4+m2Hmv9 V+aHC+MO39zS7BWI25O6bSE/r+dovsOf9JPEO0ifY8WIfyTRULdW+5cF6BPzxqoW VT+/iZ19WvC0t03e/nS8EyE296buEDlYZOMsVh5SqpmAEooyCWqMx59UlBAIjDbh BVLECQe4nzuYH8V/IAGDCy1EUdA8O2lwNV4/2ga/uYCozB6V+KEBrCwa8wARAQAB zSBTdmVuIEJyYXVjaCA8bWFpbEBzdmVuYnJhdWNoLmRlPsLBlAQTAQgAPhYhBEkF JEDqjr+0OCqZ86Sq0AGb4D8VBQJgbh8rAhsDBQkSzAMABQsJCAcCBhUKCQgLAgQW AgMBAh4BAheAAAoJEKSq0AGb4D8VnkwP/144lepzKELdFiXLHb2KQ013ViR3RFQc USJYR6EuSdCnbHOhXmtj2BNvo/j/IL9HajO6P/13zHZnFvQtS6JPYQVHQqalvbBd 959BaZgeoBh81JkhKnuxRLfnvK6LGEuu3xjrgbuSGlN23ZfCoVEuXrOfaDHaZl/M /RUtJOID9iLhBNFhxg+NJATb9qx/sBDdM31sgQfQr8XWtbJXwhAA9HF03ZHNIw1X Y0gZb2G068/O46wWNdPyijAPr54ZIn6yTqIR/TDX1yA2zowlsRLLoGLOZlqXm0Cx u91/RMz6gVhsxKTLGosw9I4gJfw2lvfGndWZQv7xoHgSZdJTn4+HUYD6UckNbrO0 QEHNfNUeayuNbAi2yYq7HJMFuPSQy2TLkjQSsURQjCck4M7QiShxLe6bdx/z43xM hr0Ha2GMqiHiPt5aJ2mPk96yy4Ez6cxXCmGxyiU7CKF6xq48V6m73vrcMmKai/jI as/26hpnZYXD0trUdXBmaJOnT+jvMMO/+lhya/RhN5KEqJKuRA7F7JRyat8xfY2U 8igpKnMLBWFEdk73jM3R8e3U6pE09KmgvtHQ+V0arhEx3WmGW+FIc2v+kQabZUN+ whopZyi8D72sPI4qELxA1dmPwPwO0L8d1jFLbl1b5sI4PL5Lakrpbh8wrAbfEtfx aAFxILOV625kzsFNBGBuHysBEACchDn5Zav9DEnvlESmr83L4Zou7jS/wsxuoB6g NIMuxB2Kt+lDS4hVa0qgCnvwcRqMou2YkfK+yqe2bffSfgyl2qLV/9rn+OWImEc/ Yz3aEj6JyZMvxGVT1TP23j2qt50ICaLV5dZ6JmBgCl1LDgYQ3Am0pxbyLFVVPXWC WrZfMAwsbpDahP5ZQ4RElYCbvFuLpzWV/PC60ZsMFMapL3mMYchhz2GdTJE6F8Re OHTVAKaPVv06tb3lZxoSv1bxHBrUZjIoAO6Cql1CmhqVpur9dSBT92UEvsw1OUQH sjK2CGmijDLvnzfCWgXLFruwExzPe/FHGG2c8JDGQkxhd0VOPHtHGF1cylP3QtIK DlDPnsNgk22JHx+HAAYCnH40DtX9xOHi6yWDx8fpSII+uMNOnxotIf94wvHJD1OM ZCVjxhFcNKqQ0BajB3wKd+4/c6WDYIrD5bpxV4J+4rFaq3Zx2LDbideNDf14QbLv f/T9cAEVF9fm2wVgv8QDBsJ6JbGfQlg5gm1bcyDCwx3Mh0372V3UcdAKURL6g1Xs 8F5Dx5g3vq6jVlrTDyNgobigfk1gelhOM7JQ8NgWT3pCJ1o/2gx+B/ysyUY6PR9F 6Wzqj8LSK9CVKZ1eH4pgbccS+PGRTw285D6Q/Bq7cB69lH9MYxbegRMMKsfQjxeQ tkDZwQARAQABwsF8BBgBCAAmFiEESQUkQOqOv7Q4KpnzpKrQAZvgPxUFAmBuHysC GwwFCRLMAwAACgkQpKrQAZvgPxW/6g/9F22E8I8OCnUNd8gdfNIpd7FgwrYC3EE6 GWUN6RcCw5A344gkk1eC6BMdCR1Pf09Rse5197sY1ue2KMgNFrYVunxRBDee9+5A o7MH3n8z3Y4bcMAmbjrIEkvopFpd2807MELYpGqai76d+QSf5ANEeX+cWeT+P/yZ YaMOJPQgUmqAS9pr2IRgVGlzf0SIXNzQ/tCDYh2btLn7wsmNpu8GjsPGzOll1ic2 brXArqCQOO20I5yxQGCR5kGFOk3q5a3zKq3+SYTNZUt3FDN1VyLgWc24GrKtYgZo OjcYGnA/ckjnX0bompBoArL+Ofe9PQHUp0Dd9t044spk86FFUFE6nN91SY+yZDTH 9MNe4bcfwd47jkd2XjL2gNFOSGKWeCyjrhk3aEfV2LjbvBBKpatSCsGe/x79KJwk kogSHt3HxjEMb59LnPMjr4DO3zP75Nn8INOFCu7b1e2Pp+HN/nTAm9t9FuGMckuC hj1AuTEjijrCt7I4Nx66unplP6vRN9vbOWphRtnGLt64rsFythoabS94/EHt+XKv ZbVuuDj4ciQQOrcTpo7pSNXW4wDWPwKYFokh67+xXJQ6s8dyndFTuPMZzz9fBP8f 9JITrYbUaudsxogvB8lbDGoHCz4wnWWGjSzxrnO7MLcDDomPtWjZAKpXlpEMGhc0 Ni8Eoj02RLk= =64uj -----END PGP PUBLIC KEY BLOCK-----
OpenPGP_signature
(application/pgp-signature, 840 B) - not displayed