Discussion about CodeLite development process and patches
tankist02
CodeLite Veteran
Posts: 56 Joined: Thu Sep 22, 2011 11:29 pm
Genuine User: Yes
IDE Question: c++
Contact:
Post
by tankist02 » Wed Jul 16, 2014 3:31 am
Trying to build latest CL sources from git on RedHat 6.5 using dev tools 2.1 (gcc 4.8.2). Followed the standard procedure to build Release version and got the following error:
Code: Select all
Linking CXX executable ../../bin/codelite-lldb
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `std::__throw_bad_function_call()@GLIBCXX_3.4.14'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `std::__detail::_List_node_base::_M_unhook()@GLIBCXX_3.4.15'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `std::__detail::_List_node_base::swap(std::__detail::_List_node_base&, std::__detail::_List_node_base&)@GLIBCXX_3.4.15'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `std::__detail::_List_node_base::_M_transfer(std::__detail::_List_node_base*, std::__detail::_List_node_base*)@GLIBCXX_3.4.15'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `std::_Hash_bytes(void const*, unsigned long, unsigned long)@CXXABI_1.3.5'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.15'
collect2: error: ld returned 1 exit status
make[2]: *** [bin/codelite-lldb] Error 1
make[1]: *** [LLDBDebugger/codelite-lldb/CMakeFiles/codelite-lldb.dir/all] Error 2
make: *** [all] Error 2
eranif
CodeLite Plugin
Posts: 6375 Joined: Wed Feb 06, 2008 9:29 pm
Genuine User: Yes
IDE Question: C++
Contact:
Post
by eranif » Wed Jul 16, 2014 9:57 am
You have 2 options here:
- Build lldb yourself and use that binary instead of the pre-built one
- Disable LLDB when building codelite, by adding this line:
To the CMake line
Eran
tankist02
CodeLite Veteran
Posts: 56 Joined: Thu Sep 22, 2011 11:29 pm
Genuine User: Yes
IDE Question: c++
Contact:
Post
by tankist02 » Thu Jul 17, 2014 12:40 am
Hi Eran,
Thanks a lot, the second option worked!
Do I need lldb if I don't use clang/llvm (yet)? For now it is gcc only.
eranif
CodeLite Plugin
Posts: 6375 Joined: Wed Feb 06, 2008 9:29 pm
Genuine User: Yes
IDE Question: C++
Contact:
Post
by eranif » Thu Jul 17, 2014 9:21 am
tankist02 wrote: Do I need lldb if I don't use clang/llvm (yet)?
When under Linux, whatever lldb can do, gdb does better (at least in codelite terms)
So, no. You don't need lldb (even when using clang, gdb can debug it pretty well)
Eran
tankist02
CodeLite Veteran
Posts: 56 Joined: Thu Sep 22, 2011 11:29 pm
Genuine User: Yes
IDE Question: c++
Contact:
Post
by tankist02 » Thu Nov 06, 2014 1:16 am
Tried to build the trunk (as of today) and got linking errors when building codelite-lldb:
Code: Select all
...
Linking CXX executable ../../bin/codelite-lldb
[ 60%] Building CXX object DatabaseExplorer/CMakeFiles/DatabaseExplorer.dir/GUI.cpp.o
[ 60%] Building CXX object SFTP/CMakeFiles/SFTP.dir/UI.cpp.o
[ 60%] Building CXX object SFTP/CMakeFiles/SFTP.dir/sftp_item_comparator.cpp.o
Scanning dependencies of target PHPUnitTests
[ 60%] Building CXX object codelitephp/CMakeFiles/PHPUnitTests.dir/PHPParserUnitTests/main.cpp.o
[ 60%] Building CXX object LLDBDebugger/CMakeFiles/LLDBDebugger.dir/LLDBSettingDialog.cpp.o
[ 60%] Building CXX object Subversion2/CMakeFiles/Subversion.dir/svn_props_dialog.cpp.o
/opt/rh/devtoolset-2/root/usr/libexec/gcc/x86_64-redhat-linux/4.8.2/ld: warning: libpython2.7.so.1.0, needed by ../../../sdk/lldb/unix/lib/x86_64/liblldb.so, not found (try using -rpath or -rpath-link)
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyThreadState_GetDict'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyByteArray_AsString'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyLong_FromLong'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `std::__throw_bad_function_call()@GLIBCXX_3.4.14'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyExc_NotImplementedError'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyByteArray_Type'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyType_IsSubtype'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyErr_Fetch'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyExc_RuntimeError'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyErr_GivenExceptionMatches'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyEval_RestoreThread'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `std::__detail::_List_node_base::_M_unhook()@GLIBCXX_3.4.15'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyDict_Size'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyString_Size'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyExc_MemoryError'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyErr_Print'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyString_FromStringAndSize'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `_Py_ZeroStruct'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyDict_Keys'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyByteArray_Size'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `_PyThreadState_Current'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyInstance_Type'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `_PyWeakref_CallableProxyType'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyList_SetItem'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyErr_Clear'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyCallable_Check'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `std::__detail::_List_node_base::swap(std::__detail::_List_node_base&, std::__detail::_List_node_base&)@GLIBCXX_3.4.15'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyCapsule_New'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyLong_AsUnsignedLongLong'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyInt_AsLong'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyErr_ExceptionMatches'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyExc_TypeError'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyLong_AsUnsignedLong'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyRun_SimpleStringFlags'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyEval_InitThreads'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyType_Ready'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyFloat_FromDouble'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyObject_IsTrue'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyObject_Print'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `_PyWeakref_ProxyType'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `_PyObject_GetDictPtr'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyObject_Size'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyObject_Malloc'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyLong_AsLongLong'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyTuple_SetItem'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyInstance_NewRaw'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyObject_Call'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyEval_ThreadsInitialized'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyString_AsString'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyObject_GetAttr'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyExc_SyntaxError'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyList_Size'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyCFunction_Type'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyExc_SystemExit'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyDict_GetItem'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyTuple_New'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyImport_AddModule'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyObject_CallFunctionObjArgs'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyString_FromFormat'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `std::__detail::_List_node_base::_M_transfer(std::__detail::_List_node_base*, std::__detail::_List_node_base*)@GLIBCXX_3.4.15'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `std::_Hash_bytes(void const*, unsigned long, unsigned long)@CXXABI_1.3.5'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyObject_GenericGetAttr'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyExc_AttributeError'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyParser_SimpleParseStringFlags'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyErr_Occurred'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyString_ConcatAndDel'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyDict_SetItem'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyExc_ValueError'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyUnicodeUCS4_AsUTF8String'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyDict_SetItemString'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyImport_ImportModule'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyExc_OverflowError'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyClass_Type'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyModule_GetDict'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyString_FromString'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.15'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyArg_Parse'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyFile_AsFile'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyTuple_GetSlice'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyObject_CallFunction'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyString_AsStringAndSize'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyGILState_Ensure'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyErr_SetString'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyObject_CallObject'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyList_GetItem'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `Py_InitModule4_64'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyList_Append'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyEval_EvalCode'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyExc_IOError'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyArg_ParseTuple'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyObject_Init'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyString_Format'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyObject_Repr'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyLong_FromUnsignedLongLong'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `_PyInstance_Lookup'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyDict_Next'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `_PyObject_New'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyCapsule_GetPointer'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyInt_FromLong'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `_Py_NoneStruct'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyDict_New'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyRun_StringFlags'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `Py_InitializeEx'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyGILState_Release'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyModule_AddObject'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `_Py_NotImplementedStruct'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyExc_SystemError'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `Py_BuildValue'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyFile_FromFile'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyObject_Free'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyBool_FromLong'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyLong_AsLong'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `_Py_TrueStruct'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyFloat_Type'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyExc_IndexError'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyObject_AsFileDescriptor'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyFile_Type'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyFloat_AsDouble'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyLong_FromLongLong'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyEval_SaveThread'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyInt_FromSize_t'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyFunction_Type'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyArg_UnpackTuple'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyNode_Compile'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyLong_FromVoidPtr'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyCapsule_Import'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyObject_CallMethod'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyObject_GetAttrString'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyList_New'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyObject_Str'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyExc_ZeroDivisionError'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyLong_FromUnsignedLong'
../../../sdk/lldb/unix/lib/x86_64/liblldb.so: undefined reference to `PyTuple_Size'
collect2: error: ld returned 1 exit status
make[2]: *** [bin/codelite-lldb] Error 1
make[1]: *** [LLDBDebugger/codelite-lldb/CMakeFiles/codelite-lldb.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
I tried to follow the advice above:
Code: Select all
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -ENABLE_LLDB=0 ..
but got the same error.
tankist02
CodeLite Veteran
Posts: 56 Joined: Thu Sep 22, 2011 11:29 pm
Genuine User: Yes
IDE Question: c++
Contact:
Post
by tankist02 » Thu Nov 06, 2014 1:25 am
make complains that libpython27 is not found, but python27-devel is installed:
Code: Select all
# yum install python27-python-devel
Loaded plugins: changelog, refresh-packagekit, rhnplugin, versionlock
This system is receiving updates from RHN Classic or RHN Satellite.
Setting up Install Process
Package python27-python-devel-2.7.5-10.el6.x86_64 already installed and latest version
Nothing to do
This is RedHat 6.5 with Devtools 2.1 (gcc 4.8.2).
tankist02
CodeLite Veteran
Posts: 56 Joined: Thu Sep 22, 2011 11:29 pm
Genuine User: Yes
IDE Question: c++
Contact:
Post
by tankist02 » Thu Nov 06, 2014 1:32 am
Solved by switching to use python27:
rerunning cmake and rebuilding.
As for ENABLE_LLDB=0 I mistyped it and that's why it was ignored.
Sorry for the noise.