motion: fix static linking of mysql with enabled libz library
PATCH 1/1 motion: fix static linking of mysql with enabled libz library
Fixes ([1]):
checking for mysql_init in -lmysqlclient... no
configure: error: MySQL support can't build without MySQL libraries
[1] http://autobuild.buildroot.net/results/6cf/6cf38698a2a9a041ff375c01ae8898eace17cfb2
---
Checked with motion 3.4.1 and 4.0.1.
--- ...c-use-given-CFLAGS-LIBS-for-mysqlclient-l.patch | 31 ++++++++++++++++++++++ package/motion/motion.mk | 6 ++++- 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 package/motion/0001-configure.ac-use-given-CFLAGS-LIBS-for-mysqlclient-l.patch
package/motion/0001-configure.ac-use-given-CFLAGS-LIBS-for-mysqlclient-l.patch new file +31 -0
@@ -0,0 +1,31 @@ +From 5a1081d36bf2861ffc882354c583a0eb6b0ee3d5 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer <[email protected]> +Date: Tue, 25 Oct 2016 21:27:41 +0200 +Subject: [PATCH] configure.ac: use given CFLAGS/LIBS for mysqlclient library + check + +Needed for static linking of mysql with enabled libz. + +Signed-off-by: Peter Seiderer <[email protected]> +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 5782fd6..aa5d9dd 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -618,8 +618,8 @@ else + #LDFLAGS="-L$MYSQL_LIBDIR" + saved_CFLAGS=$CFLAGS + saved_LIBS=$LIBS +- CFLAGS="-I$MYSQL_INCDIR" +- LIBS="-L$MYSQL_LIBDIR" ++ CFLAGS="-I$MYSQL_INCDIR $CFLAGS" ++ LIBS="-L$MYSQL_LIBDIR $LIBS" + AC_CHECK_LIB(mysqlclient,mysql_init,[ + TEMP_LIBS="$TEMP_LIBS -L$MYSQL_LIBDIR -lmysqlclient -lz" + TEMP_CFLAGS="$TEMP_CFLAGS -I$MYSQL_INCDIR" +-- +2.8.1 +
package/motion/motion.mk +5 -1
@@ -9,7 +9,7 @@ MOTION_SITE = $(call github,Motion-Project,motion,$(MOTION_VERSION)) MOTION_LICENSE = GPLv2 MOTION_LICENSE_FILES = COPYING MOTION_DEPENDENCIES = host-pkgconf jpeg -# From git +# From git and patched configure.ac MOTION_AUTORECONF = YES # motion does not use any specific function of jpeg-turbo, so just relies on
@@ -29,6 +29,10 @@ MOTION_CONF_OPTS += \ --with-mysql \ --with-mysql-include=$(STAGING_DIR)/usr/include/mysql \ --with-mysql-lib=$(STAGING_DIR)/usr/lib +# static link of mysql needs -lz +ifeq ($(BR2_STATIC_LIBS)$(BR2_PACKAGE_ZLIB),yy) +MOTION_CONF_ENV += LIBS="-lz" +endif else MOTION_CONF_OPTS += --without-mysql endif
Signature · 1 line
2.8.1
PATCH 1/1 motion: fix static linking of mysql with enabled libz library
Hello,
Quoted 8 lines · Peter Seiderer
Fixes ([1]):
checking for
mysql_initin -lmysqlclient... no
configure: error: MySQL support can't build without MySQL libraries[1] http://autobuild.buildroot.net/results/6cf/6cf38698a2a9a041ff375c01ae8898eace17cfb2
Signed-off-by Peter Seiderer <[email protected]>
Can I say how much I hate when packages don't use pkg-config ? :-)
Quoted 4 lines
package/motion/0001-configure.ac-use-given-CFLAGS-LIBS-for-mysqlclient-l.patch new file +4
-0+diff --git a/configure.ac b/configure.ac +index 5782fd6..aa5d9dd 100644 +--- a/configure.ac ++++ b/configure.ac
package/motion/0001-configure.ac-use-given-CFLAGS-LIBS-for-mysqlclient-l.patch line 27
Quoted 10 lines
package/motion/0001-configure.ac-use-given-CFLAGS-LIBS-for-mysqlclient-l.patch new file +10
-0+@@ -618,8 +618,8 @@ else + #LDFLAGS="-L$MYSQL_LIBDIR" + saved_CFLAGS=$CFLAGS + saved_LIBS=$LIBS +- CFLAGS="-I$MYSQL_INCDIR" +- LIBS="-L$MYSQL_LIBDIR" ++ CFLAGS="-I$MYSQL_INCDIR $CFLAGS" ++ LIBS="-L$MYSQL_LIBDIR $LIBS" + AC_CHECK_LIB(mysqlclient,mysql_init,[ + TEMP_LIBS="$TEMP_LIBS -L$MYSQL_LIBDIR -lmysqlclient -lz"
Isn't it already linking with -lz here ?
Why is an additional -lz needed ?
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
PATCH 1/1 motion: fix static linking of mysql with enabled libz library
Hello Thomas,
Quoted 32 lines · Thomas Petazzoni
Hello,
Quoted 8 lines · Peter Seiderer
Fixes ([1]):
checking for
mysql_initin -lmysqlclient... no
configure: error: MySQL support can't build without MySQL libraries[1] http://autobuild.buildroot.net/results/6cf/6cf38698a2a9a041ff375c01ae8898eace17cfb2
Signed-off-by Peter Seiderer <[email protected]>Can I say how much I hate when packages don't use pkg-config ? :-)
Quoted 4 lines
package/motion/0001-configure.ac-use-given-CFLAGS-LIBS-for-mysqlclient-l.patch new file +4
-0+diff --git a/configure.ac b/configure.ac +index 5782fd6..aa5d9dd 100644 +--- a/configure.ac ++++ b/configure.acpackage/motion/0001-configure.ac-use-given-CFLAGS-LIBS-for-mysqlclient-l.patch line 27
Quoted 10 lines
package/motion/0001-configure.ac-use-given-CFLAGS-LIBS-for-mysqlclient-l.patch new file +10
-0+@@ -618,8 +618,8 @@ else + #LDFLAGS="-L$MYSQL_LIBDIR" + saved_CFLAGS=$CFLAGS + saved_LIBS=$LIBS +- CFLAGS="-I$MYSQL_INCDIR" +- LIBS="-L$MYSQL_LIBDIR" ++ CFLAGS="-I$MYSQL_INCDIR $CFLAGS" ++ LIBS="-L$MYSQL_LIBDIR $LIBS" + AC_CHECK_LIB(mysqlclient,mysql_init,[ + TEMP_LIBS="$TEMP_LIBS -L$MYSQL_LIBDIR -lmysqlclient -lz"Isn't it already linking with -lz here ?
Quoted 1 line
Why is an additional -lz needed ?
No, the third argument of AC_CHECK_LIB is 'action-if-found', an additional library should be given as fifth argument (see[2]:
AC_CHECK_LIB (library, function, [action-if-found], [action-if-not-found], [other-libraries])
This -lz is only evaluated after the check (succeeds)...
Regards,
Peter
[2] https://www.gnu.org/software/autoconf/manual/autoconf-2.66/html_node/Libraries.html
Quoted 4 lines
Thanks,
Thomas
Thomas Petazzoni
AppliedPATCH 1/1 motion: fix static linking of mysql with enabled libz library
In reply to Peter SeidererHello,
Quoted 7 lines · Peter Seiderer
Fixes ([1]):
checking for
mysql_initin -lmysqlclient... no
configure: error: MySQL support can't build without MySQL libraries[1] http://autobuild.buildroot.net/results/6cf/6cf38698a2a9a041ff375c01ae8898eace17cfb2
Quoted 8 lines
Signed-off-by Peter Seiderer <[email protected]>---
Checked with motion 3.4.1 and 4.0.1.--- ...c-use-given-CFLAGS-LIBS-for-mysqlclient-l.patch | 31 ++++++++++++++++++++++ package/motion/motion.mk | 6 ++++- 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 package/motion/0001-configure.ac-use-given-CFLAGS-LIBS-for-mysqlclient-l.patch
Applied to master, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com