Package Details: codelite 13.0-1

Git Clone URL: https://aur.archlinux.org/codelite.git (read-only, click to copy)
Package Base: codelite
Description: Cross platform C/C++/PHP and Node.js IDE written in C++
Upstream URL: http://www.codelite.org/
Keywords: C++ Editor IDE
Licenses: GPL
Submitter: None
Maintainer: uffe
Last Packager: uffe
Votes: 161
Popularity: 0.71
First Submitted: 2008-08-01 09:11
Last Updated: 2019-10-09 22:17

Pinned Comments

uffe commented on 2019-10-09 22:24

Two months have gone - no official ArchLinux or upstream pango/harfbuzz have come up... I've made a temporary hack/patch that again will enable end-users to compile this codelite AUR package without hazzle.

The pkgrel will NOT be bumped - it is a deliberate choise. My change will bring no value to those of you who have managed to build the current release of codelite - and those that have failed to build codelite during the last two months will not be notified by the pkgrel bump anyway....

Please speak up if you think this is wrong :-)

uffe commented on 2016-09-26 11:42

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

A number of you have recently flagged 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)

Also note: currently codelite weekly builds are only published as binary packages - this package builds from source - you should take a look at the codelite-bin AUR package)

Generally speaking - I will not update this package before the codelite github release page (https://github.com/eranif/codelite/releases) have the release published.

Please respect that - Thanks

You can always do you own "codelite-weekly" AUR package if you like...

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

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 ... Next › Last »

hpmachining commented on 2019-04-04 14:44

@jazztickets see my previous comments. The patches I posted should fix that error.

hpmachining commented on 2019-01-29 17:17

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

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

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

sankasan commented on 2018-02-04 09:45

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

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

jmscaramal commented on 2017-08-10 17:08

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

schnedan commented on 2017-08-02 20:01

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

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

use symlink to old library temporarily:

sudo ln -s /usr/lib/libclang.so.3.9 /usr/lib/libclang.so.3.8