I'm not the maintainer, so I can't update the PKGBUILD.
Search Criteria
Package Details: codelite 17.0.0-0
Package Actions
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: | http://www.codelite.org/ |
Keywords: | C++ Editor IDE |
Licenses: | GPL |
Conflicts: | codelite-unstable |
Submitter: | None |
Maintainer: | uffe |
Last Packager: | uffe |
Votes: | 174 |
Popularity: | 0.026112 |
First Submitted: | 2008-08-01 09:11 (UTC) |
Last Updated: | 2023-01-23 21:17 (UTC) |
Dependencies (20)
- clang (llvm-rocm-gitAUR, llvm-gitAUR, clang-minimal-gitAUR)
- ctags (ctags-gitAUR)
- hunspell (hunspell-gitAUR)
- libedit
- libssh (libssh-gitAUR)
- lldb (llvm-rocm-gitAUR, llvm-gitAUR)
- mariadb-libs (mariadb-libs-gitAUR, libmysqlclientAUR, libmysqlclient81AUR, libmysqlclient80AUR, mariadb-lts-libs)
- ncurses (ncurses-gitAUR)
- uchardet (uchardet-gitAUR)
- webkit2gtk (webkit2gtk-imgpasteAUR)
- wxwidgets-gtk3 (wxwidgets-gtk3-gitAUR, wxwidgets-gtk3-lightAUR)
- clang (llvm-rocm-gitAUR, llvm-gitAUR, clang-minimal-gitAUR) (make)
- cmake (cmake-gitAUR) (make)
- ninja (ninja-kitwareAUR, ninja-memAUR, ninja-fuchsia-gitAUR, ninja-gitAUR, ninja-jobserverAUR) (make)
- pkgconfig (pkgconf-gitAUR, pkg-config-gitAUR, pkgconf) (make)
- clang (llvm-rocm-gitAUR, llvm-gitAUR, clang-minimal-gitAUR) (optional) – compiler
- gcc (gccrs-gitAUR, gcc11AUR, gcc-gitAUR, gcc-snapshotAUR) (optional) – compiler
- gdb (gdb-gitAUR, gdb-debug-gitAUR) (optional) – debugger
- graphviz (optional) – callgraph visualization
- valgrind (valgrind-gitAUR) (optional) – debugger
Required by (3)
- unreal-engine (optional)
- unreal-engine-4 (optional)
- unreal-engine-git (optional)
Sources (5)
Latest Comments
« First ‹ Previous 1 2 3 4 5 6 7 8 9 .. 16 Next › Last »
hpmachining commented on 2019-04-04 15:24 (UTC)
jazztickets commented on 2019-04-04 15:22 (UTC)
Ah, got it. Could you update the PKGBUILD to reflect those changes? It seems to work fine for me.
hpmachining commented on 2019-04-04 14:44 (UTC)
@jazztickets see my previous comments. The patches I posted should fix that error.
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.
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.