Source: mariadb-connector-c
Version: 2.3.0-1
Severity: serious
Tags: patch

[ 38%] Building C object libmariadb/CMakeFiles/mariadb_obj.dir/my_context.c.o
cd /«PKGBUILDDIR»/obj-aarch64-linux-gnu/libmariadb && /usr/bin/cc
-DHAVE_OPENSSL -I/«PKGBUILDDIR»/obj-aarch64-linux-gnu/include
-I/«PKGBUILDDIR»/include -I/«PKGBUILDDIR»/libmariadb  -g -O2
-fstack-protector-strong -Wformat -Werror=format-security -Wdate-time
-D_FORTIFY_SOURCE=2  -Wunused -Wno-uninitialized   -D
ENABLED_LOCAL_INFILE -D HAVE_COMPRESS -D LIBMARIADB -D THREAD -fPIC -o
CMakeFiles/mariadb_obj.dir/my_context.c.o   -c
/«PKGBUILDDIR»/libmariadb/my_context.c
/«PKGBUILDDIR»/libmariadb/my_context.c: In function 'my_context_init':
/«PKGBUILDDIR»/libmariadb/my_context.c:129:11: error: missing binary
operator before token "("
 #if sizeof(char *) > SIZEOF_INT*2
           ^
libmariadb/CMakeFiles/mariadb_obj.dir/build.make:929: recipe for
target 'libmariadb/CMakeFiles/mariadb_obj.dir/my_context.c.o' failed
make[3]: *** [libmariadb/CMakeFiles/mariadb_obj.dir/my_context.c.o] Error 1
make[3]: Leaving directory '/«PKGBUILDDIR»/obj-aarch64-linux-gnu'
CMakeFiles/Makefile2:340: recipe for target
'libmariadb/CMakeFiles/mariadb_obj.dir/all' failed
make[2]: *** [libmariadb/CMakeFiles/mariadb_obj.dir/all] Error 2
make[2]: Leaving directory '/«PKGBUILDDIR»/obj-aarch64-linux-gnu'
Makefile:152: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/«PKGBUILDDIR»/obj-aarch64-linux-gnu'
dh_auto_build: make -j1 returned exit code 2
debian/rules:6: recipe for target 'build-arch' failed
make: *** [build-arch] Error 2
dpkg-buildpackage: error: debian/rules build-arch gave error exit status 2

I have a simple patch changing sizeof(char *) to SIZEOF_CHARP (already
exists in cmake/CheckTypes.cmake), which I'll push to git once I get
the bug number to put into debian/changelog.  I've tested that fixes
the build at least on x32.
-- 
Daniel Schepler
Index: mariadb-client-lgpl/libmariadb/my_context.c
===================================================================
--- mariadb-client-lgpl.orig/libmariadb/my_context.c
+++ mariadb-client-lgpl/libmariadb/my_context.c
@@ -126,7 +126,7 @@ my_context_yield(struct my_context *c)
 int
 my_context_init(struct my_context *c, size_t stack_size)
 {
-#if sizeof(char *) > SIZEOF_INT*2
+#if SIZEOF_CHARP > SIZEOF_INT*2
 #error Error: Unable to store pointer in 2 ints on this architecture
 #endif
   bzero(c, sizeof(*c));

Reply via email to