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