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));