Re: clang_parseTransitionUnit2 gives error
Sven Brauch <mail-ITmcY+a7/[email protected]> Sun, 17 Apr 2022 11:59:49 +0200
| Newsgroups | gmane.comp.kde.devel.kdevelop |
|---|---|
| Message-ID | <[email protected]> |
Hi, sorry, I don't see anything going wrong here -- I anticipated maybe it would load 2 different versions of libclang but that doesn't seem to be the case :( Greetings! On 4/17/22 09:34, Enes Albay wrote: > > > > Sorry for the late reply. I tried LIBGL_ALWAYS_INDIRECT=1 ./helloworld > from stackoverflow. > > > I attached LD_DEBUG=libs output with Qt and without Qt to this email. > > > > > > On Fri, Apr 15, 2022 at 2:02 AM Sven Brauch <[email protected] > <mailto:[email protected]>> wrote: > > 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> > > > > <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]> > > <mailto:[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> <http://milianw.de > <http://milianw.de>> > > > > > > > > > > -- > > Enes Albay > > > > -- > 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