Package Details: codelite 18.1.0-2

Git Clone URL: https://aur.archlinux.org/codelite.git (read-only, click to copy)
Package Base: codelite
Description: Cross platform IDE for C, C++, Rust, Python, PHP and Node.js written in C++
Upstream URL: https://codelite.org/
Keywords: C++ Editor IDE
Licenses: GPL-2.0-or-later
Conflicts: codelite-unstable
Provides: codelite
Submitter: None
Maintainer: uffe
Last Packager: uffe
Votes: 175
Popularity: 1.00
First Submitted: 2008-08-01 09:11 (UTC)
Last Updated: 2025-02-17 09:08 (UTC)

Dependencies (20)

Required by (4)

Sources (15)

Pinned Comments

uffe commented on 2016-09-26 11:42 (UTC) (edited on 2020-07-27 18:21 (UTC) by uffe)

ATTENTION: read this before flagging this package out-of-date

This package "codelite" represents the stable release of the codelite project.

I do not consider the "Weekly Builds" from http://downloads.codelite.org/ as stable releases (neither does the codelite project)

Generally speaking - this package will not be updated before the codelite release/download page (https://downloads.codelite.org/) have a new stable release published.

Please respect that - Thanks

PS: to clear up a recent misunderstanding - this does not mean that I won't accept patches that is needed for stable codelite to build against refreshed libraries etc

PS: I have added new "codelite-unstable" package to AUR that follows the weekly/latest builds from the codelite project.

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 9 10 11 .. 18 Next › Last »

hpmachining commented on 2019-01-29 17:17 (UTC)

The issue with mariadb 10.3 has been fixed upstream. Here is a patch for the fix.

mariadb_10_3.patch

diff --git a/sdk/databaselayer/CMakeLists.txt b/sdk/databaselayer/CMakeLists.txt
index b7632bc7d..23907a5ad 100644
--- a/sdk/databaselayer/CMakeLists.txt
+++ b/sdk/databaselayer/CMakeLists.txt
@@ -56,6 +56,18 @@ if ( WITH_MYSQL )
     include_directories(${MYSQLCLIENT_INCLUDE})
     message("-- Adding MySQL include path: ${MYSQLCLIENT_INCLUDE} ")
     FILE(GLOB MYSQL_SRCS "src/dblayer/Mysql*.cpp")
+
+if(UNIX AND NOT APPLE)
+# Recent (2019) versions of debian and Arch have mariadb 10.3 which, it seems, isn't directly compatable with the included dblayer source
+# It has a necessary header file in /usr/include/mariadb/server/ so flag to #include it if it exists
+# See https://github.com/eranif/codelite/issues/2215
+    find_path(MARIADBSERVER_INCLUDE NAMES mysql.h PATH_SUFFIXES mysql/server mariadb/server)
+    if ( NOT ${MARIADBSERVER_INCLUDE} STREQUAL "MARIADBSERVER_INCLUDE-NOTFOUND" )
+        add_definitions( -DMARIADBSERVER_INCLUDE=1 )
+        message( "-- Adding MySQL server include" )
+    endif(NOT ${MARIADBSERVER_INCLUDE} STREQUAL "MARIADBSERVER_INCLUDE-NOTFOUND")
+endif(UNIX AND NOT APPLE)
+
 endif ( WITH_MYSQL )

 # Define the output
diff --git a/sdk/databaselayer/src/dblayer/MysqlPreparedStatementWrapper.cpp b/sdk/databaselayer/src/dblayer/MysqlPreparedStatementWrapper.cpp
index 699df3a53..3cac9b6c6 100644
--- a/sdk/databaselayer/src/dblayer/MysqlPreparedStatementWrapper.cpp
+++ b/sdk/databaselayer/src/dblayer/MysqlPreparedStatementWrapper.cpp
@@ -1,3 +1,9 @@
+#if defined(MARIADBSERVER_INCLUDE)
+// See https://github.com/eranif/codelite/issues/2215
+// (For some reason this needs to come before the other #includes)
+    #include "server/mysql.h"
+#endif
+
 #include "../include/MysqlPreparedStatementWrapper.h"
 #include "../include/MysqlPreparedStatementResultSet.h"
 #include "../include/MysqlDatabaseLayer.h"
diff --git a/sdk/databaselayer/src/dblayer/MysqlResultSetMetaData.cpp b/sdk/databaselayer/src/dblayer/MysqlResultSetMetaData.cpp
index a22963a9a..831708d23 100644
--- a/sdk/databaselayer/src/dblayer/MysqlResultSetMetaData.cpp
+++ b/sdk/databaselayer/src/dblayer/MysqlResultSetMetaData.cpp
@@ -1,5 +1,5 @@
 #include "../include/MysqlResultSetMetaData.h"
-#include "mysql_com.h"
+#include "mysql.h"

 // ctor
 MysqlResultSetMetaData::MysqlResultSetMetaData(MysqlInterface* pInterface, MYSQL_RES* pMetaData)

Here is a patch to update PKGBUILD

PKGBUILD.patch

diff --git a/PKGBUILD b/PKGBUILD
index 86485d9..ca19afb 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -12,7 +12,7 @@

 pkgname=codelite
 pkgver=12.0
-pkgrel=1
+pkgrel=2
 pkgdesc="Cross platform C/C++/PHP and Node.js IDE written in C++"
 arch=('i686' 'x86_64')
 url="http://www.codelite.org/"
@@ -22,7 +22,7 @@ depends=('wxgtk'
           'clang' 'lldb'
           'libedit'
           'libssh'
-          'libmariadbclient'
+          'mariadb-libs'
           'ncurses'
           'xterm' 'curl'
           'python2'
@@ -34,10 +34,15 @@ optdepends=('graphviz: callgraph visualization'
              'valgrind: debugger'
             )

-source=(https://github.com/eranif/${pkgname}/archive/${pkgver//_/-}.tar.gz http://repos.codelite.org/wxCrafterLibs/wxgui.zip)
+source=(
+  "${pkgname}-${pkgver}.tar.gz::https://github.com/eranif/${pkgname}/archive/${pkgver//_/-}.tar.gz"
+  http://repos.codelite.org/wxCrafterLibs/wxgui.zip
+  mariadb_10_3.patch
+)

 md5sums=('674287c16de4744726afd5fd6521ee4f'
-         '20f3428eb831c3ff2539a7228afaa3b4')
+         '20f3428eb831c3ff2539a7228afaa3b4'
+         'd6da3b478ec7577abd05d8183d20a705')


 #if [[ "$CARCH" == 'i686' ]]; then
@@ -52,6 +57,11 @@ noextract=('wxgui.zip')

 pkg_name_ver="${pkgname}-${pkgver//_/-}"

+prepare() {
+  cd "${srcdir}/${pkg_name_ver}"
+  patch -p1 -i "${srcdir}"/mariadb_10_3.patch
+}
+
 # 20151027: ArchLinux clang/llvm-3.7: CommandLine Error: Option 'aarch64-reserve-x18' registered more than once
 # 20151027: -DENABLE_LLDB=0: ArchLinux clang/llvm-3.7: CommandLine Error: Option 'aarch64-reserve-x18' registered more than once
 # 20151027: sudo chmod 000 /usr/lib/codelite/LLDBDebugger.so

hpmachining commented on 2019-01-19 15:58 (UTC) (edited on 2019-01-19 21:17 (UTC) by hpmachining)

It looks like the change from libmariadbclient 10.1.37 to mariadb-libs 10.3.12 has broken this build. I can provide the full build log if needed, but here is the error:

build/codelite/src/codelite-12.0/sdk/databaselayer/src/dblayer/MysqlPreparedStatementWrapper.cpp:97:25: error: ‘MYSQL_STMT’ {aka 
‘struct st_mysql_stmt’} has no member named ‘affected_rows’; did you mean ‘prefetch_rows’?
   return (m_pStatement->affected_rows);
                         ^~~~~~~~~~~~~
                         prefetch_rows
make[2]: *** [sdk/databaselayer/CMakeFiles/databaselayersqlite.dir/build.make:284: sdk/databaselayer/CMakeFiles/databaselayersqlit
e.dir/src/dblayer/MysqlPreparedStatementWrapper.cpp.o] Error 1

Changing affected_rows to prefetch_rows does enable the build to complete, but I don't know what affected_rows and prefetch_rows are, so I don't know if that is an appropriate fix.

UPDATE

After some digging, I found that mariadb-libs 10.3.12 (the latest version) has 2 mysql.h files. One in /usr/include/mysql and one in /usr/include/mysql/server. There was only 1 in version 10.1.37 (previous version in Arch). It looks like the one in the server directory is the one that was used in libmariadbclient 10.1.37.

If I change line 15 in sdk/databaselayer/include/wx/dblayer/include/MysqlPreparedStatementWrapper.h from #include "mysql.h" to #include "server/mysql.h" the package will build. There are 7 other files that have #include "mysql.h". They are not causing the build to fail, but it does build if I change them all. So as a possible fix I added the following to the PKGBUILD.

prepare() {
cd "${srcdir}/${pkg_name_ver}"
sed -i 's%#include "mysql.h"%#include "server/mysql.h"%' $(grep -rl '#include "mysql.h"')
}

I don't know if this is the correct fix. It seems to work but I don't know how to test it properly.

mimagind commented on 2018-08-18 19:50 (UTC)

This fails to build with MySQL support enabled if libmysqlclient>=8 is installed.

sankasan commented on 2018-02-04 09:45 (UTC)

Is there a way to get an older clang version compatible as well?

Clang 5.0 doesn't cut it for all projects and codelite (and codelite-bin) now depend on it. It would be useful if clang35 (and potentially clang39) would be accepted as valid alternatives.

guzzard commented on 2017-10-27 21:22 (UTC)

I'm unable to find wxCrafter anywhere? Seems like the plugin is not working?

jmscaramal commented on 2017-08-10 17:08 (UTC)

Rebuilding it, as mentioned by schnedan, solves the problem with wx****lib errors.

schnedan commented on 2017-08-02 20:01 (UTC)

After suffering the same problems (wx stuff lib errors) and the same with clang, I just rebuild codelite, compiled without errors, installed the package and the good news: it works!

uffe commented on 2017-06-12 11:49 (UTC)

NOTE: recent updates of wxgtk2 and wxgtk-common results in the following error when starting codelite: undefined symbol: _ZTV15wxWebViewWebKit undefined symbol: vtable for wxWebViewWebKit libwx_gtk2u_webview-3.0.so: undefined reference to `vtable for wxWebViewWebKit' [2017-06-12 10:19] [ALPM] upgraded wxgtk-common (3.0.3.1-4 -> 3.0.3.1-5) [2017-06-12 10:19] [ALPM] upgraded wxgtk2 (3.0.3.1-4 -> 3.0.3.1-5) Downgrading to these version is a temporary workaround: wxgtk2-3.0.3.1-4-x86_64.pkg.tar.xz wxgtk-common-3.0.3.1-4-x86_64.pkg.tar.xz I've filed a bug report on wxgtk2 here: https://bugs.archlinux.org/task/54419

zza commented on 2016-12-16 06:51 (UTC)

use symlink to old library temporarily: sudo ln -s /usr/lib/libclang.so.3.9 /usr/lib/libclang.so.3.8