Package Details: python-mariadb-connector 1.1.10-4

Git Clone URL: https://aur.archlinux.org/python-mariadb-connector.git (read-only, click to copy)
Package Base: python-mariadb-connector
Description: A Python DB API 2.0 compliant API for access to MariaDB and MySQL databases
Upstream URL: https://mariadb.com/kb/en/mariadb-connector-python/
Licenses: LGPL
Submitter: kiito
Maintainer: kiito
Last Packager: kiito
Votes: 7
Popularity: 0.010415
First Submitted: 2020-05-10 13:26 (UTC)
Last Updated: 2024-10-31 19:46 (UTC)

Latest Comments

phoepsilonix commented on 2024-10-28 02:52 (UTC)

This error is caused by stricter pointer type checking in GCC 14 and later versions. To work around this, you can try the following method: Suppress the compiler warning using CFLAGS:

CFLAGS+=" -Wno-error=incompatible-pointer-types" makepkg

Another workaround is to specify clang as the CC (C Compiler) instead of gcc. The current version of clang is likely to not treat this as an error.

sudo pacman -S clang
CC=clang
makepkg

I believe that with either of the above methods, it should be possible to build without applying a patch.

Additionally, it would likely be better to move the patch section of this PKGBUILD to the prepare function.

kiito commented on 2024-06-27 22:47 (UTC)

Alright, that was more messy than I thought, but I think I figured out how to keep git from messing up the line endings there

kiito commented on 2024-06-27 21:59 (UTC) (edited on 2024-06-27 22:16 (UTC) by kiito)

Hmm, I was wondering why diff emitted a patch with CRLF line endings... And I guess I overlooked that git ends up replacing them, which causes the mismatched checksum :/

edit: Aha, I see the mariadb folks are packaging their stuff with CRLF endings... odd...

alan1world commented on 2024-06-27 16:46 (UTC)

The patch is failing because of line ending differences.

Changing build() to:
patch --binary --forward --strip=1 --input="${srcdir}/gcc14-const.patch"
should be a quick fix (add --binary)

oe1tkt commented on 2024-06-25 23:23 (UTC)

@kiito - gcc14-const.patch ... FAILED ==> ERROR: One or more files did not pass the validity check! The sha512sum of the patch file is corrupt.

kiito commented on 2024-06-25 19:20 (UTC)

Yeah I sort of forgot to look into this. There's an issue upstream (https://jira.mariadb.org/projects/CONPY/issues/CONPY-284) but no response, so I went ahead and added a patch to the package.

Galicarnax commented on 2024-06-25 13:21 (UTC)

Month later, having the same error (the fix by Nestor_013 works).

Nestor_013 commented on 2024-05-26 08:27 (UTC) (edited on 2024-05-26 08:27 (UTC) by Nestor_013)

It seems that gcc-14 is more strict about conversions from const pointers to pointers.

By commenting the const on line 1128 of mariadb_cursor.c like this

 /*const*/ char *statement;

it compiles. To me (but I could be wrong) the constness of *statement is not critical.

kiito commented on 2024-05-25 14:47 (UTC)

Hmm, I seems building with python 3.12 isn't an issue upstream. I'm currently unable to investigate myself but will try to see to it until next weekend.

ronengi commented on 2024-05-25 12:25 (UTC)

Can't Build package.

mariadb/mariadb_cursor.c: In function ‘MrdbCursor_execute_text’:
mariadb/mariadb_cursor.c:1138:39: error: passing argument 2 of ‘PyBytes_AsStringAndSize’ from incompatible pointer type [-Wincompatible-pointer-types]
 1138 |         PyBytes_AsStringAndSize(stmt, &statement, (Py_ssize_t *)&statement_len);
      |                                       ^~~~~~~~~~
      |                                       |
      |                                       const char **
In file included from /usr/include/python3.12/Python.h:50,
                 from ./include/mariadb_python.h:21,
                 from mariadb/mariadb_cursor.c:20:
/usr/include/python3.12/bytesobject.h:56:12: note: expected ‘char **’ but argument is of type ‘const char **’
   56 |     char **s,           /* pointer to buffer variable */
      |     ~~~~~~~^
error: command '/usr/bin/gcc' failed with exit code 1
==> ERROR: A failure occurred in build().
    Aborting...