kumquat-buildroot/package/linknx/0001-fix-static-build-with-mysql.patch

48 lines
3.6 KiB
Diff
Raw Normal View History

Fix static build with mysql
When building static binaries, the order of libraries in the link command line
is significant. Use $LIBS for mysql libraries, so that mysql appear after the
object files that depends on it. This fixes build failures like the following.
/home/buildroot/build/instance-1/output/host/usr/bin/arm-linux-g++ -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -static -static -I/home/buildroot/build/instance-1/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/mysql -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -static -DUNIV_LINUX -DUNIV_LINUX -static -static -rdynamic -L/home/buildroot/build/instance-1/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib -lmysqlclient_r -lz -lpthread -lcrypt -lnsl -lm -lpthread -o linknx linknx.o logger.o ruleserver.o objectcontroller.o eibclient.o threads.o timermanager.o persistentstorage.o xmlserver.o smsgateway.o emailgateway.o knxconnection.o services.o suncalc.o luacondition.o ioport.o ../ticpp/libticpp.a -L/home/buildroot/build/instance-1/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib -lpthsem -lm -largp
persistentstorage.o: In function `MysqlPersistentStorage::~MysqlPersistentStorage()':
persistentstorage.cpp:(.text+0x2c): undefined reference to `mysql_close'
persistentstorage.o: In function `MysqlPersistentStorage::MysqlPersistentStorage(ticpp::Element*)':
persistentstorage.cpp:(.text+0x518): undefined reference to `mysql_init'
persistentstorage.cpp:(.text+0x570): undefined reference to `mysql_options'
persistentstorage.cpp:(.text+0x5a8): undefined reference to `mysql_real_connect'
persistentstorage.cpp:(.text+0x5c0): undefined reference to `mysql_options'
persistentstorage.cpp:(.text+0x618): undefined reference to `mysql_error'
persistentstorage.cpp:(.text+0x6c0): undefined reference to `mysql_options'
persistentstorage.o: In function `MysqlPersistentStorage::write(std::string const&, std::string const&)':
persistentstorage.cpp:(.text+0xb70): undefined reference to `mysql_real_query'
persistentstorage.cpp:(.text+0xbcc): undefined reference to `mysql_error'
persistentstorage.o: In function `MysqlPersistentStorage::read(std::string const&, std::string const&)':
persistentstorage.cpp:(.text+0xd14): undefined reference to `mysql_real_query'
persistentstorage.cpp:(.text+0xd38): undefined reference to `mysql_store_result'
persistentstorage.cpp:(.text+0xd40): undefined reference to `mysql_num_rows'
persistentstorage.cpp:(.text+0xd50): undefined reference to `mysql_fetch_row'
persistentstorage.cpp:(.text+0xd68): undefined reference to `mysql_free_result'
persistentstorage.cpp:(.text+0xdc8): undefined reference to `mysql_error'
persistentstorage.o: In function `MysqlPersistentStorage::writelog(std::string const&, std::string const&)':
persistentstorage.cpp:(.text+0xf74): undefined reference to `mysql_real_query'
persistentstorage.cpp:(.text+0xfd0): undefined reference to `mysql_error'
collect2: error: ld returned 1 exit status
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
---
Patch status: sent to jef2000@users.sourceforge.net
diff -Nuar linknx-0.0.1.32-orig/acinclude.m4 linknx-0.0.1.32/acinclude.m4
--- linknx-0.0.1.32-orig/acinclude.m4 2011-01-09 16:47:32.000000000 +0200
+++ linknx-0.0.1.32/acinclude.m4 2016-03-15 12:41:19.983861719 +0200
@@ -36,7 +36,7 @@
CFLAGS="$CFLAGS $ADDFLAGS"
CXXFLAGS="$CXXFLAGS $ADDFLAGS"
- LDFLAGS="$LDFLAGS "`$MYSQL_CONFIG --libs_r`
+ LIBS="$LIBS "`$MYSQL_CONFIG --libs_r`
AC_MSG_RESULT($MYSQL_CONFIG)
AC_DEFINE([HAVE_MYSQL], [1], [Build with MySQL support.])