[Buildroot] [PATCH 1/2] xstroke: fix link issue

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Tue Dec 18 20:20:42 UTC 2012


The allyespackageconfig builds have trigerred a link issue on
xstroke. In fact, xstroke must be linked against Xrender, Xext and dl
in addition to the other libraries it was already be linked
against. We fix that by adding a patch that modifies configure.ac and
Makefile.am, and enabling autoreconf for this package.

In addition, since xstroke uses directly Xrender and Xext, we add
those dependencies to the package. In practice, it doesn't change
anything, since some of the xstroke dependencies were already pulling
those libraries, but as xstroke uses directly Xrender and Xext, it
makes sense to have them as dependencies as well.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
---
 package/xstroke/Config.in                     |    2 ++
 package/xstroke/xstroke-fix-link-issues.patch |   35 +++++++++++++++++++++++++
 package/xstroke/xstroke.mk                    |    3 ++-
 3 files changed, 39 insertions(+), 1 deletion(-)
 create mode 100644 package/xstroke/xstroke-fix-link-issues.patch

diff --git a/package/xstroke/Config.in b/package/xstroke/Config.in
index 54cb38e..1269934 100644
--- a/package/xstroke/Config.in
+++ b/package/xstroke/Config.in
@@ -4,6 +4,8 @@ config BR2_PACKAGE_XSTROKE
 	select BR2_PACKAGE_XLIB_LIBXFT
 	select BR2_PACKAGE_XLIB_LIBXTST
 	select BR2_PACKAGE_XLIB_LIBXPM
+	select BR2_PACKAGE_XLIB_LIBXRENDER
+	select BR2_PACKAGE_XLIB_LIBXEXT
 	help
 	  Handwriting recognition for X
 
diff --git a/package/xstroke/xstroke-fix-link-issues.patch b/package/xstroke/xstroke-fix-link-issues.patch
new file mode 100644
index 0000000..9a6d71e
--- /dev/null
+++ b/package/xstroke/xstroke-fix-link-issues.patch
@@ -0,0 +1,35 @@
+Fix link issues by linking against all needed libraries
+
+Since gcc 4.6, all libraries that are directly used must be explicitly
+passed on the command line. In the case of xstroke, linking against
+Xrender, Xext and dl was missing. For the first two, they are added
+through addition PKG_CHECK_MODULES() checks, for the latter, it is
+added next to -lm and -lpthread in Makefile.am.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
+Index: b/Makefile.am
+===================================================================
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -40,7 +40,7 @@
+ BUILT_SOURCES = rec_parse.h rec_lex.h rec_lex.c
+ AM_YFLAGS = -d
+ 
+-xstroke_LDADD = @XSTROKE_LIBS@ -lm -lpthread $(X_LIBS) -lXpm -lXtst
++xstroke_LDADD = @XSTROKE_LIBS@ -ldl -lm -lpthread $(X_LIBS) -lXpm -lXtst
+ AM_CFLAGS = @XSTROKE_CFLAGS@ -DXSTROKE_CONF_DIR='"$(sysconfdir)/xstroke"' $(X_CFLAGS)
+ 
+ EXTRA_DIST = xstroke_active.xpm xstroke_inactive.xpm etc/alphabet
+Index: b/configure.ac
+===================================================================
+--- a/configure.ac
++++ b/configure.ac
+@@ -26,7 +26,7 @@
+ AC_CHECK_FUNCS([gettimeofday localtime_r])
+ 
+ AC_PATH_XTRA
+-PKG_CHECK_MODULES(XSTROKE, xft)
++PKG_CHECK_MODULES(XSTROKE, [xft xrender xext])
+ 
+ AC_CONFIG_FILES([Makefile])
+ AC_OUTPUT
diff --git a/package/xstroke/xstroke.mk b/package/xstroke/xstroke.mk
index 3459545..83f347d 100644
--- a/package/xstroke/xstroke.mk
+++ b/package/xstroke/xstroke.mk
@@ -7,7 +7,8 @@ XSTROKE_VERSION = 0.6
 XSTROKE_SOURCE = xstroke-$(XSTROKE_VERSION).tar.gz
 XSTROKE_SITE = http://mirror.egtvedt.no/avr32linux.org/twiki/pub/Main/XStroke
 
-XSTROKE_DEPENDENCIES = xlib_libXft xlib_libXtst xlib_libXpm
+XSTROKE_DEPENDENCIES = xlib_libXft xlib_libXtst xlib_libXpm xlib_libXrender xlib_libXext
+XSTROKE_AUTORECONF = YES
 
 $(eval $(autotools-package))
 
-- 
1.7.9.5



More information about the buildroot mailing list