Details
-
Bug
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
10.4.8
-
None
-
None
-
None
-
Buildroot
Description
When trying to build rsyslog with mysql support via mariadb, the build will fail because it can not get the cflags from mysql_config. It fails to get the cflags because mysql_config is calling mariadb_config which is compiled for the target architecture and not the host that is performing the build.
Error shown by mysql_config
jmbents@bacon:~/rclinux/target_build/apm86290_common_platform_debug_defconfig$ /accts/jmbents/rclinux/target_build/apm86290_common_platform_debug_defconfig/host/powerpc-buildroot-linux-gnu/sysroot/usr/bin/mysql_config --cflags
/accts/jmbents/rclinux/target_build/apm86290_common_platform_debug_defconfig/host/powerpc-buildroot-linux-gnu/sysroot/usr/bin/mariadb_config: 1: /accts/jmbents/rclinux/target_build/apm86290_common_platform_debug_defconfig/host/powerpc-buildroot-linux-gnu/sysroot/usr/bin/mariadb_config: Syntax error: "(" unexpected
/accts/jmbents/rclinux/target_build/apm86290_common_platform_debug_defconfig/host/powerpc-buildroot-linux-gnu/sysroot/usr/bin/mariadb_config: 1: /accts/jmbents/rclinux/target_build/apm86290_common_platform_debug_defconfig/host/powerpc-buildroot-linux-gnu/sysroot/usr/bin/mariadb_config: Syntax error: "(" unexpected
/accts/jmbents/rclinux/target_build/apm86290_common_platform_debug_defconfig/host/powerpc-buildroot-linux-gnu/sysroot/usr/bin/mariadb_config: 1: /accts/jmbents/rclinux/target_build/apm86290_common_platform_debug_defconfig/host/powerpc-buildroot-linux-gnu/sysroot/usr/bin/mariadb_config: Syntax error: "(" unexpected
/accts/jmbents/rclinux/target_build/apm86290_common_platform_debug_defconfig/host/powerpc-buildroot-linux-gnu/sysroot/usr/bin/mariadb_config: 1: /accts/jmbents/rclinux/target_build/apm86290_common_platform_debug_defconfig/host/powerpc-buildroot-linux-gnu/sysroot/usr/bin/mariadb_config: Syntax error: "(" unexpected
/accts/jmbents/rclinux/target_build/apm86290_common_platform_debug_defconfig/host/powerpc-buildroot-linux-gnu/sysroot/usr/bin/mariadb_config: 1: /accts/jmbents/rclinux/target_build/apm86290_common_platform_debug_defconfig/host/powerpc-buildroot-linux-gnu/sysroot/usr/bin/mariadb_config: Syntax error: "(" unexpected
/accts/jmbents/rclinux/target_build/apm86290_common_platform_debug_defconfig/host/powerpc-buildroot-linux-gnu/sysroot/usr/bin/mariadb_config: 1: /accts/jmbents/rclinux/target_build/apm86290_common_platform_debug_defconfig/host/powerpc-buildroot-linux-gnu/sysroot/usr/bin/mariadb_config: Syntax error: "(" unexpected
/accts/jmbents/rclinux/target_build/apm86290_common_platform_debug_defconfig/host/powerpc-buildroot-linux-gnu/sysroot/usr/bin/mariadb_config: 1: /accts/jmbents/rclinux/target_build/apm86290_common_platform_debug_defconfig/host/powerpc-buildroot-linux-gnu/sysroot/usr/bin/mariadb_config: Syntax error: "(" unexpected
Error shown by mysql_config when run as bash
jmbents@bacon:~/rclinux/target_build/apm86290_common_platform_debug_defconfig$ bash /accts/jmbents/rclinux/target_build/apm86290_common_platform_debug_defconfig/host/powerpc-buildroot-linux-gnu/sysroot/usr/bin/mysql_config --cflags
/accts/jmbents/rclinux/target_build/apm86290_common_platform_debug_defconfig/host/powerpc-buildroot-linux-gnu/sysroot/usr/bin/mysql_config: line 100: /accts/jmbents/rclinux/target_build/apm86290_common_platform_debug_defconfig/host/powerpc-buildroot-linux-gnu/sysroot/usr/bin/mariadb_config: cannot execute binary file: Exec format error
/accts/jmbents/rclinux/target_build/apm86290_common_platform_debug_defconfig/host/powerpc-buildroot-linux-gnu/sysroot/usr/bin/mysql_config: line 101: /accts/jmbents/rclinux/target_build/apm86290_common_platform_debug_defconfig/host/powerpc-buildroot-linux-gnu/sysroot/usr/bin/mariadb_config: cannot execute binary file: Exec format error
/accts/jmbents/rclinux/target_build/apm86290_common_platform_debug_defconfig/host/powerpc-buildroot-linux-gnu/sysroot/usr/bin/mysql_config: line 102: /accts/jmbents/rclinux/target_build/apm86290_common_platform_debug_defconfig/host/powerpc-buildroot-linux-gnu/sysroot/usr/bin/mariadb_config: cannot execute binary file: Exec format error
/accts/jmbents/rclinux/target_build/apm86290_common_platform_debug_defconfig/host/powerpc-buildroot-linux-gnu/sysroot/usr/bin/mysql_config: line 103: /accts/jmbents/rclinux/target_build/apm86290_common_platform_debug_defconfig/host/powerpc-buildroot-linux-gnu/sysroot/usr/bin/mariadb_config: cannot execute binary file: Exec format error
/accts/jmbents/rclinux/target_build/apm86290_common_platform_debug_defconfig/host/powerpc-buildroot-linux-gnu/sysroot/usr/bin/mysql_config: line 104: /accts/jmbents/rclinux/target_build/apm86290_common_platform_debug_defconfig/host/powerpc-buildroot-linux-gnu/sysroot/usr/bin/mariadb_config: cannot execute binary file: Exec format error
/accts/jmbents/rclinux/target_build/apm86290_common_platform_debug_defconfig/host/powerpc-buildroot-linux-gnu/sysroot/usr/bin/mysql_config: line 105: /accts/jmbents/rclinux/target_build/apm86290_common_platform_debug_defconfig/host/powerpc-buildroot-linux-gnu/sysroot/usr/bin/mariadb_config: cannot execute binary file: Exec format error
/accts/jmbents/rclinux/target_build/apm86290_common_platform_debug_defconfig/host/powerpc-buildroot-linux-gnu/sysroot/usr/bin/mysql_config: line 106: /accts/jmbents/rclinux/target_build/apm86290_common_platform_debug_defconfig/host/powerpc-buildroot-linux-gnu/sysroot/usr/bin/mariadb_config: cannot execute binary file: Exec format error
output showing mariadb_config is compiled for powerpc (host is x86)
jmbents@bacon:~/rclinux/target_build/apm86290_common_platform_debug_defconfig$ file /accts/jmbents/rclinux/target_build/apm86290_common_platform_debug_defconfig/host/powerpc-buildroot-linux-gnu/sysroot/usr/bin/mariadb_config
/accts/jmbents/rclinux/target_build/apm86290_common_platform_debug_defconfig/host/powerpc-buildroot-linux-gnu/sysroot/usr/bin/mariadb_config: ELF 32-bit MSB shared object, PowerPC or cisco 4500, version 1 (SYSV), dynamically linked, interpreter /lib/ld., for GNU/Linux 4.9.0, not stripped
Makefile of rsyslog missing mysql_cflags due to error
jmbents@bacon:~/rclinux/target_build/apm86290_common_platform_debug_defconfig$ grep -r -n "MYSQL" build/rsyslog-8.22.0/Makefile
411:MYSQL_CFLAGS =
412:MYSQL_CONFIG = /accts/jmbents/rclinux/target_build/apm86290_common_platform_debug_defconfig/host/powerpc-buildroot-linux-gnu/sysroot/usr/bin/mysql_config
413:MYSQL_LIBS =
This issue is avoided in oracle mysql by having mysql_config be a standalone script instead of wrapping around a c app that's been compiled for the target.